From 29706339ef0f4d962940c1899e134bde3f6ef7b4 Mon Sep 17 00:00:00 2001 From: woodser Date: Mon, 15 May 2023 17:10:01 -0400 Subject: [PATCH] add gold and silver, refactor money types to traditional and crypto --- apitest/scripts/trade-xmr-simulation.sh | 2 +- .../payment/AbstractPaymentAccountTest.java | 10 +- .../payment/CreatePaymentAccountTest.java | 10 +- .../bot/protocol/MakerBotProtocol.java | 4 +- .../bot/protocol/TakerBotProtocol.java | 4 +- .../haveno/asset/AddressValidationResult.java | 4 +- ...imer.java => CryptoAccountDisclaimer.java} | 4 +- .../asset/LiquidBitcoinAddressValidator.java | 2 +- .../main/java/haveno/asset/coins/Monero.java | 4 +- .../main/java/haveno/asset/package-info.java | 2 +- .../i18n/displayStrings-assets.properties | 14 +- .../haveno/cli/ColumnHeaderConstants.java | 2 +- ...CryptoCurrencyPaymentAcctOptionParser.java | 2 +- .../table/builder/AbstractTableBuilder.java | 2 +- .../builder/AbstractTradeListBuilder.java | 32 +-- .../cli/table/builder/OfferTableBuilder.java | 54 ++-- .../table/builder/TableBuilderConstants.java | 4 +- .../builder/TradeDetailTableBuilder.java | 8 +- .../builder/TradeTableColumnSupplier.java | 38 +-- ...umeColumn.java => CryptoVolumeColumn.java} | 16 +- .../haveno/cli/table/column/FiatColumn.java | 84 ------ .../test/java/haveno/cli/AbstractCliTest.java | 4 +- .../haveno/cli/EditXmrOffersSmokeTest.java | 16 +- .../witness/AccountAgeWitnessService.java | 8 +- .../haveno/core/api/CoreOffersService.java | 10 +- .../core/api/CorePaymentAccountsService.java | 2 +- .../haveno/core/api/CorePriceService.java | 12 +- .../java/haveno/core/api/model/OfferInfo.java | 4 +- .../haveno/core/locale/CurrencyTuple.java | 7 +- .../java/haveno/core/locale/CurrencyUtil.java | 134 +++++----- .../haveno/core/locale/GlobalSettings.java | 4 +- .../haveno/core/locale/TradeCurrency.java | 4 +- ...Currency.java => TraditionalCurrency.java} | 16 +- ...hangeRate.java => CryptoExchangeRate.java} | 46 ++-- .../{Altcoin.java => CryptoMoney.java} | 48 ++-- .../haveno/core/monetary/MonetaryWrapper.java | 6 +- .../main/java/haveno/core/monetary/Price.java | 54 ++-- .../monetary/TraditionalExchangeRate.java | 98 +++++++ .../core/monetary/TraditionalMoney.java | 243 ++++++++++++++++++ .../java/haveno/core/monetary/Volume.java | 11 +- .../alerts/market/MarketAlerts.java | 20 +- .../alerts/price/PriceAlert.java | 6 +- .../main/java/haveno/core/offer/Offer.java | 14 +- .../haveno/core/offer/OfferFilterService.java | 4 +- .../java/haveno/core/offer/OfferForJson.java | 51 ++-- .../java/haveno/core/offer/OfferPayload.java | 8 +- .../java/haveno/core/offer/OfferUtil.java | 12 +- .../core/offer/TriggerPriceService.java | 19 +- .../core/payment/AchTransferAccount.java | 4 +- .../core/payment/AdvancedCashAccount.java | 16 +- .../haveno/core/payment/AliPayAccount.java | 4 +- .../core/payment/AmazonGiftCardAccount.java | 24 +- .../core/payment/AustraliaPayidAccount.java | 4 +- .../haveno/core/payment/BizumAccount.java | 4 +- .../haveno/core/payment/CapitualAccount.java | 10 +- .../haveno/core/payment/CashAppAccount.java | 4 +- .../core/payment/CashByMailAccount.java | 2 +- .../core/payment/CashDepositAccount.java | 2 +- .../haveno/core/payment/CelPayAccount.java | 12 +- .../core/payment/ChaseQuickPayAccount.java | 4 +- .../payment/DomesticWireTransferAccount.java | 4 +- .../java/haveno/core/payment/F2FAccount.java | 2 +- .../core/payment/FasterPaymentsAccount.java | 4 +- .../haveno/core/payment/HalCashAccount.java | 4 +- .../haveno/core/payment/IfscBasedAccount.java | 4 +- .../java/haveno/core/payment/ImpsAccount.java | 4 +- .../core/payment/InteracETransferAccount.java | 4 +- .../haveno/core/payment/JapanBankAccount.java | 4 +- .../haveno/core/payment/MoneseAccount.java | 8 +- .../haveno/core/payment/MoneyBeamAccount.java | 4 +- .../haveno/core/payment/MoneyGramAccount.java | 98 +++---- .../core/payment/NationalBankAccount.java | 2 +- .../haveno/core/payment/NequiAccount.java | 4 +- .../haveno/core/payment/OKPayAccount.java | 48 ++-- .../haveno/core/payment/PaxumAccount.java | 38 +-- .../payment/PaymentAccountTypeAdapter.java | 4 +- .../core/payment/PaymentAccountUtil.java | 2 +- .../haveno/core/payment/PayseraAccount.java | 66 ++--- .../core/payment/PerfectMoneyAccount.java | 4 +- .../java/haveno/core/payment/PixAccount.java | 4 +- .../haveno/core/payment/PopmoneyAccount.java | 4 +- .../haveno/core/payment/PromptPayAccount.java | 4 +- .../haveno/core/payment/RevolutAccount.java | 64 ++--- .../haveno/core/payment/SameBankAccount.java | 2 +- .../haveno/core/payment/SatispayAccount.java | 4 +- .../java/haveno/core/payment/SepaAccount.java | 4 +- .../core/payment/SepaInstantAccount.java | 4 +- .../core/payment/SpecificBanksAccount.java | 2 +- .../haveno/core/payment/StrikeAccount.java | 4 +- .../haveno/core/payment/SwiftAccount.java | 4 +- .../haveno/core/payment/SwishAccount.java | 4 +- .../haveno/core/payment/TikkieAccount.java | 4 +- .../core/payment/TransferwiseAccount.java | 86 +++---- .../core/payment/TransferwiseUsdAccount.java | 4 +- .../payment/USPostalMoneyOrderAccount.java | 4 +- .../haveno/core/payment/UpholdAccount.java | 48 ++-- .../haveno/core/payment/VenmoAccount.java | 4 +- .../haveno/core/payment/VerseAccount.java | 12 +- .../haveno/core/payment/WeChatPayAccount.java | 4 +- .../core/payment/WesternUnionAccount.java | 2 +- .../haveno/core/payment/ZelleAccount.java | 4 +- .../payment/payload/AssetAccountPayload.java | 2 +- .../core/payment/payload/PaymentMethod.java | 16 +- ...dator.java => CryptoAddressValidator.java} | 4 +- .../core/provider/price/PriceFeedService.java | 6 +- .../core/support/dispute/DisputeManager.java | 10 +- .../core/trade/ClosedTradableFormatter.java | 8 +- .../core/trade/ClosedTradableManager.java | 13 - .../java/haveno/core/trade/TradeUtil.java | 4 +- .../protocol/tasks/MakerSetLockTime.java | 2 +- .../tasks/VerifyPeersAccountAgeWitness.java | 2 +- .../trade/statistics/TradeStatistics3.java | 20 +- .../statistics/TradeStatisticsForJson.java | 7 +- .../statistics/TradeStatisticsManager.java | 8 +- .../java/haveno/core/user/Preferences.java | 42 +-- .../haveno/core/user/PreferencesPayload.java | 14 +- .../haveno/core/util/AveragePriceUtil.java | 14 +- .../haveno/core/util/FormattingUtils.java | 66 ++--- .../main/java/haveno/core/util/PriceUtil.java | 28 +- .../java/haveno/core/util/VolumeUtil.java | 38 +-- .../util/validation/MonetaryValidator.java | 4 +- ...idator.java => NonFiatPriceValidator.java} | 6 +- .../haveno/core/xmr/wallet/Restrictions.java | 2 +- .../resources/i18n/displayStrings.properties | 126 ++++----- .../i18n/displayStrings_cs.properties | 132 +++++----- .../i18n/displayStrings_de.properties | 130 +++++----- .../i18n/displayStrings_es.properties | 130 +++++----- .../i18n/displayStrings_fa.properties | 124 ++++----- .../i18n/displayStrings_fr.properties | 130 +++++----- .../i18n/displayStrings_it.properties | 132 +++++----- .../i18n/displayStrings_ja.properties | 106 ++++---- .../i18n/displayStrings_pt-br.properties | 132 +++++----- .../i18n/displayStrings_pt.properties | 132 +++++----- .../i18n/displayStrings_ru.properties | 120 ++++----- .../i18n/displayStrings_th.properties | 132 +++++----- .../i18n/displayStrings_vi.properties | 132 +++++----- .../i18n/displayStrings_zh-hans.properties | 112 ++++---- .../i18n/displayStrings_zh-hant.properties | 112 ++++---- ...t.java => CryptoAddressValidatorTest.java} | 4 +- .../haveno/core/user/PreferencesTest.java | 40 +-- .../haveno/core/util/FormattingUtilsTest.java | 5 +- .../components/PeerInfoIconTrading.java | 12 +- .../components/paymentmethods/AssetsForm.java | 26 +- .../components/paymentmethods/BankForm.java | 4 +- .../paymentmethods/CashByMailForm.java | 2 +- .../paymentmethods/CashDepositForm.java | 4 +- .../components/paymentmethods/F2FForm.java | 4 +- .../paymentmethods/PaymentMethodForm.java | 6 +- .../paymentmethods/PerfectMoneyForm.java | 4 +- .../paymentmethods/WesternUnionForm.java | 4 +- .../haveno/desktop/main/MainViewModel.java | 4 +- .../desktop/main/account/AccountView.fxml | 4 +- .../desktop/main/account/AccountView.java | 52 ++-- .../CryptoAccountsDataModel.java} | 18 +- .../CryptoAccountsView.fxml} | 2 +- .../CryptoAccountsView.java} | 22 +- .../CryptoAccountsViewModel.java} | 6 +- .../MobileNotificationsView.java | 8 +- .../TraditionalAccountsDataModel.java} | 16 +- .../TraditionalAccountsView.fxml} | 2 +- .../TraditionalAccountsView.java} | 10 +- .../TraditionalAccountsViewModel.java} | 6 +- .../offerbook/OfferBookChartViewModel.java | 16 +- .../main/market/spread/SpreadViewModel.java | 18 +- .../main/market/trades/ChartCalculations.java | 4 +- .../main/offer/MutableOfferDataModel.java | 12 +- .../desktop/main/offer/MutableOfferView.java | 24 +- .../main/offer/MutableOfferViewModel.java | 50 ++-- .../haveno/desktop/main/offer/OfferView.java | 64 ++--- .../desktop/main/offer/OfferViewUtil.java | 12 +- .../offer/createoffer/CreateOfferView.java | 14 +- .../createoffer/CreateOfferViewModel.java | 6 +- .../offer/offerbook/BtcOfferBookView.java | 4 +- .../offerbook/BtcOfferBookViewModel.java | 16 +- .../offer/offerbook/OfferBookListItem.java | 6 +- .../main/offer/offerbook/OfferBookView.java | 12 +- .../offer/offerbook/OfferBookViewModel.java | 6 +- .../offerbook/OtherOfferBookViewModel.java | 16 +- ...kView.fxml => TopCryptoOfferBookView.fxml} | 2 +- ...kView.java => TopCryptoOfferBookView.java} | 12 +- ....java => TopCryptoOfferBookViewModel.java} | 22 +- .../main/offer/takeoffer/TakeOfferView.java | 4 +- .../offer/takeoffer/TakeOfferViewModel.java | 16 +- .../overlays/windows/OfferDetailsWindow.java | 20 +- .../windows/SignPaymentAccountsWindow.java | 2 +- .../main/overlays/windows/TacWindow.java | 2 +- .../overlays/windows/TradeDetailsWindow.java | 18 +- .../DuplicateOfferViewModel.java | 6 +- .../editoffer/EditOfferViewModel.java | 6 +- .../steps/buyer/BuyerStep2View.java | 2 +- .../steps/buyer/BuyerStep4View.java | 4 +- .../steps/seller/SellerStep3View.java | 10 +- .../steps/seller/SellerStep4View.java | 2 +- .../presentation/MarketPricePresentation.java | 6 +- .../settings/preferences/PreferencesView.java | 90 +++---- .../main/support/dispute/DisputeView.java | 4 +- .../haveno/desktop/util/CurrencyList.java | 12 +- .../desktop/util/CurrencyPredicates.java | 4 +- .../haveno/desktop/util/DisplayUtils.java | 18 +- .../java/haveno/desktop/util/GUIUtil.java | 24 +- .../java/haveno/desktop/MarketsPrintTool.java | 20 +- .../trades/TradesChartsViewModelTest.java | 22 +- .../createoffer/CreateOfferDataModelTest.java | 14 +- .../createoffer/CreateOfferViewModelTest.java | 6 +- .../offerbook/OfferBookViewModelTest.java | 12 +- .../java/haveno/desktop/maker/PriceMaker.java | 16 +- .../desktop/maker/TradeCurrencyMakers.java | 10 +- .../haveno/desktop/maker/VolumeMaker.java | 16 +- .../haveno/desktop/util/CurrencyListTest.java | 14 +- proto/src/main/proto/pb.proto | 6 +- 210 files changed, 2629 insertions(+), 2373 deletions(-) rename assets/src/main/java/haveno/asset/{AltCoinAccountDisclaimer.java => CryptoAccountDisclaimer.java} (84%) rename cli/src/main/java/haveno/cli/table/column/{AltcoinVolumeColumn.java => CryptoVolumeColumn.java} (86%) delete mode 100644 cli/src/main/java/haveno/cli/table/column/FiatColumn.java rename core/src/main/java/haveno/core/locale/{FiatCurrency.java => TraditionalCurrency.java} (79%) rename core/src/main/java/haveno/core/monetary/{AltcoinExchangeRate.java => CryptoExchangeRate.java} (64%) rename core/src/main/java/haveno/core/monetary/{Altcoin.java => CryptoMoney.java} (76%) create mode 100644 core/src/main/java/haveno/core/monetary/TraditionalExchangeRate.java create mode 100644 core/src/main/java/haveno/core/monetary/TraditionalMoney.java rename core/src/main/java/haveno/core/payment/validation/{AltCoinAddressValidator.java => CryptoAddressValidator.java} (94%) rename core/src/main/java/haveno/core/util/validation/{AltcoinValidator.java => NonFiatPriceValidator.java} (85%) rename core/src/test/java/haveno/core/payment/validation/{AltCoinAddressValidatorTest.java => CryptoAddressValidatorTest.java} (93%) rename desktop/src/main/java/haveno/desktop/main/account/content/{altcoinaccounts/AltCoinAccountsDataModel.java => cryptoaccounts/CryptoAccountsDataModel.java} (91%) rename desktop/src/main/java/haveno/desktop/main/account/content/{fiataccounts/FiatAccountsView.fxml => cryptoaccounts/CryptoAccountsView.fxml} (96%) rename desktop/src/main/java/haveno/desktop/main/account/content/{altcoinaccounts/AltCoinAccountsView.java => cryptoaccounts/CryptoAccountsView.java} (92%) rename desktop/src/main/java/haveno/desktop/main/account/content/{fiataccounts/FiatAccountsViewModel.java => cryptoaccounts/CryptoAccountsViewModel.java} (89%) rename desktop/src/main/java/haveno/desktop/main/account/content/{fiataccounts/FiatAccountsDataModel.java => traditionalaccounts/TraditionalAccountsDataModel.java} (92%) rename desktop/src/main/java/haveno/desktop/main/account/content/{altcoinaccounts/AltCoinAccountsView.fxml => traditionalaccounts/TraditionalAccountsView.fxml} (96%) rename desktop/src/main/java/haveno/desktop/main/account/content/{fiataccounts/FiatAccountsView.java => traditionalaccounts/TraditionalAccountsView.java} (98%) rename desktop/src/main/java/haveno/desktop/main/account/content/{altcoinaccounts/AltCoinAccountsViewModel.java => traditionalaccounts/TraditionalAccountsViewModel.java} (88%) rename desktop/src/main/java/haveno/desktop/main/offer/offerbook/{TopAltcoinOfferBookView.fxml => TopCryptoOfferBookView.fxml} (97%) rename desktop/src/main/java/haveno/desktop/main/offer/offerbook/{TopAltcoinOfferBookView.java => TopCryptoOfferBookView.java} (80%) rename desktop/src/main/java/haveno/desktop/main/offer/offerbook/{TopAltcoinOfferBookViewModel.java => TopCryptoOfferBookViewModel.java} (89%) diff --git a/apitest/scripts/trade-xmr-simulation.sh b/apitest/scripts/trade-xmr-simulation.sh index dec6f6ed..655593c5 100755 --- a/apitest/scripts/trade-xmr-simulation.sh +++ b/apitest/scripts/trade-xmr-simulation.sh @@ -52,7 +52,7 @@ printbreak registerdisputeagents -# Demonstrate how to create an XMR altcoin payment account. +# Demonstrate how to create an XMR payment account. printdate "Create Alice's XMR Trading Payment Account." # Note: Having problems passing a double quoted --account-name param to function. diff --git a/apitest/src/test/java/haveno/apitest/method/payment/AbstractPaymentAccountTest.java b/apitest/src/test/java/haveno/apitest/method/payment/AbstractPaymentAccountTest.java index 57b26cf7..d7dcb57e 100644 --- a/apitest/src/test/java/haveno/apitest/method/payment/AbstractPaymentAccountTest.java +++ b/apitest/src/test/java/haveno/apitest/method/payment/AbstractPaymentAccountTest.java @@ -6,7 +6,7 @@ import com.google.gson.stream.JsonWriter; import haveno.apitest.method.MethodTest; import haveno.cli.GrpcClient; import haveno.core.api.model.PaymentAccountForm; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; import haveno.core.payment.PaymentAccount; @@ -168,11 +168,11 @@ public class AbstractPaymentAccountTest extends MethodTest { assertEquals(expectedCurrencyCode, paymentAccount.getSingleTradeCurrency().getCode()); } - protected final void verifyAccountTradeCurrencies(Collection expectedFiatCurrencies, + protected final void verifyAccountTradeCurrencies(Collection expectedTraditionalCurrencies, PaymentAccount paymentAccount) { assertNotNull(paymentAccount.getTradeCurrencies()); List expectedTradeCurrencies = new ArrayList<>() {{ - addAll(expectedFiatCurrencies); + addAll(expectedTraditionalCurrencies); }}; assertArrayEquals(expectedTradeCurrencies.toArray(), paymentAccount.getTradeCurrencies().toArray()); } @@ -206,8 +206,8 @@ public class AbstractPaymentAccountTest extends MethodTest { return jsonString; } - protected final String getCommaDelimitedFiatCurrencyCodes(Collection fiatCurrencies) { - return fiatCurrencies.stream() + protected final String getCommaDelimitedTraditionalCurrencyCodes(Collection traditionalCurrencies) { + return traditionalCurrencies.stream() .sorted(Comparator.comparing(TradeCurrency::getCode)) .map(c -> c.getCurrency().getCurrencyCode()) .collect(Collectors.joining(",")); diff --git a/apitest/src/test/java/haveno/apitest/method/payment/CreatePaymentAccountTest.java b/apitest/src/test/java/haveno/apitest/method/payment/CreatePaymentAccountTest.java index 89827da6..7aebb3a2 100644 --- a/apitest/src/test/java/haveno/apitest/method/payment/CreatePaymentAccountTest.java +++ b/apitest/src/test/java/haveno/apitest/method/payment/CreatePaymentAccountTest.java @@ -18,7 +18,7 @@ package haveno.apitest.method.payment; import haveno.cli.table.builder.TableBuilder; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.AdvancedCashAccount; import haveno.core.payment.AliPayAccount; @@ -78,7 +78,7 @@ import static haveno.apitest.config.ApiTestConfig.EUR; import static haveno.apitest.config.ApiTestConfig.USD; import static haveno.apitest.config.HavenoAppConfig.alicedaemon; import static haveno.cli.table.builder.TableType.PAYMENT_ACCOUNT_TBL; -import static haveno.core.locale.CurrencyUtil.getAllSortedFiatCurrencies; +import static haveno.core.locale.CurrencyUtil.getAllSortedTraditionalCurrencies; import static haveno.core.locale.CurrencyUtil.getTradeCurrency; import static haveno.core.payment.payload.PaymentMethod.ADVANCED_CASH_ID; import static haveno.core.payment.payload.PaymentMethod.ALI_PAY_ID; @@ -844,9 +844,9 @@ public class CreatePaymentAccountTest extends AbstractPaymentAccountTest { PROPERTY_NAME_BANK_SWIFT_CODE); COMPLETED_FORM_MAP.put(PROPERTY_NAME_PAYMENT_METHOD_ID, SWIFT_ID); COMPLETED_FORM_MAP.put(PROPERTY_NAME_ACCOUNT_NAME, "IT Swift Acct w/ DE Intermediary"); - Collection swiftCurrenciesSortedByCode = getAllSortedFiatCurrencies(comparing(TradeCurrency::getCode)); - String allFiatCodes = getCommaDelimitedFiatCurrencyCodes(swiftCurrenciesSortedByCode); - COMPLETED_FORM_MAP.put(PROPERTY_NAME_TRADE_CURRENCIES, allFiatCodes); + Collection swiftCurrenciesSortedByCode = getAllSortedTraditionalCurrencies(comparing(TradeCurrency::getCode)); + String allTraditionalCodes = getCommaDelimitedTraditionalCurrencyCodes(swiftCurrenciesSortedByCode); + COMPLETED_FORM_MAP.put(PROPERTY_NAME_TRADE_CURRENCIES, allTraditionalCodes); COMPLETED_FORM_MAP.put(PROPERTY_NAME_SELECTED_TRADE_CURRENCY, EUR); COMPLETED_FORM_MAP.put(PROPERTY_NAME_BANK_SWIFT_CODE, "PASCITMMFIR"); COMPLETED_FORM_MAP.put(PROPERTY_NAME_BANK_COUNTRY_CODE, "IT"); diff --git a/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/MakerBotProtocol.java b/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/MakerBotProtocol.java index 29d50583..bc3f55e4 100644 --- a/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/MakerBotProtocol.java +++ b/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/MakerBotProtocol.java @@ -45,10 +45,10 @@ public class MakerBotProtocol extends BotProtocol { var trade = makeTrade.apply(randomOffer); var makerIsBuyer = trade.getOffer().getDirection().equalsIgnoreCase(BUY); - Function completeFiatTransaction = makerIsBuyer + Function completeTraditionalTransaction = makerIsBuyer ? sendPaymentSentMessage.andThen(waitForPaymentReceivedConfirmation) : waitForPaymentSentMessage.andThen(sendPaymentReceivedMessage); - completeFiatTransaction.apply(trade); + completeTraditionalTransaction.apply(trade); currentProtocolStep = DONE; } diff --git a/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/TakerBotProtocol.java b/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/TakerBotProtocol.java index 8a28b764..3f5e02ee 100644 --- a/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/TakerBotProtocol.java +++ b/apitest/src/test/java/haveno/apitest/scenario/bot/protocol/TakerBotProtocol.java @@ -45,10 +45,10 @@ public class TakerBotProtocol extends BotProtocol { var trade = takeTrade.apply(findOffer.get()); var takerIsSeller = trade.getOffer().getDirection().equalsIgnoreCase(BUY); - Function completeFiatTransaction = takerIsSeller + Function completeTraditionalTransaction = takerIsSeller ? waitForPaymentSentMessage.andThen(sendPaymentReceivedMessage) : sendPaymentSentMessage.andThen(waitForPaymentReceivedConfirmation); - completeFiatTransaction.apply(trade); + completeTraditionalTransaction.apply(trade); currentProtocolStep = DONE; } diff --git a/assets/src/main/java/haveno/asset/AddressValidationResult.java b/assets/src/main/java/haveno/asset/AddressValidationResult.java index 80574e5b..a5d0153b 100644 --- a/assets/src/main/java/haveno/asset/AddressValidationResult.java +++ b/assets/src/main/java/haveno/asset/AddressValidationResult.java @@ -60,7 +60,7 @@ public class AddressValidationResult { } public static AddressValidationResult invalidAddress(String cause) { - return invalidAddress(cause, "validation.altcoin.invalidAddress"); + return invalidAddress(cause, "validation.crypto.invalidAddress"); } public static AddressValidationResult invalidAddress(String cause, String i18nKey) { @@ -68,6 +68,6 @@ public class AddressValidationResult { } public static AddressValidationResult invalidStructure() { - return invalidAddress("", "validation.altcoin.wrongStructure"); + return invalidAddress("", "validation.crypto.wrongStructure"); } } diff --git a/assets/src/main/java/haveno/asset/AltCoinAccountDisclaimer.java b/assets/src/main/java/haveno/asset/CryptoAccountDisclaimer.java similarity index 84% rename from assets/src/main/java/haveno/asset/AltCoinAccountDisclaimer.java rename to assets/src/main/java/haveno/asset/CryptoAccountDisclaimer.java index 49ffa93d..3c49f41e 100644 --- a/assets/src/main/java/haveno/asset/AltCoinAccountDisclaimer.java +++ b/assets/src/main/java/haveno/asset/CryptoAccountDisclaimer.java @@ -14,10 +14,10 @@ import java.lang.annotation.Target; */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) -public @interface AltCoinAccountDisclaimer { +public @interface CryptoAccountDisclaimer { /** - * Translation key of the message to show, i.e. "account.altcoin.popup.xmr.msg" + * Translation key of the message to show, i.e. "account.crypto.popup.xmr.msg" * @return translation key */ String value(); diff --git a/assets/src/main/java/haveno/asset/LiquidBitcoinAddressValidator.java b/assets/src/main/java/haveno/asset/LiquidBitcoinAddressValidator.java index 48e5b5e2..87c967c5 100644 --- a/assets/src/main/java/haveno/asset/LiquidBitcoinAddressValidator.java +++ b/assets/src/main/java/haveno/asset/LiquidBitcoinAddressValidator.java @@ -4,6 +4,6 @@ public class LiquidBitcoinAddressValidator extends RegexAddressValidator { static private final String REGEX = "^([a-km-zA-HJ-NP-Z1-9]{26,35}|[a-km-zA-HJ-NP-Z1-9]{80}|[a-z]{2,5}1[ac-hj-np-z02-9]{8,87}|[A-Z]{2,5}1[AC-HJ-NP-Z02-9]{8,87})$"; public LiquidBitcoinAddressValidator() { - super(REGEX, "validation.altcoin.liquidBitcoin.invalidAddress"); + super(REGEX, "validation.crypto.liquidBitcoin.invalidAddress"); } } diff --git a/assets/src/main/java/haveno/asset/coins/Monero.java b/assets/src/main/java/haveno/asset/coins/Monero.java index 2ff1d7d4..4fa408f1 100644 --- a/assets/src/main/java/haveno/asset/coins/Monero.java +++ b/assets/src/main/java/haveno/asset/coins/Monero.java @@ -17,11 +17,11 @@ package haveno.asset.coins; -import haveno.asset.AltCoinAccountDisclaimer; +import haveno.asset.CryptoAccountDisclaimer; import haveno.asset.Coin; import haveno.asset.CryptoNoteAddressValidator; -@AltCoinAccountDisclaimer("account.altcoin.popup.xmr.msg") +@CryptoAccountDisclaimer("account.crypto.popup.xmr.msg") public class Monero extends Coin { public Monero() { diff --git a/assets/src/main/java/haveno/asset/package-info.java b/assets/src/main/java/haveno/asset/package-info.java index 852ee3b3..6f5b5377 100644 --- a/assets/src/main/java/haveno/asset/package-info.java +++ b/assets/src/main/java/haveno/asset/package-info.java @@ -19,7 +19,7 @@ * Haveno's family of abstractions representing different ("crypto") * {@link haveno.asset.Asset} types such as {@link haveno.asset.Coin}, * {@link haveno.asset.Token} and {@link haveno.asset.Erc20Token}, as well as concrete - * implementations of each, such as {@link haveno.asset.coins.Bitcoin} itself, altcoins like + * implementations of each, such as {@link haveno.asset.coins.Bitcoin} itself, cryptos like * {@link haveno.asset.coins.Litecoin} and {@link haveno.asset.coins.Ether} and tokens like * {@link haveno.asset.tokens.DaiStablecoin}. *

diff --git a/assets/src/main/resources/i18n/displayStrings-assets.properties b/assets/src/main/resources/i18n/displayStrings-assets.properties index beabf782..ae23634d 100644 --- a/assets/src/main/resources/i18n/displayStrings-assets.properties +++ b/assets/src/main/resources/i18n/displayStrings-assets.properties @@ -19,10 +19,10 @@ # Please try to keep the length of the translated string similar to English. If it is longer it might break layout or # get truncated. We will need some adjustments in the UI code to support that but we want to keep effort at the minimum. -account.altcoin.popup.validation.XCP=XCP address must start with '1' and must have 34 characters. -account.altcoin.popup.validation.DCR=DCR address must start with 'Dk' or 'Ds' or 'De' or 'DS' or 'Dc' or 'Pm' and must have 34 characters. -account.altcoin.popup.validation.ETC=ETC address must start with '0x' and made up of letters A to F and numbers which are 40 characters long. -account.altcoin.popup.validation.NMC=NMC address must start with 'N' or 'M' and must be 34 characters long. -account.altcoin.popup.validation.SF= Siafund address must be made up of letters A to F and numbers which are 76 characters long. -account.altcoin.popup.validation.UNO=UNO address must start with 'u' and must have 34 characters. -account.altcoin.popup.validation.XZC=XZC address must start with 'a' and must have 34 characters. \ No newline at end of file +account.crypto.popup.validation.XCP=XCP address must start with '1' and must have 34 characters. +account.crypto.popup.validation.DCR=DCR address must start with 'Dk' or 'Ds' or 'De' or 'DS' or 'Dc' or 'Pm' and must have 34 characters. +account.crypto.popup.validation.ETC=ETC address must start with '0x' and made up of letters A to F and numbers which are 40 characters long. +account.crypto.popup.validation.NMC=NMC address must start with 'N' or 'M' and must be 34 characters long. +account.crypto.popup.validation.SF= Siafund address must be made up of letters A to F and numbers which are 76 characters long. +account.crypto.popup.validation.UNO=UNO address must start with 'u' and must have 34 characters. +account.crypto.popup.validation.XZC=XZC address must start with 'a' and must have 34 characters. \ No newline at end of file diff --git a/cli/src/main/java/haveno/cli/ColumnHeaderConstants.java b/cli/src/main/java/haveno/cli/ColumnHeaderConstants.java index 8a6dcd05..19e7ccfd 100644 --- a/cli/src/main/java/haveno/cli/ColumnHeaderConstants.java +++ b/cli/src/main/java/haveno/cli/ColumnHeaderConstants.java @@ -52,7 +52,7 @@ class ColumnHeaderConstants { static final String COL_HEADER_NAME = "Name"; static final String COL_HEADER_PAYMENT_METHOD = "Payment Method"; static final String COL_HEADER_PRICE = "Price in %-3s for 1 BTC"; - static final String COL_HEADER_PRICE_OF_ALTCOIN = "Price in BTC for 1 %-3s"; + static final String COL_HEADER_PRICE_OF_CRYPTO = "Price in BTC for 1 %-3s"; static final String COL_HEADER_TRADE_AMOUNT = padStart("Amount(%-3s)", 12, ' '); static final String COL_HEADER_TRADE_BUYER_COST = padEnd("Buyer Cost(%-3s)", 15, ' '); static final String COL_HEADER_TRADE_DEPOSIT_CONFIRMED = "Deposit Confirmed"; diff --git a/cli/src/main/java/haveno/cli/opts/CreateCryptoCurrencyPaymentAcctOptionParser.java b/cli/src/main/java/haveno/cli/opts/CreateCryptoCurrencyPaymentAcctOptionParser.java index 52a25b45..d11383e0 100644 --- a/cli/src/main/java/haveno/cli/opts/CreateCryptoCurrencyPaymentAcctOptionParser.java +++ b/cli/src/main/java/haveno/cli/opts/CreateCryptoCurrencyPaymentAcctOptionParser.java @@ -35,7 +35,7 @@ public class CreateCryptoCurrencyPaymentAcctOptionParser extends AbstractMethodO final OptionSpec currencyCodeOpt = parser.accepts(OPT_CURRENCY_CODE, "crypto currency code (xmr)") .withRequiredArg(); - final OptionSpec addressOpt = parser.accepts(OPT_ADDRESS, "altcoin address") + final OptionSpec addressOpt = parser.accepts(OPT_ADDRESS, "crypto address") .withRequiredArg(); final OptionSpec tradeInstantOpt = parser.accepts(OPT_TRADE_INSTANT, "create trade instant account") diff --git a/cli/src/main/java/haveno/cli/table/builder/AbstractTableBuilder.java b/cli/src/main/java/haveno/cli/table/builder/AbstractTableBuilder.java index e43b196f..c97333e3 100644 --- a/cli/src/main/java/haveno/cli/table/builder/AbstractTableBuilder.java +++ b/cli/src/main/java/haveno/cli/table/builder/AbstractTableBuilder.java @@ -28,7 +28,7 @@ import java.util.function.Predicate; */ abstract class AbstractTableBuilder { - protected final Predicate isFiatOffer = (o) -> o.getBaseCurrencyCode().equals("BTC"); + protected final Predicate isTraditionalOffer = (o) -> o.getBaseCurrencyCode().equals("XMR"); protected final TableType tableType; protected final List protos; diff --git a/cli/src/main/java/haveno/cli/table/builder/AbstractTradeListBuilder.java b/cli/src/main/java/haveno/cli/table/builder/AbstractTradeListBuilder.java index 877a1490..848dfd74 100644 --- a/cli/src/main/java/haveno/cli/table/builder/AbstractTradeListBuilder.java +++ b/cli/src/main/java/haveno/cli/table/builder/AbstractTradeListBuilder.java @@ -91,7 +91,7 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { @Nullable protected final Column colIsPaymentReceivedMessageSent; @Nullable - protected final Column colAltcoinReceiveAddressColumn; + protected final Column colCryptoReceiveAddressColumn; AbstractTradeListBuilder(TableType tableType, List protos) { super(tableType, protos); @@ -127,7 +127,7 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { this.colIsPaymentSentMessageSent = colSupplier.paymentSentMessageSentColumn.get(); this.colIsPaymentReceivedMessageSent = colSupplier.paymentReceivedMessageSentColumn.get(); //noinspection ConstantConditions - this.colAltcoinReceiveAddressColumn = colSupplier.altcoinReceiveAddressColumn.get(); + this.colCryptoReceiveAddressColumn = colSupplier.cryptoReceiveAddressColumn.get(); } protected void validate() { @@ -142,7 +142,7 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { // Helper Functions private final Supplier isTradeDetailTblBuilder = () -> tableType.equals(TRADE_DETAIL_TBL); - protected final Predicate isFiatTrade = (t) -> isFiatOffer.test(t.getOffer()); + protected final Predicate isTraditionalTrade = (t) -> isTraditionalOffer.test(t.getOffer()); protected final Predicate isMyOffer = (t) -> t.getOffer().getIsMyOffer(); protected final Predicate isTaker = (t) -> t.getRole().toLowerCase().contains("taker"); protected final Predicate isSellOffer = (t) -> t.getOffer().getDirection().equals(SELL.name()); @@ -152,23 +152,23 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { // Column Value Functions - // Altcoin volumes from server are string representations of decimals. + // Crypto volumes from server are string representations of decimals. // Converting them to longs ("sats") requires shifting the decimal points - // to left: 2 for BSQ, 8 for other altcoins. - protected final Function toAltcoinTradeVolumeAsLong = (t) -> new BigDecimal(t.getTradeVolume()).movePointRight(8).longValue(); + // to left: 2 for BSQ, 8 for other cryptos. + protected final Function toCryptoTradeVolumeAsLong = (t) -> new BigDecimal(t.getTradeVolume()).movePointRight(8).longValue(); protected final Function toTradeVolumeAsString = (t) -> - isFiatTrade.test(t) + isTraditionalTrade.test(t) ? t.getTradeVolume() : formatSatoshis(t.getAmount()); protected final Function toTradeVolumeAsLong = (t) -> - isFiatTrade.test(t) + isTraditionalTrade.test(t) ? Long.parseLong(t.getTradeVolume()) - : toAltcoinTradeVolumeAsLong.apply(t); + : toCryptoTradeVolumeAsLong.apply(t); protected final Function toTradeAmount = (t) -> - isFiatTrade.test(t) + isTraditionalTrade.test(t) ? t.getAmount() : toTradeVolumeAsLong.apply(t); @@ -177,7 +177,7 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { + t.getOffer().getCounterCurrencyCode(); protected final Function toPaymentCurrencyCode = (t) -> - isFiatTrade.test(t) + isTraditionalTrade.test(t) ? t.getOffer().getCounterCurrencyCode() : t.getOffer().getBaseCurrencyCode(); @@ -202,7 +202,7 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { }; protected final Function toOfferType = (t) -> { - if (isFiatTrade.test(t)) { + if (isTraditionalTrade.test(t)) { return t.getOffer().getDirection() + " " + t.getOffer().getBaseCurrencyCode(); } else { if (t.getOffer().getDirection().equals("BUY")) { @@ -213,8 +213,8 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { } }; - protected final Predicate showAltCoinBuyerAddress = (t) -> { - if (isFiatTrade.test(t)) { + protected final Predicate showCryptoBuyerAddress = (t) -> { + if (isTraditionalTrade.test(t)) { return false; } else { ContractInfo contract = t.getContract(); @@ -227,8 +227,8 @@ abstract class AbstractTradeListBuilder extends AbstractTableBuilder { } }; - protected final Function toAltcoinReceiveAddress = (t) -> { - if (showAltCoinBuyerAddress.test(t)) { + protected final Function toCryptoReceiveAddress = (t) -> { + if (showCryptoBuyerAddress.test(t)) { ContractInfo contract = t.getContract(); boolean isBuyerMakerAndSellerTaker = contract.getIsBuyerMakerAndSellerTaker(); return isBuyerMakerAndSellerTaker // (is BTC buyer / maker) diff --git a/cli/src/main/java/haveno/cli/table/builder/OfferTableBuilder.java b/cli/src/main/java/haveno/cli/table/builder/OfferTableBuilder.java index 919ae5c4..4a2d1d71 100644 --- a/cli/src/main/java/haveno/cli/table/builder/OfferTableBuilder.java +++ b/cli/src/main/java/haveno/cli/table/builder/OfferTableBuilder.java @@ -34,7 +34,7 @@ import java.util.stream.Collectors; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_AMOUNT_RANGE; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_CREATION_DATE; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DETAILED_PRICE; -import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DETAILED_PRICE_OF_ALTCOIN; +import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DETAILED_PRICE_OF_CRYPTO; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DIRECTION; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_ENABLED; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_PAYMENT_METHOD; @@ -56,7 +56,7 @@ import static protobuf.OfferDirection.SELL; */ class OfferTableBuilder extends AbstractTableBuilder { - // Columns common to both fiat and cryptocurrency offers. + // Columns common to both traditional and cryptocurrency offers. private final Column colOfferId = new StringColumn(COL_HEADER_UUID, LEFT); private final Column colDirection = new StringColumn(COL_HEADER_DIRECTION, LEFT); private final Column colAmount = new SatoshiColumn("Temp Amount", NONE); @@ -71,20 +71,20 @@ class OfferTableBuilder extends AbstractTableBuilder { @Override public Table build() { List offers = protos.stream().map(p -> (OfferInfo) p).collect(Collectors.toList()); - return isShowingFiatOffers.get() - ? buildFiatOfferTable(offers) + return isShowingTraditionalOffers.get() + ? buildTraditionalOfferTable(offers) : buildCryptoCurrencyOfferTable(offers); } @SuppressWarnings("ConstantConditions") - public Table buildFiatOfferTable(List offers) { + public Table buildTraditionalOfferTable(List offers) { @Nullable Column colEnabled = enabledColumn.get(); // Not boolean: "YES", "NO", or "PENDING" - Column colFiatPrice = new StringColumn(format(COL_HEADER_DETAILED_PRICE, fiatTradeCurrency.get()), RIGHT); - Column colVolume = new StringColumn(format("Temp Volume (%s)", fiatTradeCurrency.get()), NONE); - Column colMinVolume = new StringColumn(format("Temp Min Volume (%s)", fiatTradeCurrency.get()), NONE); + Column colTraditionalPrice = new StringColumn(format(COL_HEADER_DETAILED_PRICE, traditionalTradeCurrency.get()), RIGHT); + Column colVolume = new StringColumn(format("Temp Volume (%s)", traditionalTradeCurrency.get()), NONE); + Column colMinVolume = new StringColumn(format("Temp Min Volume (%s)", traditionalTradeCurrency.get()), NONE); @Nullable - Column colTriggerPrice = fiatTriggerPriceColumn.get(); + Column colTriggerPrice = traditionalTriggerPriceColumn.get(); // Populate columns with offer info. @@ -93,7 +93,7 @@ class OfferTableBuilder extends AbstractTableBuilder { colEnabled.addRow(toEnabled.apply(o)); colDirection.addRow(o.getDirection()); - colFiatPrice.addRow(o.getPrice()); + colTraditionalPrice.addRow(o.getPrice()); colMinAmount.addRow(o.getMinAmount()); colAmount.addRow(o.getAmount()); colVolume.addRow(o.getVolume()); @@ -109,7 +109,7 @@ class OfferTableBuilder extends AbstractTableBuilder { ZippedStringColumns amountRange = zippedAmountRangeColumns.get(); ZippedStringColumns volumeRange = - new ZippedStringColumns(format(COL_HEADER_VOLUME_RANGE, fiatTradeCurrency.get()), + new ZippedStringColumns(format(COL_HEADER_VOLUME_RANGE, traditionalTradeCurrency.get()), RIGHT, " - ", colMinVolume.asStringColumn(), @@ -120,7 +120,7 @@ class OfferTableBuilder extends AbstractTableBuilder { if (isShowingMyOffers.get()) { return new Table(colEnabled.asStringColumn(), colDirection, - colFiatPrice.justify(), + colTraditionalPrice.justify(), amountRange.asStringColumn(EXCLUDE_DUPLICATES), volumeRange.asStringColumn(EXCLUDE_DUPLICATES), colTriggerPrice.justify(), @@ -129,7 +129,7 @@ class OfferTableBuilder extends AbstractTableBuilder { colOfferId); } else { return new Table(colDirection, - colFiatPrice.justify(), + colTraditionalPrice.justify(), amountRange.asStringColumn(EXCLUDE_DUPLICATES), volumeRange.asStringColumn(EXCLUDE_DUPLICATES), colPaymentMethod, @@ -142,11 +142,11 @@ class OfferTableBuilder extends AbstractTableBuilder { public Table buildCryptoCurrencyOfferTable(List offers) { @Nullable Column colEnabled = enabledColumn.get(); // Not boolean: YES, NO, or PENDING - Column colBtcPrice = new StringColumn(format(COL_HEADER_DETAILED_PRICE_OF_ALTCOIN, altcoinTradeCurrency.get()), RIGHT); - Column colVolume = new StringColumn(format("Temp Volume (%s)", altcoinTradeCurrency.get()), NONE); - Column colMinVolume = new StringColumn(format("Temp Min Volume (%s)", altcoinTradeCurrency.get()), NONE); + Column colBtcPrice = new StringColumn(format(COL_HEADER_DETAILED_PRICE_OF_CRYPTO, cryptoTradeCurrency.get()), RIGHT); + Column colVolume = new StringColumn(format("Temp Volume (%s)", cryptoTradeCurrency.get()), NONE); + Column colMinVolume = new StringColumn(format("Temp Min Volume (%s)", cryptoTradeCurrency.get()), NONE); @Nullable - Column colTriggerPrice = altcoinTriggerPriceColumn.get(); + Column colTriggerPrice = cryptoTriggerPriceColumn.get(); // Populate columns with offer info. @@ -171,7 +171,7 @@ class OfferTableBuilder extends AbstractTableBuilder { ZippedStringColumns amountRange = zippedAmountRangeColumns.get(); ZippedStringColumns volumeRange = - new ZippedStringColumns(format(COL_HEADER_VOLUME_RANGE, altcoinTradeCurrency.get()), + new ZippedStringColumns(format(COL_HEADER_VOLUME_RANGE, cryptoTradeCurrency.get()), RIGHT, " - ", colMinVolume.asStringColumn(), @@ -214,11 +214,11 @@ class OfferTableBuilder extends AbstractTableBuilder { private final Function toBlankOrNonZeroValue = (s) -> s.trim().equals("0") ? "" : s; private final Supplier firstOfferInList = () -> (OfferInfo) protos.get(0); private final Supplier isShowingMyOffers = () -> firstOfferInList.get().getIsMyOffer(); - private final Supplier isShowingFiatOffers = () -> isFiatOffer.test(firstOfferInList.get()); - private final Supplier fiatTradeCurrency = () -> firstOfferInList.get().getCounterCurrencyCode(); - private final Supplier altcoinTradeCurrency = () -> firstOfferInList.get().getBaseCurrencyCode(); + private final Supplier isShowingTraditionalOffers = () -> isTraditionalOffer.test(firstOfferInList.get()); + private final Supplier traditionalTradeCurrency = () -> firstOfferInList.get().getCounterCurrencyCode(); + private final Supplier cryptoTradeCurrency = () -> firstOfferInList.get().getBaseCurrencyCode(); private final Supplier isShowingBsqOffers = () -> - !isFiatOffer.test(firstOfferInList.get()) && altcoinTradeCurrency.get().equals("BSQ"); + !isTraditionalOffer.test(firstOfferInList.get()) && cryptoTradeCurrency.get().equals("BSQ"); @Nullable // Not a boolean column: YES, NO, or PENDING. private final Supplier enabledColumn = () -> @@ -226,14 +226,14 @@ class OfferTableBuilder extends AbstractTableBuilder { ? new StringColumn(COL_HEADER_ENABLED, LEFT) : null; @Nullable - private final Supplier fiatTriggerPriceColumn = () -> + private final Supplier traditionalTriggerPriceColumn = () -> isShowingMyOffers.get() - ? new StringColumn(format(COL_HEADER_TRIGGER_PRICE, fiatTradeCurrency.get()), RIGHT) + ? new StringColumn(format(COL_HEADER_TRIGGER_PRICE, traditionalTradeCurrency.get()), RIGHT) : null; @Nullable - private final Supplier altcoinTriggerPriceColumn = () -> + private final Supplier cryptoTriggerPriceColumn = () -> isShowingMyOffers.get() && !isShowingBsqOffers.get() - ? new StringColumn(format(COL_HEADER_TRIGGER_PRICE, altcoinTradeCurrency.get()), RIGHT) + ? new StringColumn(format(COL_HEADER_TRIGGER_PRICE, cryptoTradeCurrency.get()), RIGHT) : null; private final Function toEnabled = (o) -> { @@ -244,7 +244,7 @@ class OfferTableBuilder extends AbstractTableBuilder { d.equalsIgnoreCase(BUY.name()) ? SELL.name() : BUY.name(); private final Function directionFormat = (o) -> { - if (isFiatOffer.test(o)) { + if (isTraditionalOffer.test(o)) { return o.getBaseCurrencyCode(); } else { // Return "Sell BSQ (Buy BTC)", or "Buy BSQ (Sell BTC)". diff --git a/cli/src/main/java/haveno/cli/table/builder/TableBuilderConstants.java b/cli/src/main/java/haveno/cli/table/builder/TableBuilderConstants.java index fa8b1fd2..d9e0f793 100644 --- a/cli/src/main/java/haveno/cli/table/builder/TableBuilderConstants.java +++ b/cli/src/main/java/haveno/cli/table/builder/TableBuilderConstants.java @@ -46,7 +46,7 @@ class TableBuilderConstants { static final String COL_HEADER_DATE_TIME = "Date/Time (UTC)"; static final String COL_HEADER_DETAILED_AMOUNT = "Amount(%-3s)"; static final String COL_HEADER_DETAILED_PRICE = "Price in %-3s for 1 BTC"; - static final String COL_HEADER_DETAILED_PRICE_OF_ALTCOIN = "Price in BTC for 1 %-3s"; + static final String COL_HEADER_DETAILED_PRICE_OF_CRYPTO = "Price in BTC for 1 %-3s"; static final String COL_HEADER_DIRECTION = "Buy/Sell"; static final String COL_HEADER_ENABLED = "Enabled"; static final String COL_HEADER_MARKET = "Market"; @@ -55,7 +55,7 @@ class TableBuilderConstants { static final String COL_HEADER_PAYMENT_METHOD = "Payment Method"; static final String COL_HEADER_PRICE = "Price"; static final String COL_HEADER_STATUS = "Status"; - static final String COL_HEADER_TRADE_ALTCOIN_BUYER_ADDRESS = "%-3s Buyer Address"; + static final String COL_HEADER_TRADE_CRYPTO_BUYER_ADDRESS = "%-3s Buyer Address"; static final String COL_HEADER_TRADE_BUYER_COST = "Buyer Cost(%-3s)"; static final String COL_HEADER_TRADE_DEPOSIT_CONFIRMED = "Deposit Confirmed"; static final String COL_HEADER_TRADE_DEPOSIT_PUBLISHED = "Deposit Published"; diff --git a/cli/src/main/java/haveno/cli/table/builder/TradeDetailTableBuilder.java b/cli/src/main/java/haveno/cli/table/builder/TradeDetailTableBuilder.java index 771658bb..4e12998d 100644 --- a/cli/src/main/java/haveno/cli/table/builder/TradeDetailTableBuilder.java +++ b/cli/src/main/java/haveno/cli/table/builder/TradeDetailTableBuilder.java @@ -66,8 +66,8 @@ class TradeDetailTableBuilder extends AbstractTradeListBuilder { colIsPaymentReceivedMessageSent.addRow(trade.getIsPaymentReceived()); colIsPayoutPublished.addRow(trade.getIsPayoutPublished()); colIsCompleted.addRow(trade.getIsCompleted()); - if (colAltcoinReceiveAddressColumn != null) - colAltcoinReceiveAddressColumn.addRow(toAltcoinReceiveAddress.apply(trade)); + if (colCryptoReceiveAddressColumn != null) + colCryptoReceiveAddressColumn.addRow(toCryptoReceiveAddress.apply(trade)); } private List> defineColumnList(TradeInfo trade) { @@ -90,8 +90,8 @@ class TradeDetailTableBuilder extends AbstractTradeListBuilder { add(colIsCompleted.asStringColumn()); }}; - if (colAltcoinReceiveAddressColumn != null) - columns.add(colAltcoinReceiveAddressColumn); + if (colCryptoReceiveAddressColumn != null) + columns.add(colCryptoReceiveAddressColumn); return columns; } diff --git a/cli/src/main/java/haveno/cli/table/builder/TradeTableColumnSupplier.java b/cli/src/main/java/haveno/cli/table/builder/TradeTableColumnSupplier.java index 359f8c14..c0972f28 100644 --- a/cli/src/main/java/haveno/cli/table/builder/TradeTableColumnSupplier.java +++ b/cli/src/main/java/haveno/cli/table/builder/TradeTableColumnSupplier.java @@ -17,7 +17,7 @@ package haveno.cli.table.builder; -import haveno.cli.table.column.AltcoinVolumeColumn; +import haveno.cli.table.column.CryptoVolumeColumn; import haveno.cli.table.column.BooleanColumn; import haveno.cli.table.column.BtcColumn; import haveno.cli.table.column.Column; @@ -43,14 +43,14 @@ import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_CURRENCY import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DATE_TIME; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DETAILED_AMOUNT; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DETAILED_PRICE; -import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DETAILED_PRICE_OF_ALTCOIN; +import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DETAILED_PRICE_OF_CRYPTO; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_DEVIATION; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_MARKET; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_OFFER_TYPE; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_PAYMENT_METHOD; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_PRICE; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_STATUS; -import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_TRADE_ALTCOIN_BUYER_ADDRESS; +import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_TRADE_CRYPTO_BUYER_ADDRESS; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_TRADE_BUYER_COST; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_TRADE_DEPOSIT_CONFIRMED; import static haveno.cli.table.builder.TableBuilderConstants.COL_HEADER_TRADE_DEPOSIT_PUBLISHED; @@ -69,8 +69,8 @@ import static haveno.cli.table.builder.TableType.CLOSED_TRADES_TBL; import static haveno.cli.table.builder.TableType.FAILED_TRADES_TBL; import static haveno.cli.table.builder.TableType.OPEN_TRADES_TBL; import static haveno.cli.table.builder.TableType.TRADE_DETAIL_TBL; -import static haveno.cli.table.column.AltcoinVolumeColumn.DISPLAY_MODE.ALTCOIN_VOLUME; -import static haveno.cli.table.column.AltcoinVolumeColumn.DISPLAY_MODE.BSQ_VOLUME; +import static haveno.cli.table.column.CryptoVolumeColumn.DISPLAY_MODE.CRYPTO_VOLUME; +import static haveno.cli.table.column.CryptoVolumeColumn.DISPLAY_MODE.BSQ_VOLUME; import static haveno.cli.table.column.Column.JUSTIFICATION.LEFT; import static haveno.cli.table.column.Column.JUSTIFICATION.RIGHT; import static java.lang.String.format; @@ -97,8 +97,8 @@ class TradeTableColumnSupplier { private final Supplier isClosedTradeTblBuilder = () -> getTableType().equals(CLOSED_TRADES_TBL); private final Supplier isFailedTradeTblBuilder = () -> getTableType().equals(FAILED_TRADES_TBL); private final Supplier firstRow = () -> getTrades().get(0); - private final Predicate isFiatOffer = (o) -> o.getBaseCurrencyCode().equals("BTC"); - private final Predicate isFiatTrade = (t) -> isFiatOffer.test(t.getOffer()); + private final Predicate isTraditionalOffer = (o) -> o.getBaseCurrencyCode().equals("XMR"); + private final Predicate isTraditionalTrade = (t) -> isTraditionalOffer.test(t.getOffer()); private final Predicate isTaker = (t) -> t.getRole().toLowerCase().contains("taker"); final Supplier tradeIdColumn = () -> isTradeDetailTblBuilder.get() @@ -114,9 +114,9 @@ class TradeTableColumnSupplier { : new StringColumn(COL_HEADER_MARKET); private final Function> toDetailedPriceColumn = (t) -> { - String colHeader = isFiatTrade.test(t) + String colHeader = isTraditionalTrade.test(t) ? format(COL_HEADER_DETAILED_PRICE, t.getOffer().getCounterCurrencyCode()) - : format(COL_HEADER_DETAILED_PRICE_OF_ALTCOIN, t.getOffer().getBaseCurrencyCode()); + : format(COL_HEADER_DETAILED_PRICE_OF_CRYPTO, t.getOffer().getBaseCurrencyCode()); return new StringColumn(colHeader, RIGHT); }; @@ -135,13 +135,13 @@ class TradeTableColumnSupplier { private final Function> toDetailedAmountColumn = (t) -> { String headerCurrencyCode = t.getOffer().getBaseCurrencyCode(); String colHeader = format(COL_HEADER_DETAILED_AMOUNT, headerCurrencyCode); - AltcoinVolumeColumn.DISPLAY_MODE displayMode = headerCurrencyCode.equals("BSQ") ? BSQ_VOLUME : ALTCOIN_VOLUME; - return isFiatTrade.test(t) + CryptoVolumeColumn.DISPLAY_MODE displayMode = headerCurrencyCode.equals("BSQ") ? BSQ_VOLUME : CRYPTO_VOLUME; + return isTraditionalTrade.test(t) ? new SatoshiColumn(colHeader) - : new AltcoinVolumeColumn(colHeader, displayMode); + : new CryptoVolumeColumn(colHeader, displayMode); }; - // Can be fiat, btc or altcoin amount represented as longs. Placing the decimal + // Can be tradional or crypto amount represented as longs. Placing the decimal // in the displayed string representation is done in the Column implementation. final Supplier> amountColumn = () -> isTradeDetailTblBuilder.get() ? toDetailedAmountColumn.apply(firstRow.get()) @@ -222,7 +222,7 @@ class TradeTableColumnSupplier { }; final Function toPaymentCurrencyCode = (t) -> - isFiatTrade.test(t) + isTraditionalTrade.test(t) ? t.getOffer().getCounterCurrencyCode() : t.getOffer().getBaseCurrencyCode(); @@ -257,8 +257,8 @@ class TradeTableColumnSupplier { } }; - final Predicate showAltCoinBuyerAddress = (t) -> { - if (isFiatTrade.test(t)) { + final Predicate showCryptoBuyerAddress = (t) -> { + if (isTraditionalTrade.test(t)) { return false; } else { ContractInfo contract = t.getContract(); @@ -272,12 +272,12 @@ class TradeTableColumnSupplier { }; @Nullable - final Supplier> altcoinReceiveAddressColumn = () -> { + final Supplier> cryptoReceiveAddressColumn = () -> { if (isTradeDetailTblBuilder.get()) { TradeInfo t = firstRow.get(); - if (showAltCoinBuyerAddress.test(t)) { + if (showCryptoBuyerAddress.test(t)) { String headerCurrencyCode = toPaymentCurrencyCode.apply(t); - String colHeader = format(COL_HEADER_TRADE_ALTCOIN_BUYER_ADDRESS, headerCurrencyCode); + String colHeader = format(COL_HEADER_TRADE_CRYPTO_BUYER_ADDRESS, headerCurrencyCode); return new StringColumn(colHeader); } else { return null; diff --git a/cli/src/main/java/haveno/cli/table/column/AltcoinVolumeColumn.java b/cli/src/main/java/haveno/cli/table/column/CryptoVolumeColumn.java similarity index 86% rename from cli/src/main/java/haveno/cli/table/column/AltcoinVolumeColumn.java rename to cli/src/main/java/haveno/cli/table/column/CryptoVolumeColumn.java index f50696f3..8eb9b574 100644 --- a/cli/src/main/java/haveno/cli/table/column/AltcoinVolumeColumn.java +++ b/cli/src/main/java/haveno/cli/table/column/CryptoVolumeColumn.java @@ -24,23 +24,23 @@ import java.util.stream.IntStream; import static haveno.cli.table.column.Column.JUSTIFICATION.RIGHT; /** - * For displaying altcoin volume with appropriate precision. + * For displaying crypto volume with appropriate precision. */ -public class AltcoinVolumeColumn extends LongColumn { +public class CryptoVolumeColumn extends LongColumn { public enum DISPLAY_MODE { - ALTCOIN_VOLUME, + CRYPTO_VOLUME, BSQ_VOLUME, } private final DISPLAY_MODE displayMode; - // The default AltcoinVolumeColumn JUSTIFICATION is RIGHT. - public AltcoinVolumeColumn(String name, DISPLAY_MODE displayMode) { + // The default CryptoVolumeColumn JUSTIFICATION is RIGHT. + public CryptoVolumeColumn(String name, DISPLAY_MODE displayMode) { this(name, RIGHT, displayMode); } - public AltcoinVolumeColumn(String name, + public CryptoVolumeColumn(String name, JUSTIFICATION justification, DISPLAY_MODE displayMode) { super(name, justification); @@ -65,7 +65,7 @@ public class AltcoinVolumeColumn extends LongColumn { @Override public StringColumn asStringColumn() { - // We cached the formatted altcoin value strings, but we did + // We cached the formatted crypto value strings, but we did // not know how much padding each string needed until now. IntStream.range(0, stringColumn.getRows().size()).forEach(rowIndex -> { String unjustified = stringColumn.getRow(rowIndex); @@ -77,7 +77,7 @@ public class AltcoinVolumeColumn extends LongColumn { private final BiFunction toFormattedString = (value, displayMode) -> { switch (displayMode) { - case ALTCOIN_VOLUME: + case CRYPTO_VOLUME: return value > 0 ? new BigDecimal(value).movePointLeft(8).toString() : ""; case BSQ_VOLUME: return value > 0 ? new BigDecimal(value).movePointLeft(2).toString() : ""; diff --git a/cli/src/main/java/haveno/cli/table/column/FiatColumn.java b/cli/src/main/java/haveno/cli/table/column/FiatColumn.java deleted file mode 100644 index 5cbad850..00000000 --- a/cli/src/main/java/haveno/cli/table/column/FiatColumn.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of Haveno. - * - * Haveno is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Haveno is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Haveno. If not, see . - */ - -package haveno.cli.table.column; - -import java.util.stream.IntStream; - -import static haveno.cli.CurrencyFormat.formatFiatVolume; -import static haveno.cli.CurrencyFormat.formatPrice; -import static haveno.cli.table.column.Column.JUSTIFICATION.RIGHT; -import static haveno.cli.table.column.FiatColumn.DISPLAY_MODE.FIAT_PRICE; - -/** - * For displaying fiat volume or price with appropriate precision. - */ -public class FiatColumn extends LongColumn { - - public enum DISPLAY_MODE { - FIAT_PRICE, - FIAT_VOLUME - } - - private final DISPLAY_MODE displayMode; - - // The default FiatColumn JUSTIFICATION is RIGHT. - // The default FiatColumn DISPLAY_MODE is PRICE. - public FiatColumn(String name) { - this(name, RIGHT, FIAT_PRICE); - } - - public FiatColumn(String name, DISPLAY_MODE displayMode) { - this(name, RIGHT, displayMode); - } - - public FiatColumn(String name, - JUSTIFICATION justification, - DISPLAY_MODE displayMode) { - super(name, justification); - this.displayMode = displayMode; - } - - @Override - public void addRow(Long value) { - rows.add(value); - - String s = displayMode.equals(FIAT_PRICE) ? formatPrice(value) : formatFiatVolume(value); - - stringColumn.addRow(s); - - if (isNewMaxWidth.test(s)) - maxWidth = s.length(); - } - - @Override - public String getRowAsFormattedString(int rowIndex) { - return getRow(rowIndex).toString(); - } - - @Override - public StringColumn asStringColumn() { - // We cached the formatted fiat price strings, but we did - // not know how much padding each string needed until now. - IntStream.range(0, stringColumn.getRows().size()).forEach(rowIndex -> { - String unjustified = stringColumn.getRow(rowIndex); - String justified = stringColumn.toJustifiedString(unjustified); - stringColumn.updateRow(rowIndex, justified); - }); - return this.stringColumn; - } -} diff --git a/cli/src/test/java/haveno/cli/AbstractCliTest.java b/cli/src/test/java/haveno/cli/AbstractCliTest.java index 605b9834..a11059fe 100644 --- a/cli/src/test/java/haveno/cli/AbstractCliTest.java +++ b/cli/src/test/java/haveno/cli/AbstractCliTest.java @@ -48,7 +48,7 @@ public abstract class AbstractCliTest { .map(Object::toString) .collect(Collectors.toList()); - protected final BiFunction randomFixedAltcoinPrice = (min, max) -> { + protected final BiFunction randomFixedCryptoPrice = (min, max) -> { String random = Double.valueOf(ThreadLocalRandom.current().nextDouble(min, max)).toString(); BigDecimal bd = new BigDecimal(random).setScale(8, HALF_UP); return bd.toPlainString(); @@ -114,7 +114,7 @@ public abstract class AbstractCliTest { log.info("NEW Console OUT:\n{}", tbl); } - protected List getMyAltcoinOffers(String currencyCode) { + protected List getMyCryptoOffers(String currencyCode) { String[] args = getMyOffersCommand("buy", currencyCode); out.print(">>>>> haveno-cli "); stream(args).forEach(a -> out.print(a + " ")); diff --git a/cli/src/test/java/haveno/cli/EditXmrOffersSmokeTest.java b/cli/src/test/java/haveno/cli/EditXmrOffersSmokeTest.java index c222f1a8..6e5f4e36 100644 --- a/cli/src/test/java/haveno/cli/EditXmrOffersSmokeTest.java +++ b/cli/src/test/java/haveno/cli/EditXmrOffersSmokeTest.java @@ -28,16 +28,16 @@ public class EditXmrOffersSmokeTest extends AbstractCliTest { test.doOfferPriceEdits(); - List offers = test.getMyAltcoinOffers("xmr"); + List offers = test.getMyCryptoOffers("xmr"); test.disableOffers(offers); test.sleep(6); - offers = test.getMyAltcoinOffers("xmr"); + offers = test.getMyCryptoOffers("xmr"); test.enableOffers(offers); // A final look after last edit. - test.getMyAltcoinOffers("xmr"); + test.getMyCryptoOffers("xmr"); } private void doOfferPriceEdits() { @@ -48,7 +48,7 @@ public class EditXmrOffersSmokeTest extends AbstractCliTest { } private void editPriceMargin() { - var offers = getMyAltcoinOffers("xmr"); + var offers = getMyCryptoOffers("xmr"); out.println("Edit XMR offers' price margin"); var margins = randomMarginBasedPrices.apply(-301, 300); for (int i = 0; i < offers.size(); i++) { @@ -59,7 +59,7 @@ public class EditXmrOffersSmokeTest extends AbstractCliTest { } private void editTriggerPrice() { - var offers = getMyAltcoinOffers("xmr"); + var offers = getMyCryptoOffers("xmr"); out.println("Edit XMR offers' trigger price"); for (int i = 0; i < offers.size(); i++) { var offer = offers.get(i); @@ -74,7 +74,7 @@ public class EditXmrOffersSmokeTest extends AbstractCliTest { } private void editPriceMarginAndTriggerPrice() { - var offers = getMyAltcoinOffers("xmr"); + var offers = getMyCryptoOffers("xmr"); out.println("Edit XMR offers' price margin and trigger price"); for (int i = 0; i < offers.size(); i++) { var offer = offers.get(i); @@ -89,10 +89,10 @@ public class EditXmrOffersSmokeTest extends AbstractCliTest { } private void editFixedPrice() { - var offers = getMyAltcoinOffers("xmr"); + var offers = getMyCryptoOffers("xmr"); out.println("Edit XMR offers' fixed price"); for (int i = 0; i < offers.size(); i++) { - String randomFixedPrice = randomFixedAltcoinPrice.apply(0.004, 0.0075); + String randomFixedPrice = randomFixedCryptoPrice.apply(0.004, 0.0075); editOfferFixedPrice(offers.get(i), randomFixedPrice, new Random().nextBoolean()); sleep(5); } diff --git a/core/src/main/java/haveno/core/account/witness/AccountAgeWitnessService.java b/core/src/main/java/haveno/core/account/witness/AccountAgeWitnessService.java index 605d8fa7..27560f15 100644 --- a/core/src/main/java/haveno/core/account/witness/AccountAgeWitnessService.java +++ b/core/src/main/java/haveno/core/account/witness/AccountAgeWitnessService.java @@ -210,16 +210,16 @@ public class AccountAgeWitnessService { } private void onBootStrapped() { - republishAllFiatAccounts(); + republishAllTraditionalAccounts(); signAndPublishSameNameAccounts(); } - // At startup we re-publish the witness data of all fiat accounts to ensure we got our data well distributed. - private void republishAllFiatAccounts() { + // At startup we re-publish the witness data of all traditional accounts to ensure we got our data well distributed. + private void republishAllTraditionalAccounts() { if (user.getPaymentAccounts() != null) user.getPaymentAccounts().stream() - .filter(account -> account.getPaymentMethod().isFiat()) + .filter(account -> account.getPaymentMethod().isTraditional()) .forEach(account -> { AccountAgeWitness myWitness = getMyWitness(account.getPaymentAccountPayload()); // We only publish if the date of our witness is inside the date tolerance. diff --git a/core/src/main/java/haveno/core/api/CoreOffersService.java b/core/src/main/java/haveno/core/api/CoreOffersService.java index 4c9d4241..4fcf3ea5 100644 --- a/core/src/main/java/haveno/core/api/CoreOffersService.java +++ b/core/src/main/java/haveno/core/api/CoreOffersService.java @@ -19,8 +19,10 @@ package haveno.core.api; import haveno.common.crypto.KeyRing; import haveno.common.handlers.ErrorMessageHandler; -import haveno.core.monetary.Altcoin; +import haveno.core.locale.CurrencyUtil; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.offer.CreateOfferService; import haveno.core.offer.Offer; import haveno.core.offer.OfferBookService; @@ -35,7 +37,6 @@ import haveno.core.user.User; import haveno.core.util.PriceUtil; import lombok.extern.slf4j.Slf4j; import org.bitcoinj.core.Transaction; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Singleton; @@ -53,7 +54,6 @@ import java.util.stream.Collectors; import static haveno.common.util.MathUtils.exactMultiply; import static haveno.common.util.MathUtils.roundDoubleToLong; import static haveno.common.util.MathUtils.scaleUpByPowerOf10; -import static haveno.core.locale.CurrencyUtil.isCryptoCurrency; import static haveno.core.offer.OfferDirection.BUY; import static haveno.core.payment.PaymentAccountUtil.isPaymentAccountValidForOffer; import static java.lang.String.format; @@ -285,7 +285,7 @@ public class CoreOffersService { if ("".equals(direction)) direction = null; if ("".equals(currencyCode)) currencyCode = null; var offerOfWantedDirection = direction == null || offer.getDirection().name().equalsIgnoreCase(direction); - var counterAssetCode = isCryptoCurrency(currencyCode) ? offer.getOfferPayload().getBaseCurrencyCode() : offer.getOfferPayload().getCounterCurrencyCode(); // TODO: crypto pairs invert base and counter currencies + var counterAssetCode = CurrencyUtil.isCryptoCurrency(currencyCode) ? offer.getOfferPayload().getBaseCurrencyCode() : offer.getOfferPayload().getCounterCurrencyCode(); var offerInWantedCurrency = currencyCode == null || counterAssetCode.equalsIgnoreCase(currencyCode); return offerOfWantedDirection && offerInWantedCurrency; } @@ -299,7 +299,7 @@ public class CoreOffersService { } private long priceStringToLong(String priceAsString, String currencyCode) { - int precision = isCryptoCurrency(currencyCode) ? Altcoin.SMALLEST_UNIT_EXPONENT : Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? TraditionalMoney.SMALLEST_UNIT_EXPONENT : CryptoMoney.SMALLEST_UNIT_EXPONENT; double priceAsDouble = new BigDecimal(priceAsString).doubleValue(); double scaled = scaleUpByPowerOf10(priceAsDouble, precision); return roundDoubleToLong(scaled); diff --git a/core/src/main/java/haveno/core/api/CorePaymentAccountsService.java b/core/src/main/java/haveno/core/api/CorePaymentAccountsService.java index a87cd9f3..6a6f2e87 100644 --- a/core/src/main/java/haveno/core/api/CorePaymentAccountsService.java +++ b/core/src/main/java/haveno/core/api/CorePaymentAccountsService.java @@ -153,7 +153,7 @@ class CorePaymentAccountsService { List getCryptoCurrencyPaymentMethods() { return PaymentMethod.getPaymentMethods().stream() - .filter(PaymentMethod::isAltcoin) + .filter(PaymentMethod::isCrypto) .sorted(Comparator.comparing(PaymentMethod::getId)) .collect(Collectors.toList()); } diff --git a/core/src/main/java/haveno/core/api/CorePriceService.java b/core/src/main/java/haveno/core/api/CorePriceService.java index ecfdd450..27cf3b46 100644 --- a/core/src/main/java/haveno/core/api/CorePriceService.java +++ b/core/src/main/java/haveno/core/api/CorePriceService.java @@ -53,7 +53,7 @@ class CorePriceService { } /** - * @return Price per 1 XMR in the given currency (fiat or crypto) + * @return Price per 1 XMR in the given currency (traditional or crypto) */ public double getMarketPrice(String currencyCode) throws ExecutionException, InterruptedException, TimeoutException, IllegalArgumentException { var marketPrice = priceFeedService.requestAllPrices().get(currencyCode); @@ -64,7 +64,7 @@ class CorePriceService { } /** - * @return Price per 1 XMR in all supported currencies (fiat & crypto) + * @return Price per 1 XMR in all supported currencies (traditional & crypto) */ public List getMarketPrices() throws ExecutionException, InterruptedException, TimeoutException { return priceFeedService.requestAllPrices().values().stream() @@ -84,8 +84,8 @@ class CorePriceService { // Offer price can be null (if price feed unavailable), thus a null-tolerant comparator is used. Comparator offerPriceComparator = Comparator.comparing(Offer::getPrice, Comparator.nullsLast(Comparator.naturalOrder())); - // Trading btc-fiat is considered as buying/selling BTC, but trading btc-altcoin is - // considered as buying/selling Altcoin. Because of this, when viewing a btc-altcoin pair, + // Trading xmr-traditional is considered as buying/selling XMR, but trading xmr-crypto is + // considered as buying/selling crypto. Because of this, when viewing a xmr-crypto pair, // the buy column is actually the sell column and vice versa. To maintain the expected // ordering, we have to reverse the price comparator. boolean isCrypto = CurrencyUtil.isCryptoCurrency(currencyCode); @@ -141,14 +141,14 @@ class CorePriceService { } /** - * PriceProvider returns different values for crypto and fiat, + * PriceProvider returns different values for crypto and traditional, * e.g. 1 XMR = X USD * but 1 DOGE = X XMR * Here we convert all to: * 1 XMR = X (FIAT or CRYPTO) */ private double mapPriceFeedServicePrice(double price, String currencyCode) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { return price; } return price == 0 ? 0 : 1 / price; diff --git a/core/src/main/java/haveno/core/api/model/OfferInfo.java b/core/src/main/java/haveno/core/api/model/OfferInfo.java index 6c787262..a02bbe0c 100644 --- a/core/src/main/java/haveno/core/api/model/OfferInfo.java +++ b/core/src/main/java/haveno/core/api/model/OfferInfo.java @@ -62,8 +62,8 @@ public class OfferInfo implements Payload { private final String paymentAccountId; private final String paymentMethodId; private final String paymentMethodShortName; - // For fiat offer the baseCurrencyCode is BTC and the counterCurrencyCode is the fiat currency - // For altcoin offers it is the opposite. baseCurrencyCode is the altcoin and the counterCurrencyCode is BTC. + // For traditional offer the baseCurrencyCode is XMR and the counterCurrencyCode is the traditional currency + // For crypto offers it is the opposite. baseCurrencyCode is the crypto and the counterCurrencyCode is XMR. private final String baseCurrencyCode; private final String counterCurrencyCode; private final long date; diff --git a/core/src/main/java/haveno/core/locale/CurrencyTuple.java b/core/src/main/java/haveno/core/locale/CurrencyTuple.java index 80480e71..25ffcc0b 100644 --- a/core/src/main/java/haveno/core/locale/CurrencyTuple.java +++ b/core/src/main/java/haveno/core/locale/CurrencyTuple.java @@ -17,18 +17,19 @@ package haveno.core.locale; +import haveno.core.monetary.TraditionalMoney; import lombok.EqualsAndHashCode; @EqualsAndHashCode public class CurrencyTuple { public final String code; public final String name; - public final int precision; // precision 4 is 1/10000 -> 0.0001 is smallest unit + public final int precision; // precision 8 is 1/100000000 -> 0.00000001 is smallest unit public CurrencyTuple(String code, String name) { - // We use Fiat class and the precision is 4 + // We use TraditionalCurrency class and the precision is 8 // In future we might add custom precision per currency - this(code, name, 4); + this(code, name, TraditionalMoney.SMALLEST_UNIT_EXPONENT); } public CurrencyTuple(String code, String name, int precision) { diff --git a/core/src/main/java/haveno/core/locale/CurrencyUtil.java b/core/src/main/java/haveno/core/locale/CurrencyUtil.java index 3c3f02dc..6bae94e8 100644 --- a/core/src/main/java/haveno/core/locale/CurrencyUtil.java +++ b/core/src/main/java/haveno/core/locale/CurrencyUtil.java @@ -56,16 +56,16 @@ public class CurrencyUtil { private static String baseCurrencyCode = "XMR"; - // Calls to isFiatCurrency and isCryptoCurrency are very frequent so we use a cache of the results. + // Calls to isTraditionalCurrency and isCryptoCurrency are very frequent so we use a cache of the results. // The main improvement was already achieved with using memoize for the source maps, but // the caching still reduces performance costs by about 20% for isCryptoCurrency (1752 ms vs 2121 ms) and about 50% - // for isFiatCurrency calls (1777 ms vs 3467 ms). + // for isTraditionalCurrency calls (1777 ms vs 3467 ms). // See: https://github.com/bisq-network/bisq/pull/4955#issuecomment-745302802 - private static final Map isFiatCurrencyMap = new ConcurrentHashMap<>(); + private static final Map isTraditionalCurrencyMap = new ConcurrentHashMap<>(); private static final Map isCryptoCurrencyMap = new ConcurrentHashMap<>(); - private static final Supplier> fiatCurrencyMapSupplier = Suppliers.memoize( - CurrencyUtil::createFiatCurrencyMap); + private static final Supplier> traditionalCurrencyMapSupplier = Suppliers.memoize( + CurrencyUtil::createTraditionalCurrencyMap); private static final Supplier> cryptoCurrencyMapSupplier = Suppliers.memoize( CurrencyUtil::createCryptoCurrencyMap); @@ -73,48 +73,52 @@ public class CurrencyUtil { CurrencyUtil.baseCurrencyCode = baseCurrencyCode; } - public static Collection getAllSortedFiatCurrencies() { - return fiatCurrencyMapSupplier.get().values(); // sorted by currency name + public static Collection getAllSortedTraditionalCurrencies() { + return traditionalCurrencyMapSupplier.get().values(); // sorted by currency name } - public static List getAllFiatCurrencies() { - return new ArrayList<>(fiatCurrencyMapSupplier.get().values()); + public static List getAllTraditionalCurrencies() { + return new ArrayList<>(traditionalCurrencyMapSupplier.get().values()); } - public static Collection getAllSortedFiatCurrencies(Comparator comparator) { - return (List) getAllSortedFiatCurrencies().stream() + public static Collection getAllSortedTraditionalCurrencies(Comparator comparator) { + return (List) getAllSortedTraditionalCurrencies().stream() .sorted(comparator) // sorted by comparator param .collect(Collectors.toList()); } - private static Map createFiatCurrencyMap() { - return CountryUtil.getAllCountries().stream() + private static Map createTraditionalCurrencyMap() { + List currencies = CountryUtil.getAllCountries().stream() .map(country -> getCurrencyByCountryCode(country.code)) - .sorted(TradeCurrency::compareTo) + .collect(Collectors.toList()); + currencies.add(new TraditionalCurrency(Currency.getInstance("XAG"))); // add silver + currencies.add(new TraditionalCurrency(Currency.getInstance("XAU"))); // add gold + return currencies.stream().sorted(TradeCurrency::compareTo) .distinct() .collect(Collectors.toMap(TradeCurrency::getCode, Function.identity(), (x, y) -> x, LinkedHashMap::new)); } - public static List getMainFiatCurrencies() { + public static List getMainTraditionalCurrencies() { TradeCurrency defaultTradeCurrency = getDefaultTradeCurrency(); - List list = new ArrayList<>(); - // Top traded currencies - list.add(new FiatCurrency("USD")); - list.add(new FiatCurrency("EUR")); - list.add(new FiatCurrency("GBP")); - list.add(new FiatCurrency("CAD")); - list.add(new FiatCurrency("AUD")); - list.add(new FiatCurrency("RUB")); - list.add(new FiatCurrency("INR")); - list.add(new FiatCurrency("NGN")); + List list = new ArrayList<>(); + list.add(new TraditionalCurrency("USD")); + list.add(new TraditionalCurrency("EUR")); + list.add(new TraditionalCurrency("GBP")); + list.add(new TraditionalCurrency("CAD")); + list.add(new TraditionalCurrency("AUD")); + list.add(new TraditionalCurrency("RUB")); + list.add(new TraditionalCurrency("INR")); + list.add(new TraditionalCurrency("NGN")); + list.add(new TraditionalCurrency("XAG")); + list.add(new TraditionalCurrency("XAU")); list.sort(TradeCurrency::compareTo); - FiatCurrency defaultFiatCurrency = - defaultTradeCurrency instanceof FiatCurrency ? (FiatCurrency) defaultTradeCurrency : null; - if (defaultFiatCurrency != null && list.contains(defaultFiatCurrency)) { + TraditionalCurrency defaultTraditionalCurrency = + defaultTradeCurrency instanceof TraditionalCurrency ? (TraditionalCurrency) defaultTradeCurrency : null; + if (defaultTraditionalCurrency != null && list.contains(defaultTraditionalCurrency)) { list.remove(defaultTradeCurrency); - list.add(0, defaultFiatCurrency); + list.add(0, defaultTraditionalCurrency); } return list; } @@ -165,53 +169,59 @@ public class CurrencyUtil { public static List getMatureMarketCurrencies() { ArrayList currencies = new ArrayList<>(Arrays.asList( - new FiatCurrency("EUR"), - new FiatCurrency("USD"), - new FiatCurrency("GBP"), - new FiatCurrency("CAD"), - new FiatCurrency("AUD"), - new FiatCurrency("BRL") + new TraditionalCurrency("EUR"), + new TraditionalCurrency("USD"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("AUD"), + new TraditionalCurrency("BRL") )); currencies.sort(Comparator.comparing(TradeCurrency::getCode)); return currencies; } public static boolean isFiatCurrency(String currencyCode) { - if (currencyCode != null && isFiatCurrencyMap.containsKey(currencyCode)) { - return isFiatCurrencyMap.get(currencyCode); + if (!isTraditionalCurrency(currencyCode)) return false; + if ("xag".equalsIgnoreCase(currencyCode) || "xau".equalsIgnoreCase(currencyCode)) return false; + return true; + } + + public static boolean isTraditionalCurrency(String currencyCode) { + if (currencyCode != null && isTraditionalCurrencyMap.containsKey(currencyCode)) { + return isTraditionalCurrencyMap.get(currencyCode); } try { - boolean isFiatCurrency = currencyCode != null + boolean isTraditionalCurrency = currencyCode != null && !currencyCode.isEmpty() && !isCryptoCurrency(currencyCode) && Currency.getInstance(currencyCode) != null; if (currencyCode != null) { - isFiatCurrencyMap.put(currencyCode, isFiatCurrency); + isTraditionalCurrencyMap.put(currencyCode, isTraditionalCurrency); } - return isFiatCurrency; + return isTraditionalCurrency; } catch (Throwable t) { - isFiatCurrencyMap.put(currencyCode, false); + isTraditionalCurrencyMap.put(currencyCode, false); return false; } } - public static Optional getFiatCurrency(String currencyCode) { - return Optional.ofNullable(fiatCurrencyMapSupplier.get().get(currencyCode)); + public static Optional getTraditionalCurrency(String currencyCode) { + return Optional.ofNullable(traditionalCurrencyMapSupplier.get().get(currencyCode)); } /** * We return true if it is BTC or any of our currencies available in the assetRegistry. - * For removed assets it would fail as they are not found but we don't want to conclude that they are fiat then. - * As the caller might not deal with the case that a currency can be neither a cryptoCurrency nor Fiat if not found - * we return true as well in case we have no fiat currency for the code. + * For removed assets it would fail as they are not found but we don't want to conclude that they are traditional then. + * As the caller might not deal with the case that a currency can be neither a cryptoCurrency nor Traditional if not found + * we return true as well in case we have no traditional currency for the code. * - * As we use a boolean result for isCryptoCurrency and isFiatCurrency we do not treat missing currencies correctly. + * As we use a boolean result for isCryptoCurrency and isTraditionalCurrency we do not treat missing currencies correctly. * To throw an exception might be an option but that will require quite a lot of code change, so we don't do that * for the moment, but could be considered for the future. Another maybe better option is to introduce an enum which - * contains 3 entries (CryptoCurrency, Fiat, Undefined). + * contains 3 entries (CryptoCurrency, Traditional, Undefined). */ public static boolean isCryptoCurrency(String currencyCode) { if (currencyCode != null) currencyCode = currencyCode.toUpperCase(); @@ -230,14 +240,14 @@ public class CurrencyUtil { } else if (getCryptoCurrency(currencyCode).isPresent()) { // If we find the code in our assetRegistry we return true. // It might be that an asset was removed from the assetsRegistry, we deal with such cases below by checking if - // it is a fiat currency + // it is a traditional currency isCryptoCurrency = true; - } else if (getFiatCurrency(currencyCode).isEmpty()) { - // In case the code is from a removed asset we cross check if there exist a fiat currency with that code, - // if we don't find a fiat currency we treat it as a crypto currency. + } else if (getTraditionalCurrency(currencyCode).isEmpty()) { + // In case the code is from a removed asset we cross check if there exist a traditional currency with that code, + // if we don't find a traditional currency we treat it as a crypto currency. isCryptoCurrency = true; } else { - // If we would have found a fiat currency we return false + // If we would have found a traditional currency we return false isCryptoCurrency = false; } @@ -253,9 +263,9 @@ public class CurrencyUtil { } public static Optional getTradeCurrency(String currencyCode) { - Optional fiatCurrencyOptional = getFiatCurrency(currencyCode); - if (fiatCurrencyOptional.isPresent() && isFiatCurrency(currencyCode)) - return Optional.of(fiatCurrencyOptional.get()); + Optional traditionalCurrencyOptional = getTraditionalCurrency(currencyCode); + if (traditionalCurrencyOptional.isPresent() && isTraditionalCurrency(currencyCode)) + return Optional.of(traditionalCurrencyOptional.get()); Optional cryptoCurrencyOptional = getCryptoCurrency(currencyCode); if (cryptoCurrencyOptional.isPresent() && isCryptoCurrency(currencyCode)) @@ -290,12 +300,12 @@ public class CurrencyUtil { return tradeCurrencies; } - public static FiatCurrency getCurrencyByCountryCode(String countryCode) { + public static TraditionalCurrency getCurrencyByCountryCode(String countryCode) { if (countryCode.equals("XK")) - return new FiatCurrency("EUR"); + return new TraditionalCurrency("EUR"); Currency currency = Currency.getInstance(new Locale(LanguageUtil.getDefaultLanguage(), countryCode)); - return new FiatCurrency(currency.getCurrencyCode()); + return new TraditionalCurrency(currency.getCurrencyCode()); } @@ -412,14 +422,14 @@ public class CurrencyUtil { } public static String getCurrencyPair(String currencyCode) { - if (isFiatCurrency(currencyCode)) + if (isTraditionalCurrency(currencyCode)) return Res.getBaseCurrencyCode() + "/" + currencyCode; else return currencyCode + "/" + Res.getBaseCurrencyCode(); } public static String getCounterCurrency(String currencyCode) { - if (isFiatCurrency(currencyCode)) + if (isTraditionalCurrency(currencyCode)) return currencyCode; else return Res.getBaseCurrencyCode(); @@ -453,6 +463,6 @@ public class CurrencyUtil { } public static List getAllTransferwiseUSDCurrencies() { - return List.of(new FiatCurrency("USD")); + return List.of(new TraditionalCurrency("USD")); } } diff --git a/core/src/main/java/haveno/core/locale/GlobalSettings.java b/core/src/main/java/haveno/core/locale/GlobalSettings.java index 1e3f422b..0a215860 100644 --- a/core/src/main/java/haveno/core/locale/GlobalSettings.java +++ b/core/src/main/java/haveno/core/locale/GlobalSettings.java @@ -50,8 +50,8 @@ public class GlobalSettings { GlobalSettings.useAnimations = useAnimations; } - public static void setDefaultTradeCurrency(TradeCurrency fiatCurrency) { - GlobalSettings.defaultTradeCurrency = fiatCurrency; + public static void setDefaultTradeCurrency(TradeCurrency tradeCurrency) { + GlobalSettings.defaultTradeCurrency = tradeCurrency; } diff --git a/core/src/main/java/haveno/core/locale/TradeCurrency.java b/core/src/main/java/haveno/core/locale/TradeCurrency.java index e897aaeb..954b3fac 100644 --- a/core/src/main/java/haveno/core/locale/TradeCurrency.java +++ b/core/src/main/java/haveno/core/locale/TradeCurrency.java @@ -45,8 +45,8 @@ public abstract class TradeCurrency implements PersistablePayload, Comparable 0 || converted.compareTo(BigInteger.valueOf(Long.MIN_VALUE)) < 0) throw new ArithmeticException("Overflow"); - return Altcoin.valueOf(altcoin.currencyCode, converted.longValue()); + return CryptoMoney.valueOf(crypto.currencyCode, converted.longValue()); } /** - * Convert a altcoin amount to a coin amount using this exchange rate. + * Convert a crypto amount to a coin amount using this exchange rate. * * @throws ArithmeticException if the converted coin amount is too high or too low. */ - public Coin altcoinToCoin(Altcoin convertAltcoin) { - checkArgument(convertAltcoin.currencyCode.equals(altcoin.currencyCode), "Currency mismatch: %s vs %s", - convertAltcoin.currencyCode, altcoin.currencyCode); + public Coin cryptoToCoin(CryptoMoney convertCrypto) { + checkArgument(convertCrypto.currencyCode.equals(crypto.currencyCode), "Currency mismatch: %s vs %s", + convertCrypto.currencyCode, crypto.currencyCode); // Use BigInteger because it's much easier to maintain full precision without overflowing. - BigInteger converted = BigInteger.valueOf(altcoin.value) - .multiply(BigInteger.valueOf(convertAltcoin.value)) + BigInteger converted = BigInteger.valueOf(crypto.value) + .multiply(BigInteger.valueOf(convertCrypto.value)) .divide(BigInteger.valueOf(coin.value)); if (converted.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) > 0 || converted.compareTo(BigInteger.valueOf(Long.MIN_VALUE)) < 0) diff --git a/core/src/main/java/haveno/core/monetary/Altcoin.java b/core/src/main/java/haveno/core/monetary/CryptoMoney.java similarity index 76% rename from core/src/main/java/haveno/core/monetary/Altcoin.java rename to core/src/main/java/haveno/core/monetary/CryptoMoney.java index 64c67989..dfb84716 100644 --- a/core/src/main/java/haveno/core/monetary/Altcoin.java +++ b/core/src/main/java/haveno/core/monetary/CryptoMoney.java @@ -30,12 +30,12 @@ import static com.google.common.base.Preconditions.checkArgument; /** * Cloned from Fiat class and altered SMALLEST_UNIT_EXPONENT as Fiat is final. *

- * Represents a monetary fiat value. It was decided to not fold this into {@link org.bitcoinj.core.Coin} because of type + * Represents a monetary crypto value. It was decided to not fold this into {@link org.bitcoinj.core.Coin} because of type * safety. Volume values always come with an attached currency code. *

* This class is immutable. */ -public final class Altcoin implements Monetary, Comparable { +public final class CryptoMoney implements Monetary, Comparable { /** * The absolute value of exponent of the value of a "smallest unit" in scientific notation. We picked 4 rather than * 2, because in financial applications it's common to use sub-cent precision. @@ -50,13 +50,13 @@ public final class Altcoin implements Monetary, Comparable { public final long value; public final String currencyCode; - private Altcoin(final String currencyCode, final long value) { + private CryptoMoney(final String currencyCode, final long value) { this.value = value; this.currencyCode = currencyCode; } - public static Altcoin valueOf(final String currencyCode, final long value) { - return new Altcoin(currencyCode, value); + public static CryptoMoney valueOf(final String currencyCode, final long value) { + return new CryptoMoney(currencyCode, value); } @Override @@ -85,40 +85,40 @@ public final class Altcoin implements Monetary, Comparable { * * @throws IllegalArgumentException if you try to specify fractional satoshis, or a value out of range. */ - public static Altcoin parseAltcoin(final String currencyCode, String input) { + public static CryptoMoney parseCrypto(final String currencyCode, String input) { String cleaned = ParsingUtils.convertCharsForNumber(input); try { long val = new BigDecimal(cleaned).movePointRight(SMALLEST_UNIT_EXPONENT) .toBigIntegerExact().longValue(); - return Altcoin.valueOf(currencyCode, val); + return CryptoMoney.valueOf(currencyCode, val); } catch (ArithmeticException e) { throw new IllegalArgumentException(e); } } - public Altcoin add(final Altcoin value) { + public CryptoMoney add(final CryptoMoney value) { checkArgument(value.currencyCode.equals(currencyCode)); - return new Altcoin(currencyCode, LongMath.checkedAdd(this.value, value.value)); + return new CryptoMoney(currencyCode, LongMath.checkedAdd(this.value, value.value)); } - public Altcoin subtract(final Altcoin value) { + public CryptoMoney subtract(final CryptoMoney value) { checkArgument(value.currencyCode.equals(currencyCode)); - return new Altcoin(currencyCode, LongMath.checkedSubtract(this.value, value.value)); + return new CryptoMoney(currencyCode, LongMath.checkedSubtract(this.value, value.value)); } - public Altcoin multiply(final long factor) { - return new Altcoin(currencyCode, LongMath.checkedMultiply(this.value, factor)); + public CryptoMoney multiply(final long factor) { + return new CryptoMoney(currencyCode, LongMath.checkedMultiply(this.value, factor)); } - public Altcoin divide(final long divisor) { - return new Altcoin(currencyCode, this.value / divisor); + public CryptoMoney divide(final long divisor) { + return new CryptoMoney(currencyCode, this.value / divisor); } - public Altcoin[] divideAndRemainder(final long divisor) { - return new Altcoin[]{new Altcoin(currencyCode, this.value / divisor), new Altcoin(currencyCode, this.value % divisor)}; + public CryptoMoney[] divideAndRemainder(final long divisor) { + return new CryptoMoney[]{new CryptoMoney(currencyCode, this.value / divisor), new CryptoMoney(currencyCode, this.value % divisor)}; } - public long divide(final Altcoin divisor) { + public long divide(final CryptoMoney divisor) { checkArgument(divisor.currencyCode.equals(currencyCode)); return this.value / divisor.value; } @@ -148,7 +148,7 @@ public final class Altcoin implements Monetary, Comparable { * Returns true if the monetary value represented by this instance is greater than that of the given other Coin, * otherwise false. */ - public boolean isGreaterThan(Altcoin other) { + public boolean isGreaterThan(CryptoMoney other) { return compareTo(other) > 0; } @@ -156,7 +156,7 @@ public final class Altcoin implements Monetary, Comparable { * Returns true if the monetary value represented by this instance is less than that of the given other Coin, * otherwise false. */ - public boolean isLessThan(Altcoin other) { + public boolean isLessThan(CryptoMoney other) { return compareTo(other) < 0; } @@ -167,8 +167,8 @@ public final class Altcoin implements Monetary, Comparable { return this.value < 0 ? -1 : 1; } - public Altcoin negate() { - return new Altcoin(currencyCode, -this.value); + public CryptoMoney negate() { + return new CryptoMoney(currencyCode, -this.value); } public String toFriendlyString() { @@ -196,7 +196,7 @@ public final class Altcoin implements Monetary, Comparable { return true; if (o == null || o.getClass() != getClass()) return false; - final Altcoin other = (Altcoin) o; + final CryptoMoney other = (CryptoMoney) o; return this.value == other.value && this.currencyCode.equals(other.currencyCode); } @@ -206,7 +206,7 @@ public final class Altcoin implements Monetary, Comparable { } @Override - public int compareTo(@NotNull final Altcoin other) { + public int compareTo(@NotNull final CryptoMoney other) { if (!this.currencyCode.equals(other.currencyCode)) return this.currencyCode.compareTo(other.currencyCode); if (this.value != other.value) diff --git a/core/src/main/java/haveno/core/monetary/MonetaryWrapper.java b/core/src/main/java/haveno/core/monetary/MonetaryWrapper.java index 8cdf5289..67f39534 100644 --- a/core/src/main/java/haveno/core/monetary/MonetaryWrapper.java +++ b/core/src/main/java/haveno/core/monetary/MonetaryWrapper.java @@ -25,10 +25,10 @@ import org.slf4j.LoggerFactory; public abstract class MonetaryWrapper { private static final Logger log = LoggerFactory.getLogger(MonetaryWrapper.class); - /// Instance of Fiat or Altcoin + /// Instance of TraditionalMoney or CryptoMoney protected final Monetary monetary; - protected final MonetaryFormat fiatFormat = MonetaryFormat.FIAT.repeatOptionalDecimals(0, 0); - protected final MonetaryFormat altCoinFormat = MonetaryFormat.FIAT.repeatOptionalDecimals(0, 0); + protected final MonetaryFormat traditionalFormat = MonetaryFormat.FIAT.repeatOptionalDecimals(0, 0); + protected final MonetaryFormat cryptoFormat = MonetaryFormat.FIAT.repeatOptionalDecimals(0, 0); public MonetaryWrapper(Monetary monetary) { this.monetary = monetary; diff --git a/core/src/main/java/haveno/core/monetary/Price.java b/core/src/main/java/haveno/core/monetary/Price.java index beb9b63a..98703aae 100644 --- a/core/src/main/java/haveno/core/monetary/Price.java +++ b/core/src/main/java/haveno/core/monetary/Price.java @@ -21,8 +21,6 @@ import haveno.core.locale.CurrencyUtil; import haveno.core.trade.HavenoUtils; import haveno.core.util.ParsingUtils; import org.bitcoinj.core.Monetary; -import org.bitcoinj.utils.ExchangeRate; -import org.bitcoinj.utils.Fiat; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,7 +34,7 @@ import java.math.BigInteger; *
* We wrap an object implementing the {@link Monetary} interface from bitcoinj. We respect the * number of decimal digits of precision specified in the {@code smallestUnitExponent()}, defined in - * those classes, like {@link Fiat} or {@link Altcoin}. + * those classes, like {@link TraditionalMoney} or {@link CryptoMoney}. */ public class Price extends MonetaryWrapper implements Comparable { private static final Logger log = LoggerFactory.getLogger(Price.class); @@ -59,10 +57,10 @@ public class Price extends MonetaryWrapper implements Comparable { */ public static Price parse(String currencyCode, String input) { String cleaned = ParsingUtils.convertCharsForNumber(input); - if (CurrencyUtil.isFiatCurrency(currencyCode)) - return new Price(Fiat.parseFiat(currencyCode, cleaned)); + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) + return new Price(TraditionalMoney.parseTraditionalMoney(currencyCode, cleaned)); else - return new Price(Altcoin.parseAltcoin(currencyCode, cleaned)); + return new Price(CryptoMoney.parseCrypto(currencyCode, cleaned)); } /** @@ -73,34 +71,34 @@ public class Price extends MonetaryWrapper implements Comparable { * @return The parsed Price. */ public static Price valueOf(String currencyCode, long value) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) { - return new Price(Fiat.valueOf(currencyCode, value)); + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { + return new Price(TraditionalMoney.valueOf(currencyCode, value)); } else { - return new Price(Altcoin.valueOf(currencyCode, value)); + return new Price(CryptoMoney.valueOf(currencyCode, value)); } } public Volume getVolumeByAmount(BigInteger amount) { - if (monetary instanceof Fiat) - return new Volume(new ExchangeRate((Fiat) monetary).coinToFiat(HavenoUtils.atomicUnitsToCoin(amount))); - else if (monetary instanceof Altcoin) - return new Volume(new AltcoinExchangeRate((Altcoin) monetary).coinToAltcoin(HavenoUtils.atomicUnitsToCoin(amount))); + if (monetary instanceof TraditionalMoney) + return new Volume(new TraditionalExchangeRate((TraditionalMoney) monetary).coinToTraditionalMoney(HavenoUtils.atomicUnitsToCoin(amount))); + else if (monetary instanceof CryptoMoney) + return new Volume(new CryptoExchangeRate((CryptoMoney) monetary).coinToCrypto(HavenoUtils.atomicUnitsToCoin(amount))); else - throw new IllegalStateException("Monetary must be either of type Fiat or Altcoin"); + throw new IllegalStateException("Monetary must be either of type TraditionalMoney or CryptoMoney"); } public BigInteger getAmountByVolume(Volume volume) { Monetary monetary = volume.getMonetary(); - if (monetary instanceof Fiat && this.monetary instanceof Fiat) - return HavenoUtils.coinToAtomicUnits(new ExchangeRate((Fiat) this.monetary).fiatToCoin((Fiat) monetary)); - else if (monetary instanceof Altcoin && this.monetary instanceof Altcoin) - return HavenoUtils.coinToAtomicUnits(new AltcoinExchangeRate((Altcoin) this.monetary).altcoinToCoin((Altcoin) monetary)); + if (monetary instanceof TraditionalMoney && this.monetary instanceof TraditionalMoney) + return HavenoUtils.coinToAtomicUnits(new TraditionalExchangeRate((TraditionalMoney) this.monetary).traditionalMoneyToCoin((TraditionalMoney) monetary)); + else if (monetary instanceof CryptoMoney && this.monetary instanceof CryptoMoney) + return HavenoUtils.coinToAtomicUnits(new CryptoExchangeRate((CryptoMoney) this.monetary).cryptoToCoin((CryptoMoney) monetary)); else return BigInteger.valueOf(0); } public String getCurrencyCode() { - return monetary instanceof Altcoin ? ((Altcoin) monetary).getCurrencyCode() : ((Fiat) monetary).getCurrencyCode(); + return monetary instanceof CryptoMoney ? ((CryptoMoney) monetary).getCurrencyCode() : ((TraditionalMoney) monetary).getCurrencyCode(); } @Override @@ -109,7 +107,7 @@ public class Price extends MonetaryWrapper implements Comparable { } /** - * Get the amount of whole coins or fiat units as double. + * Get the amount of whole coins or units as double. */ public double getDoubleValue() { return BigDecimal.valueOf(monetary.getValue()).movePointLeft(monetary.smallestUnitExponent()).doubleValue(); @@ -125,25 +123,25 @@ public class Price extends MonetaryWrapper implements Comparable { } public boolean isPositive() { - return monetary instanceof Altcoin ? ((Altcoin) monetary).isPositive() : ((Fiat) monetary).isPositive(); + return monetary instanceof CryptoMoney ? ((CryptoMoney) monetary).isPositive() : ((TraditionalMoney) monetary).isPositive(); } public Price subtract(Price other) { - if (monetary instanceof Altcoin) { - return new Price(((Altcoin) monetary).subtract((Altcoin) other.monetary)); + if (monetary instanceof CryptoMoney) { + return new Price(((CryptoMoney) monetary).subtract((CryptoMoney) other.monetary)); } else { - return new Price(((Fiat) monetary).subtract((Fiat) other.monetary)); + return new Price(((TraditionalMoney) monetary).subtract((TraditionalMoney) other.monetary)); } } public String toFriendlyString() { - return monetary instanceof Altcoin ? - ((Altcoin) monetary).toFriendlyString() + "/XMR" : - ((Fiat) monetary).toFriendlyString().replace(((Fiat) monetary).currencyCode, "") + "XMR/" + ((Fiat) monetary).currencyCode; + return monetary instanceof CryptoMoney ? + ((CryptoMoney) monetary).toFriendlyString() + "/XMR" : + ((TraditionalMoney) monetary).toFriendlyString().replace(((TraditionalMoney) monetary).currencyCode, "") + "XMR/" + ((TraditionalMoney) monetary).currencyCode; } public String toPlainString() { - return monetary instanceof Altcoin ? ((Altcoin) monetary).toPlainString() : ((Fiat) monetary).toPlainString(); + return monetary instanceof CryptoMoney ? ((CryptoMoney) monetary).toPlainString() : ((TraditionalMoney) monetary).toPlainString(); } @Override diff --git a/core/src/main/java/haveno/core/monetary/TraditionalExchangeRate.java b/core/src/main/java/haveno/core/monetary/TraditionalExchangeRate.java new file mode 100644 index 00000000..a1a9e03b --- /dev/null +++ b/core/src/main/java/haveno/core/monetary/TraditionalExchangeRate.java @@ -0,0 +1,98 @@ +/* + * This file is part of Haveno. + * + * Haveno is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Haveno is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Haveno. If not, see . + */ + + package haveno.core.monetary; + + import static com.google.common.base.Preconditions.checkArgument; + + import java.io.Serializable; + import java.math.BigInteger; + + import org.bitcoinj.core.Coin; + + import com.google.common.base.Objects; + + /** + * An exchange rate is expressed as a ratio of a {@link Coin} and a traditional money amount. + */ + public class TraditionalExchangeRate implements Serializable { + + public final Coin coin; + public final TraditionalMoney traditionalMoney; + + /** Construct exchange rate. This amount of coin is worth that amount of money. */ + public TraditionalExchangeRate(Coin coin, TraditionalMoney traditionalMoney) { + checkArgument(coin.isPositive()); + checkArgument(traditionalMoney.isPositive()); + checkArgument(traditionalMoney.currencyCode != null, "currency code required"); + this.coin = coin; + this.traditionalMoney = traditionalMoney; + } + + /** Construct exchange rate. One coin is worth this amount of traditional money. */ + public TraditionalExchangeRate(TraditionalMoney traditionalMoney) { + this(Coin.COIN, traditionalMoney); + } + + /** + * Convert a coin amount to a traditional money amount using this exchange rate. + * @throws ArithmeticException if the converted amount is too high or too low. + */ + public TraditionalMoney coinToTraditionalMoney(Coin convertCoin) { + // Use BigInteger because it's much easier to maintain full precision without overflowing. + final BigInteger converted = BigInteger.valueOf(convertCoin.value).multiply(BigInteger.valueOf(traditionalMoney.value)) + .divide(BigInteger.valueOf(coin.value)); + if (converted.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) > 0 + || converted.compareTo(BigInteger.valueOf(Long.MIN_VALUE)) < 0) + throw new ArithmeticException("Overflow"); + return TraditionalMoney.valueOf(traditionalMoney.currencyCode, converted.longValue()); + } + + /** + * Convert a traditional money amount to a coin amount using this exchange rate. + * @throws ArithmeticException if the converted coin amount is too high or too low. + */ + public Coin traditionalMoneyToCoin(TraditionalMoney convertTraditionalMoney) { + checkArgument(convertTraditionalMoney.currencyCode.equals(traditionalMoney.currencyCode), "Currency mismatch: %s vs %s", + convertTraditionalMoney.currencyCode, traditionalMoney.currencyCode); + // Use BigInteger because it's much easier to maintain full precision without overflowing. + final BigInteger converted = BigInteger.valueOf(convertTraditionalMoney.value).multiply(BigInteger.valueOf(coin.value)) + .divide(BigInteger.valueOf(traditionalMoney.value)); + if (converted.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) > 0 + || converted.compareTo(BigInteger.valueOf(Long.MIN_VALUE)) < 0) + throw new ArithmeticException("Overflow"); + try { + return Coin.valueOf(converted.longValue()); + } catch (IllegalArgumentException x) { + throw new ArithmeticException("Overflow: " + x.getMessage()); + } + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TraditionalExchangeRate other = (TraditionalExchangeRate) o; + return Objects.equal(this.coin, other.coin) && Objects.equal(this.traditionalMoney, other.traditionalMoney); + } + + @Override + public int hashCode() { + return Objects.hashCode(coin, traditionalMoney); + } + } + \ No newline at end of file diff --git a/core/src/main/java/haveno/core/monetary/TraditionalMoney.java b/core/src/main/java/haveno/core/monetary/TraditionalMoney.java new file mode 100644 index 00000000..b8b106a1 --- /dev/null +++ b/core/src/main/java/haveno/core/monetary/TraditionalMoney.java @@ -0,0 +1,243 @@ +/* + * Copyright 2014 Andreas Schildbach + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package haveno.core.monetary; + +import static com.google.common.base.Preconditions.checkArgument; + +import java.io.Serializable; +import java.math.BigDecimal; + +import org.bitcoinj.core.Coin; +import org.bitcoinj.core.Monetary; +import org.bitcoinj.utils.MonetaryFormat; + +import com.google.common.base.Objects; +import com.google.common.math.LongMath; +import com.google.common.primitives.Longs; + +/** + * Represents a monetary value. It was decided to not fold this into + * {@link Coin} because of type + * safety. Traditional money values always come with an attached currency code. + * + * This class is immutable. + */ +public final class TraditionalMoney implements Monetary, Comparable, Serializable { + + /** + * The absolute value of exponent of the value of a "smallest unit" in + * scientific notation. We picked 8 rather than + * 2, because in financial applications it's common to use sub-cent precision. + */ + public static final int SMALLEST_UNIT_EXPONENT = 8; + + /** + * The number of smallest units of this monetary value. + */ + public final long value; + public final String currencyCode; + + private TraditionalMoney(final String currencyCode, final long value) { + this.value = value; + this.currencyCode = currencyCode; + } + + public static TraditionalMoney valueOf(final String currencyCode, final long value) { + return new TraditionalMoney(currencyCode, value); + } + + @Override + public int smallestUnitExponent() { + return SMALLEST_UNIT_EXPONENT; + } + + /** + * Returns the number of "smallest units" of this monetary value. + */ + @Override + public long getValue() { + return value; + } + + public String getCurrencyCode() { + return currencyCode; + } + + /** + *

Parses an amount expressed in the way humans are used to.

+ *

This takes string in a format understood by {@link BigDecimal#BigDecimal(String)}, for example "0", "1", "0.10", + * "1.23E3", "1234.5E-5".

+ * + * @throws IllegalArgumentException + * if you try to specify more than 8 digits after the comma, or a value out of range. + */ + public static TraditionalMoney parseTraditionalMoney(final String currencyCode, final String str) { + try { + long val = new BigDecimal(str).movePointRight(SMALLEST_UNIT_EXPONENT).longValueExact(); + return TraditionalMoney.valueOf(currencyCode, val); + } catch (ArithmeticException e) { + throw new IllegalArgumentException(e); + } + } + + /** + *

Parses an amount expressed in the way humans are used to. The amount is cut to 8 digits after the comma.

+ *

This takes string in a format understood by {@link BigDecimal#BigDecimal(String)}, for example "0", "1", "0.10", + * "1.23E3", "1234.5E-5".

+ * + * @throws IllegalArgumentException + * if you try to specify a value out of range. + */ + public static TraditionalMoney parseTraditionalMoneyInexact(final String currencyCode, final String str) { + try { + long val = new BigDecimal(str).movePointRight(SMALLEST_UNIT_EXPONENT).longValue(); + return TraditionalMoney.valueOf(currencyCode, val); + } catch (ArithmeticException e) { + throw new IllegalArgumentException(e); + } + } + + public TraditionalMoney add(final TraditionalMoney value) { + checkArgument(value.currencyCode.equals(currencyCode)); + return new TraditionalMoney(currencyCode, LongMath.checkedAdd(this.value, value.value)); + } + + public TraditionalMoney subtract(final TraditionalMoney value) { + checkArgument(value.currencyCode.equals(currencyCode)); + return new TraditionalMoney(currencyCode, LongMath.checkedSubtract(this.value, value.value)); + } + + public TraditionalMoney multiply(final long factor) { + return new TraditionalMoney(currencyCode, LongMath.checkedMultiply(this.value, factor)); + } + + public TraditionalMoney divide(final long divisor) { + return new TraditionalMoney(currencyCode, this.value / divisor); + } + + public TraditionalMoney[] divideAndRemainder(final long divisor) { + return new TraditionalMoney[] { new TraditionalMoney(currencyCode, this.value / divisor), new TraditionalMoney(currencyCode, this.value % divisor) }; + } + + public long divide(final TraditionalMoney divisor) { + checkArgument(divisor.currencyCode.equals(currencyCode)); + return this.value / divisor.value; + } + + /** + * Returns true if and only if this instance represents a monetary value greater than zero, otherwise false. + */ + public boolean isPositive() { + return signum() == 1; + } + + /** + * Returns true if and only if this instance represents a monetary value less than zero, otherwise false. + */ + public boolean isNegative() { + return signum() == -1; + } + + /** + * Returns true if and only if this instance represents zero monetary value, otherwise false. + */ + public boolean isZero() { + return signum() == 0; + } + + /** + * Returns true if the monetary value represented by this instance is greater than that of the given other TraditionalMoney, + * otherwise false. + */ + public boolean isGreaterThan(TraditionalMoney other) { + return compareTo(other) > 0; + } + + /** + * Returns true if the monetary value represented by this instance is less than that of the given other TraditionalMoney, + * otherwise false. + */ + public boolean isLessThan(TraditionalMoney other) { + return compareTo(other) < 0; + } + + @Override + public int signum() { + if (this.value == 0) + return 0; + return this.value < 0 ? -1 : 1; + } + + public TraditionalMoney negate() { + return new TraditionalMoney(currencyCode, -this.value); + } + + /** + * Returns the number of "smallest units" of this monetary value. It's deprecated in favour of accessing {@link #value} + * directly. + */ + public long longValue() { + return this.value; + } + + private static final MonetaryFormat FRIENDLY_FORMAT = MonetaryFormat.FIAT.postfixCode(); + + /** + * Returns the value as a 0.12 type string. More digits after the decimal place will be used if necessary, but two + * will always be present. + */ + public String toFriendlyString() { + return FRIENDLY_FORMAT.code(0, currencyCode).format(this).toString(); + } + + private static final MonetaryFormat PLAIN_FORMAT = MonetaryFormat.FIAT.minDecimals(0).repeatOptionalDecimals(1, 8).noCode(); + + /** + *

+ * Returns the value as a plain string. The result is unformatted with no trailing zeroes. For + * instance, a value of 150000 "smallest units" gives an output string of "0.0015". + *

+ */ + public String toPlainString() { + return PLAIN_FORMAT.format(this).toString(); + } + + @Override + public String toString() { + return Long.toString(value); + } + + @Override + public boolean equals(final Object o) { + if (o == this) return true; + if (o == null || o.getClass() != getClass()) return false; + final TraditionalMoney other = (TraditionalMoney) o; + return this.value == other.value && this.currencyCode.equals(other.currencyCode); + } + + @Override + public int hashCode() { + return Objects.hashCode(value, currencyCode); + } + + @Override + public int compareTo(final TraditionalMoney other) { + if (!this.currencyCode.equals(other.currencyCode)) + return this.currencyCode.compareTo(other.currencyCode); + return Longs.compare(this.value, other.value); + } +} diff --git a/core/src/main/java/haveno/core/monetary/Volume.java b/core/src/main/java/haveno/core/monetary/Volume.java index f5923ad2..55ffcf4d 100644 --- a/core/src/main/java/haveno/core/monetary/Volume.java +++ b/core/src/main/java/haveno/core/monetary/Volume.java @@ -20,7 +20,6 @@ package haveno.core.monetary; import haveno.core.locale.CurrencyUtil; import haveno.core.util.ParsingUtils; import org.bitcoinj.core.Monetary; -import org.bitcoinj.utils.Fiat; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,10 +33,10 @@ public class Volume extends MonetaryWrapper implements Comparable { public static Volume parse(String input, String currencyCode) { String cleaned = ParsingUtils.convertCharsForNumber(input); - if (CurrencyUtil.isFiatCurrency(currencyCode)) - return new Volume(Fiat.parseFiat(currencyCode, cleaned)); + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) + return new Volume(TraditionalMoney.parseTraditionalMoney(currencyCode, cleaned)); else - return new Volume(Altcoin.parseAltcoin(currencyCode, cleaned)); + return new Volume(CryptoMoney.parseCrypto(currencyCode, cleaned)); } @Override @@ -50,11 +49,11 @@ public class Volume extends MonetaryWrapper implements Comparable { } public String getCurrencyCode() { - return monetary instanceof Altcoin ? ((Altcoin) monetary).getCurrencyCode() : ((Fiat) monetary).getCurrencyCode(); + return monetary instanceof CryptoMoney ? ((CryptoMoney) monetary).getCurrencyCode() : ((TraditionalMoney) monetary).getCurrencyCode(); } public String toPlainString() { - return monetary instanceof Altcoin ? ((Altcoin) monetary).toPlainString() : ((Fiat) monetary).toPlainString(); + return monetary instanceof CryptoMoney ? ((CryptoMoney) monetary).toPlainString() : ((TraditionalMoney) monetary).toPlainString(); } @Override diff --git a/core/src/main/java/haveno/core/notifications/alerts/market/MarketAlerts.java b/core/src/main/java/haveno/core/notifications/alerts/market/MarketAlerts.java index ae7c965d..07fc7fb8 100644 --- a/core/src/main/java/haveno/core/notifications/alerts/market/MarketAlerts.java +++ b/core/src/main/java/haveno/core/notifications/alerts/market/MarketAlerts.java @@ -21,8 +21,9 @@ import haveno.common.crypto.KeyRing; import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.notifications.MobileMessage; import haveno.core.notifications.MobileMessageType; import haveno.core.notifications.MobileNotificationService; @@ -34,7 +35,6 @@ import haveno.core.provider.price.PriceFeedService; import haveno.core.user.User; import haveno.core.util.FormattingUtils; import lombok.extern.slf4j.Slf4j; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Singleton; @@ -103,7 +103,7 @@ public class MarketAlerts { // We combine the offer ID and the price (either as % price or as fixed price) to get also updates for edited offers // % price get multiplied by 10000 to have 0.12% be converted to 12. For fixed price we have precision of 8 for - // altcoins and precision of 4 for fiat. + // crypto and traditional. private String getAlertId(Offer offer) { double price = offer.isUseMarketBasedPrice() ? offer.getMarketPriceMarginPct() * 10000 : offer.getOfferPayload().getPrice(); String priceString = String.valueOf((long) price); @@ -117,7 +117,7 @@ public class MarketAlerts { if (marketPrice != null && offerPrice != null) { boolean isSellOffer = offer.getDirection() == OfferDirection.SELL; String shortOfferId = offer.getShortId(); - boolean isFiatCurrency = CurrencyUtil.isFiatCurrency(currencyCode); + boolean isTraditionalCurrency = CurrencyUtil.isTraditionalCurrency(currencyCode); String alertId = getAlertId(offer); user.getMarketAlertFilters().stream() .filter(marketAlertFilter -> !offer.isMyOffer(keyRing)) @@ -127,16 +127,16 @@ public class MarketAlerts { int triggerValue = marketAlertFilter.getTriggerValue(); boolean isTriggerForBuyOffer = marketAlertFilter.isBuyOffer(); double marketPriceAsDouble1 = marketPrice.getPrice(); - int precision = CurrencyUtil.isCryptoCurrency(currencyCode) ? - Altcoin.SMALLEST_UNIT_EXPONENT : - Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : + CryptoMoney.SMALLEST_UNIT_EXPONENT; double marketPriceAsDouble = MathUtils.scaleUpByPowerOf10(marketPriceAsDouble1, precision); double offerPriceValue = offerPrice.getValue(); double ratio = offerPriceValue / marketPriceAsDouble; ratio = 1 - ratio; - if (isFiatCurrency && isSellOffer) + if (isTraditionalCurrency && isSellOffer) ratio *= -1; - else if (!isFiatCurrency && !isSellOffer) + else if (!isTraditionalCurrency && !isSellOffer) ratio *= -1; ratio = ratio * 10000; @@ -149,7 +149,7 @@ public class MarketAlerts { if (isTriggerForBuyOfferAndTriggered || isTriggerForSellOfferAndTriggered) { String direction = isSellOffer ? Res.get("shared.sell") : Res.get("shared.buy"); String marketDir; - if (isFiatCurrency) { + if (isTraditionalCurrency) { if (isSellOffer) { marketDir = ratio > 0 ? Res.get("account.notifications.marketAlert.message.msg.above") : diff --git a/core/src/main/java/haveno/core/notifications/alerts/price/PriceAlert.java b/core/src/main/java/haveno/core/notifications/alerts/price/PriceAlert.java index 61e36152..684533a4 100644 --- a/core/src/main/java/haveno/core/notifications/alerts/price/PriceAlert.java +++ b/core/src/main/java/haveno/core/notifications/alerts/price/PriceAlert.java @@ -20,7 +20,8 @@ package haveno.core.notifications.alerts.price; import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; +import haveno.core.monetary.TraditionalMoney; import haveno.core.notifications.MobileMessage; import haveno.core.notifications.MobileMessageType; import haveno.core.notifications.MobileNotificationService; @@ -29,7 +30,6 @@ import haveno.core.provider.price.PriceFeedService; import haveno.core.user.User; import haveno.core.util.FormattingUtils; import lombok.extern.slf4j.Slf4j; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Singleton; @@ -58,7 +58,7 @@ public class PriceAlert { String currencyCode = filter.getCurrencyCode(); MarketPrice marketPrice = priceFeedService.getMarketPrice(currencyCode); if (marketPrice != null) { - int exp = CurrencyUtil.isCryptoCurrency(currencyCode) ? Altcoin.SMALLEST_UNIT_EXPONENT : Fiat.SMALLEST_UNIT_EXPONENT; + int exp = CurrencyUtil.isTraditionalCurrency(currencyCode) ? TraditionalMoney.SMALLEST_UNIT_EXPONENT : CryptoMoney.SMALLEST_UNIT_EXPONENT; double priceAsDouble = marketPrice.getPrice(); long priceAsLong = MathUtils.roundDoubleToLong(MathUtils.scaleUpByPowerOf10(priceAsDouble, exp)); String currencyName = CurrencyUtil.getNameByCode(currencyCode); diff --git a/core/src/main/java/haveno/core/offer/Offer.java b/core/src/main/java/haveno/core/offer/Offer.java index b5a93d9c..efaf9030 100644 --- a/core/src/main/java/haveno/core/offer/Offer.java +++ b/core/src/main/java/haveno/core/offer/Offer.java @@ -28,8 +28,9 @@ import haveno.common.util.MathUtils; import haveno.common.util.Utilities; import haveno.core.exceptions.TradePriceOutOfToleranceException; import haveno.core.locale.CurrencyUtil; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.monetary.Volume; import haveno.core.offer.availability.OfferAvailabilityModel; import haveno.core.offer.availability.OfferAvailabilityProtocol; @@ -46,7 +47,6 @@ import javafx.beans.property.StringProperty; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; -import org.bitcoinj.utils.Fiat; import javax.annotation.Nullable; import java.math.BigInteger; @@ -182,9 +182,9 @@ public class Offer implements NetworkPayload, PersistablePayload { double marketPriceAsDouble = marketPrice.getPrice(); double targetPriceAsDouble = marketPriceAsDouble * factor; try { - int precision = CurrencyUtil.isCryptoCurrency(currencyCode) ? - Altcoin.SMALLEST_UNIT_EXPONENT : - Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : + CryptoMoney.SMALLEST_UNIT_EXPONENT; double scaled = MathUtils.scaleUpByPowerOf10(targetPriceAsDouble, precision); final long roundedToLong = MathUtils.roundDoubleToLong(scaled); return Price.valueOf(currencyCode, roundedToLong); @@ -528,6 +528,10 @@ public class Offer implements NetworkPayload, PersistablePayload { return getCurrencyCode().equals("XMR"); } + public boolean isTraditionalOffer() { + return CurrencyUtil.isTraditionalCurrency(currencyCode); + } + public boolean isFiatOffer() { return CurrencyUtil.isFiatCurrency(currencyCode); } diff --git a/core/src/main/java/haveno/core/offer/OfferFilterService.java b/core/src/main/java/haveno/core/offer/OfferFilterService.java index 27d41cf8..1339f315 100644 --- a/core/src/main/java/haveno/core/offer/OfferFilterService.java +++ b/core/src/main/java/haveno/core/offer/OfferFilterService.java @@ -188,7 +188,7 @@ public class OfferFilterService { return insufficientCounterpartyTradeLimitCache.get(offerId); } - boolean result = offer.isFiatOffer() && + boolean result = offer.isTraditionalOffer() && !accountAgeWitnessService.verifyPeersTradeAmount(offer, offer.getAmount(), errorMessage -> { }); @@ -215,7 +215,7 @@ public class OfferFilterService { accountOptional.isPresent() ? accountOptional.get().getAccountName() : "null", Coin.valueOf(myTradeLimit).toFriendlyString(), Coin.valueOf(offerMinAmount).toFriendlyString()); - boolean result = offer.isFiatOffer() && + boolean result = offer.isTraditionalOffer() && accountOptional.isPresent() && myTradeLimit < offerMinAmount; myInsufficientTradeLimitCache.put(offerId, result); diff --git a/core/src/main/java/haveno/core/offer/OfferForJson.java b/core/src/main/java/haveno/core/offer/OfferForJson.java index 53bb7f1e..4b893c97 100644 --- a/core/src/main/java/haveno/core/offer/OfferForJson.java +++ b/core/src/main/java/haveno/core/offer/OfferForJson.java @@ -18,9 +18,9 @@ package haveno.core.offer; import com.fasterxml.jackson.annotation.JsonIgnore; -import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; import haveno.core.monetary.Volume; import haveno.core.payment.payload.PaymentMethod; @@ -64,9 +64,9 @@ public class OfferForJson { public long primaryMarketMinVolume; @JsonIgnore - transient private final MonetaryFormat fiatFormat = new MonetaryFormat().shift(0).minDecimals(4).repeatOptionalDecimals(0, 0); + transient private final MonetaryFormat traditionalFormat = new MonetaryFormat().shift(0).minDecimals(4).repeatOptionalDecimals(0, 0); @JsonIgnore - transient private final MonetaryFormat altcoinFormat = new MonetaryFormat().shift(0).minDecimals(8).repeatOptionalDecimals(0, 0); + transient private final MonetaryFormat cryptoFormat = new MonetaryFormat().shift(0).minDecimals(CryptoMoney.SMALLEST_UNIT_EXPONENT).repeatOptionalDecimals(0, 0); @JsonIgnore transient private final MonetaryFormat coinFormat = MonetaryFormat.BTC; @@ -99,43 +99,34 @@ public class OfferForJson { private void setDisplayStrings() { try { final Price price = getPrice(); + if (CurrencyUtil.isCryptoCurrency(currencyCode)) { primaryMarketDirection = direction == OfferDirection.BUY ? OfferDirection.SELL : OfferDirection.BUY; currencyPair = currencyCode + "/" + Res.getBaseCurrencyCode(); - - // int precision = 8; - //decimalFormat.setMaximumFractionDigits(precision); - - // amount and volume is inverted for json - priceDisplayString = altcoinFormat.noCode().format(price.getMonetary()).toString(); - primaryMarketMinAmountDisplayString = altcoinFormat.noCode().format(getMinVolume().getMonetary()).toString(); - primaryMarketAmountDisplayString = altcoinFormat.noCode().format(getVolume().getMonetary()).toString(); - primaryMarketMinVolumeDisplayString = HavenoUtils.formatXmr(getMinAmount()).toString(); - primaryMarketVolumeDisplayString = HavenoUtils.formatXmr(getAmount()).toString(); - - primaryMarketPrice = price.getValue(); - primaryMarketMinAmount = getMinVolume().getValue(); - primaryMarketAmount = getVolume().getValue(); - primaryMarketMinVolume = getMinAmount().longValueExact(); - primaryMarketVolume = getAmount().longValueExact(); } else { primaryMarketDirection = direction; currencyPair = Res.getBaseCurrencyCode() + "/" + currencyCode; + } - priceDisplayString = fiatFormat.noCode().format(price.getMonetary()).toString(); + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { + priceDisplayString = traditionalFormat.noCode().format(price.getMonetary()).toString(); primaryMarketMinAmountDisplayString = HavenoUtils.formatXmr(getMinAmount()).toString(); primaryMarketAmountDisplayString = HavenoUtils.formatXmr(getAmount()).toString(); - primaryMarketMinVolumeDisplayString = fiatFormat.noCode().format(getMinVolume().getMonetary()).toString(); - primaryMarketVolumeDisplayString = fiatFormat.noCode().format(getVolume().getMonetary()).toString(); - - // we use precision 4 for fiat based price but on the markets api we use precision 8 so we scale up by 10000 - primaryMarketPrice = (long) MathUtils.scaleUpByPowerOf10(price.getValue(), 4); - primaryMarketMinVolume = (long) MathUtils.scaleUpByPowerOf10(getMinVolume().getValue(), 4); - primaryMarketVolume = (long) MathUtils.scaleUpByPowerOf10(getVolume().getValue(), 4); - - primaryMarketMinAmount = getMinAmount().longValueExact(); - primaryMarketAmount = getAmount().longValueExact(); + primaryMarketMinVolumeDisplayString = traditionalFormat.noCode().format(getMinVolume().getMonetary()).toString(); + primaryMarketVolumeDisplayString = traditionalFormat.noCode().format(getVolume().getMonetary()).toString(); + } else { + // amount and volume is inverted for json + priceDisplayString = cryptoFormat.noCode().format(price.getMonetary()).toString(); + primaryMarketMinAmountDisplayString = cryptoFormat.noCode().format(getMinVolume().getMonetary()).toString(); + primaryMarketAmountDisplayString = cryptoFormat.noCode().format(getVolume().getMonetary()).toString(); + primaryMarketMinVolumeDisplayString = HavenoUtils.formatXmr(getMinAmount()).toString(); + primaryMarketVolumeDisplayString = HavenoUtils.formatXmr(getAmount()).toString(); } + primaryMarketPrice = price.getValue(); + primaryMarketMinAmount = getMinVolume().getValue(); + primaryMarketAmount = getVolume().getValue(); + primaryMarketMinVolume = getMinAmount().longValueExact(); + primaryMarketVolume = getAmount().longValueExact(); } catch (Throwable t) { log.error("Error at setDisplayStrings: " + t.getMessage()); diff --git a/core/src/main/java/haveno/core/offer/OfferPayload.java b/core/src/main/java/haveno/core/offer/OfferPayload.java index 9d62fced..81ca2f01 100644 --- a/core/src/main/java/haveno/core/offer/OfferPayload.java +++ b/core/src/main/java/haveno/core/offer/OfferPayload.java @@ -56,8 +56,8 @@ public final class OfferPayload implements ProtectedStoragePayload, ExpirablePay protected final String id; protected final long date; - // For fiat offer the baseCurrencyCode is BTC and the counterCurrencyCode is the fiat currency - // For altcoin offers it is the opposite. baseCurrencyCode is the altcoin and the counterCurrencyCode is BTC. + // For traditional offer the baseCurrencyCode is XMR and the counterCurrencyCode is the traditional currency + // For crypto offers it is the opposite. baseCurrencyCode is the crypto and the counterCurrencyCode is XMR. protected final String baseCurrencyCode; protected final String counterCurrencyCode; // price if fixed price is used (usePercentageBasedPrice = false), otherwise 0 @@ -89,7 +89,7 @@ public final class OfferPayload implements ProtectedStoragePayload, ExpirablePay protected List reserveTxKeyImages; // Keys for extra map - // Only set for fiat offers + // Only set for traditional offers public static final String ACCOUNT_AGE_WITNESS_HASH = "accountAgeWitnessHash"; public static final String REFERRAL_ID = "referralId"; // Only used in payment method F2F @@ -255,7 +255,7 @@ public final class OfferPayload implements ProtectedStoragePayload, ExpirablePay // In the offer we support base and counter currency // Fiat offers have base currency XMR and counterCurrency Fiat - // Altcoins have base currency Altcoin and counterCurrency XMR + // Cryptos have base currency Crypto and counterCurrency XMR // The rest of the app does not support yet that concept of base currency and counter currencies // so we map here for convenience public String getCurrencyCode() { diff --git a/core/src/main/java/haveno/core/offer/OfferUtil.java b/core/src/main/java/haveno/core/offer/OfferUtil.java index f55e85b0..e3455a6d 100644 --- a/core/src/main/java/haveno/core/offer/OfferUtil.java +++ b/core/src/main/java/haveno/core/offer/OfferUtil.java @@ -26,6 +26,7 @@ import haveno.core.filter.FilterManager; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.monetary.Volume; import haveno.core.payment.CashByMailAccount; import haveno.core.payment.F2FAccount; @@ -42,7 +43,6 @@ import lombok.extern.slf4j.Slf4j; import org.bitcoinj.core.Transaction; import org.bitcoinj.core.TransactionInput; import org.bitcoinj.core.TransactionOutput; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Singleton; @@ -169,7 +169,7 @@ public class OfferUtil { CoinFormatter formatter) { String userCurrencyCode = preferences.getPreferredTradeCurrency().getCode(); if (CurrencyUtil.isCryptoCurrency(userCurrencyCode)) { - // In case the user has selected a altcoin as preferredTradeCurrency + // In case the user has selected a crypto as preferredTradeCurrency // we derive the fiat currency from the user country String countryCode = preferences.getUserCountry().code; userCurrencyCode = CurrencyUtil.getCurrencyByCountryCode(countryCode).getCode(); @@ -184,7 +184,7 @@ public class OfferUtil { String currencyCode, OfferDirection direction) { Map extraDataMap = new HashMap<>(); - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { String myWitnessHashAsHex = accountAgeWitnessService .getMyWitnessHashAsHex(paymentAccount.getPaymentAccountPayload()); extraDataMap.put(ACCOUNT_AGE_WITNESS_HASH, myWitnessHashAsHex); @@ -236,7 +236,7 @@ public class OfferUtil { private Optional getFeeInUserFiatCurrency(BigInteger makerFee, String userCurrencyCode, CoinFormatter formatter) { MarketPrice marketPrice = priceFeedService.getMarketPrice(userCurrencyCode); if (marketPrice != null && makerFee != null) { - long marketPriceAsLong = roundDoubleToLong(scaleUpByPowerOf10(marketPrice.getPrice(), Fiat.SMALLEST_UNIT_EXPONENT)); + long marketPriceAsLong = roundDoubleToLong(scaleUpByPowerOf10(marketPrice.getPrice(), TraditionalMoney.SMALLEST_UNIT_EXPONENT)); Price userCurrencyPrice = Price.valueOf(userCurrencyCode, marketPriceAsLong); return Optional.of(userCurrencyPrice.getVolumeByAmount(makerFee)); } else { @@ -244,11 +244,11 @@ public class OfferUtil { } } - public static boolean isFiatOffer(Offer offer) { + public static boolean isTraditionalOffer(Offer offer) { return offer.getBaseCurrencyCode().equals("XMR"); } - public static boolean isAltcoinOffer(Offer offer) { + public static boolean isCryptoOffer(Offer offer) { return offer.getCounterCurrencyCode().equals("XMR"); } diff --git a/core/src/main/java/haveno/core/offer/TriggerPriceService.java b/core/src/main/java/haveno/core/offer/TriggerPriceService.java index 221bac76..37ebdaaf 100644 --- a/core/src/main/java/haveno/core/offer/TriggerPriceService.java +++ b/core/src/main/java/haveno/core/offer/TriggerPriceService.java @@ -19,8 +19,9 @@ package haveno.core.offer; import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.provider.mempool.MempoolService; import haveno.core.provider.price.MarketPrice; import haveno.core.provider.price.PriceFeedService; @@ -28,7 +29,6 @@ import haveno.network.p2p.BootstrapListener; import haveno.network.p2p.P2PService; import javafx.collections.ListChangeListener; import lombok.extern.slf4j.Slf4j; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Singleton; @@ -110,10 +110,10 @@ public class TriggerPriceService { } String currencyCode = openOffer.getOffer().getCurrencyCode(); - boolean cryptoCurrency = CurrencyUtil.isCryptoCurrency(currencyCode); - int smallestUnitExponent = cryptoCurrency ? - Altcoin.SMALLEST_UNIT_EXPONENT : - Fiat.SMALLEST_UNIT_EXPONENT; + boolean traditionalCurrency = CurrencyUtil.isTraditionalCurrency(currencyCode); + int smallestUnitExponent = traditionalCurrency ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : + CryptoMoney.SMALLEST_UNIT_EXPONENT; long marketPriceAsLong = roundDoubleToLong( scaleUpByPowerOf10(marketPrice.getPrice(), smallestUnitExponent)); long triggerPrice = openOffer.getTriggerPrice(); @@ -123,6 +123,7 @@ public class TriggerPriceService { OfferDirection direction = openOffer.getOffer().getDirection(); boolean isSellOffer = direction == OfferDirection.SELL; + boolean cryptoCurrency = CurrencyUtil.isCryptoCurrency(currencyCode); boolean condition = isSellOffer && !cryptoCurrency || !isSellOffer && cryptoCurrency; return condition ? marketPriceAsLong < triggerPrice : @@ -132,9 +133,9 @@ public class TriggerPriceService { private void checkPriceThreshold(MarketPrice marketPrice, OpenOffer openOffer) { if (wasTriggered(marketPrice, openOffer)) { String currencyCode = openOffer.getOffer().getCurrencyCode(); - int smallestUnitExponent = CurrencyUtil.isCryptoCurrency(currencyCode) ? - Altcoin.SMALLEST_UNIT_EXPONENT : - Fiat.SMALLEST_UNIT_EXPONENT; + int smallestUnitExponent = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : + CryptoMoney.SMALLEST_UNIT_EXPONENT; long triggerPrice = openOffer.getTriggerPrice(); log.info("Market price exceeded the trigger price of the open offer.\n" + diff --git a/core/src/main/java/haveno/core/payment/AchTransferAccount.java b/core/src/main/java/haveno/core/payment/AchTransferAccount.java index 1977dd89..104a036a 100644 --- a/core/src/main/java/haveno/core/payment/AchTransferAccount.java +++ b/core/src/main/java/haveno/core/payment/AchTransferAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.AchTransferAccountPayload; import haveno.core.payment.payload.BankAccountPayload; @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class AchTransferAccount extends CountryBasedPaymentAccount implements SameCountryRestrictedBankAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public AchTransferAccount() { super(PaymentMethod.ACH_TRANSFER); diff --git a/core/src/main/java/haveno/core/payment/AdvancedCashAccount.java b/core/src/main/java/haveno/core/payment/AdvancedCashAccount.java index ad8f7613..d9fe5475 100644 --- a/core/src/main/java/haveno/core/payment/AdvancedCashAccount.java +++ b/core/src/main/java/haveno/core/payment/AdvancedCashAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.AdvancedCashAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -32,13 +32,13 @@ import java.util.List; public final class AdvancedCashAccount extends PaymentAccount { public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("BRL"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("KZT"), - new FiatCurrency("RUB"), - new FiatCurrency("UAH"), - new FiatCurrency("USD")); + new TraditionalCurrency("BRL"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("KZT"), + new TraditionalCurrency("RUB"), + new TraditionalCurrency("UAH"), + new TraditionalCurrency("USD")); public AdvancedCashAccount() { super(PaymentMethod.ADVANCED_CASH); diff --git a/core/src/main/java/haveno/core/payment/AliPayAccount.java b/core/src/main/java/haveno/core/payment/AliPayAccount.java index 097c71d1..70f8584f 100644 --- a/core/src/main/java/haveno/core/payment/AliPayAccount.java +++ b/core/src/main/java/haveno/core/payment/AliPayAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.AliPayAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class AliPayAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("CNY")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("CNY")); public AliPayAccount() { super(PaymentMethod.ALI_PAY); diff --git a/core/src/main/java/haveno/core/payment/AmazonGiftCardAccount.java b/core/src/main/java/haveno/core/payment/AmazonGiftCardAccount.java index fbccf64e..3c381c47 100644 --- a/core/src/main/java/haveno/core/payment/AmazonGiftCardAccount.java +++ b/core/src/main/java/haveno/core/payment/AmazonGiftCardAccount.java @@ -20,7 +20,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.AmazonGiftCardAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -33,17 +33,17 @@ import java.util.List; public final class AmazonGiftCardAccount extends PaymentAccount { public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AUD"), - new FiatCurrency("CAD"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("INR"), - new FiatCurrency("JPY"), - new FiatCurrency("SAR"), - new FiatCurrency("SEK"), - new FiatCurrency("SGD"), - new FiatCurrency("TRY"), - new FiatCurrency("USD") + new TraditionalCurrency("AUD"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("INR"), + new TraditionalCurrency("JPY"), + new TraditionalCurrency("SAR"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("SGD"), + new TraditionalCurrency("TRY"), + new TraditionalCurrency("USD") ); @Nullable diff --git a/core/src/main/java/haveno/core/payment/AustraliaPayidAccount.java b/core/src/main/java/haveno/core/payment/AustraliaPayidAccount.java index ac875e40..60e9fe03 100644 --- a/core/src/main/java/haveno/core/payment/AustraliaPayidAccount.java +++ b/core/src/main/java/haveno/core/payment/AustraliaPayidAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.AustraliaPayidAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -29,7 +29,7 @@ import java.util.List; public final class AustraliaPayidAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("AUD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("AUD")); public AustraliaPayidAccount() { super(PaymentMethod.AUSTRALIA_PAYID); diff --git a/core/src/main/java/haveno/core/payment/BizumAccount.java b/core/src/main/java/haveno/core/payment/BizumAccount.java index 144aa030..3b782276 100644 --- a/core/src/main/java/haveno/core/payment/BizumAccount.java +++ b/core/src/main/java/haveno/core/payment/BizumAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.BizumAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class BizumAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("EUR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("EUR")); public BizumAccount() { super(PaymentMethod.BIZUM); diff --git a/core/src/main/java/haveno/core/payment/CapitualAccount.java b/core/src/main/java/haveno/core/payment/CapitualAccount.java index c66635a1..36e5329d 100644 --- a/core/src/main/java/haveno/core/payment/CapitualAccount.java +++ b/core/src/main/java/haveno/core/payment/CapitualAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.CapitualAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -32,10 +32,10 @@ import java.util.List; public final class CapitualAccount extends PaymentAccount { public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("BRL"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("USD") + new TraditionalCurrency("BRL"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("USD") ); public CapitualAccount() { diff --git a/core/src/main/java/haveno/core/payment/CashAppAccount.java b/core/src/main/java/haveno/core/payment/CashAppAccount.java index 4bbad2fa..c4ae7713 100644 --- a/core/src/main/java/haveno/core/payment/CashAppAccount.java +++ b/core/src/main/java/haveno/core/payment/CashAppAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.CashAppAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -34,7 +34,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class CashAppAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public CashAppAccount() { super(PaymentMethod.CASH_APP); diff --git a/core/src/main/java/haveno/core/payment/CashByMailAccount.java b/core/src/main/java/haveno/core/payment/CashByMailAccount.java index b4b7d644..5fa5c5bd 100644 --- a/core/src/main/java/haveno/core/payment/CashByMailAccount.java +++ b/core/src/main/java/haveno/core/payment/CashByMailAccount.java @@ -29,7 +29,7 @@ import java.util.List; public final class CashByMailAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllFiatCurrencies(); + public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllTraditionalCurrencies(); public CashByMailAccount() { super(PaymentMethod.CASH_BY_MAIL); diff --git a/core/src/main/java/haveno/core/payment/CashDepositAccount.java b/core/src/main/java/haveno/core/payment/CashDepositAccount.java index e4d952f6..01b56926 100644 --- a/core/src/main/java/haveno/core/payment/CashDepositAccount.java +++ b/core/src/main/java/haveno/core/payment/CashDepositAccount.java @@ -30,7 +30,7 @@ import java.util.List; public final class CashDepositAccount extends CountryBasedPaymentAccount implements SameCountryRestrictedBankAccount { - public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllFiatCurrencies(); + public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllTraditionalCurrencies(); public CashDepositAccount() { super(PaymentMethod.CASH_DEPOSIT); diff --git a/core/src/main/java/haveno/core/payment/CelPayAccount.java b/core/src/main/java/haveno/core/payment/CelPayAccount.java index 47aa30fb..12218703 100644 --- a/core/src/main/java/haveno/core/payment/CelPayAccount.java +++ b/core/src/main/java/haveno/core/payment/CelPayAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.CelPayAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -33,11 +33,11 @@ public final class CelPayAccount extends PaymentAccount { // https://github.com/bisq-network/growth/issues/231 public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AUD"), - new FiatCurrency("CAD"), - new FiatCurrency("GBP"), - new FiatCurrency("HKD"), - new FiatCurrency("USD") + new TraditionalCurrency("AUD"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("HKD"), + new TraditionalCurrency("USD") ); public CelPayAccount() { diff --git a/core/src/main/java/haveno/core/payment/ChaseQuickPayAccount.java b/core/src/main/java/haveno/core/payment/ChaseQuickPayAccount.java index ff33cd78..d481b6dd 100644 --- a/core/src/main/java/haveno/core/payment/ChaseQuickPayAccount.java +++ b/core/src/main/java/haveno/core/payment/ChaseQuickPayAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.ChaseQuickPayAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -34,7 +34,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class ChaseQuickPayAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public ChaseQuickPayAccount() { super(PaymentMethod.CHASE_QUICK_PAY); diff --git a/core/src/main/java/haveno/core/payment/DomesticWireTransferAccount.java b/core/src/main/java/haveno/core/payment/DomesticWireTransferAccount.java index 5e448aff..bebe18d8 100644 --- a/core/src/main/java/haveno/core/payment/DomesticWireTransferAccount.java +++ b/core/src/main/java/haveno/core/payment/DomesticWireTransferAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.BankAccountPayload; import haveno.core.payment.payload.DomesticWireTransferAccountPayload; @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class DomesticWireTransferAccount extends CountryBasedPaymentAccount implements SameCountryRestrictedBankAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public DomesticWireTransferAccount() { super(PaymentMethod.DOMESTIC_WIRE_TRANSFER); diff --git a/core/src/main/java/haveno/core/payment/F2FAccount.java b/core/src/main/java/haveno/core/payment/F2FAccount.java index 23b1fc5a..bf073f09 100644 --- a/core/src/main/java/haveno/core/payment/F2FAccount.java +++ b/core/src/main/java/haveno/core/payment/F2FAccount.java @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class F2FAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllFiatCurrencies(); + public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllTraditionalCurrencies(); private static final List INPUT_FIELD_IDS = List.of( PaymentAccountFormField.FieldId.ACCOUNT_NAME, diff --git a/core/src/main/java/haveno/core/payment/FasterPaymentsAccount.java b/core/src/main/java/haveno/core/payment/FasterPaymentsAccount.java index 88380977..995943ca 100644 --- a/core/src/main/java/haveno/core/payment/FasterPaymentsAccount.java +++ b/core/src/main/java/haveno/core/payment/FasterPaymentsAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.FasterPaymentsAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -39,7 +39,7 @@ public final class FasterPaymentsAccount extends PaymentAccount { PaymentAccountFormField.FieldId.SALT ); - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("GBP")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("GBP")); public FasterPaymentsAccount() { super(PaymentMethod.FASTER_PAYMENTS); diff --git a/core/src/main/java/haveno/core/payment/HalCashAccount.java b/core/src/main/java/haveno/core/payment/HalCashAccount.java index 6032ee13..88f949b8 100644 --- a/core/src/main/java/haveno/core/payment/HalCashAccount.java +++ b/core/src/main/java/haveno/core/payment/HalCashAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.HalCashAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class HalCashAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("EUR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("EUR")); public HalCashAccount() { super(PaymentMethod.HAL_CASH); diff --git a/core/src/main/java/haveno/core/payment/IfscBasedAccount.java b/core/src/main/java/haveno/core/payment/IfscBasedAccount.java index d5c72b47..28b43f19 100644 --- a/core/src/main/java/haveno/core/payment/IfscBasedAccount.java +++ b/core/src/main/java/haveno/core/payment/IfscBasedAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentMethod; import lombok.NonNull; @@ -27,7 +27,7 @@ import java.util.List; abstract public class IfscBasedAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("INR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("INR")); protected IfscBasedAccount(PaymentMethod paymentMethod) { super(paymentMethod); diff --git a/core/src/main/java/haveno/core/payment/ImpsAccount.java b/core/src/main/java/haveno/core/payment/ImpsAccount.java index 5be0ac7e..4eb66f8e 100644 --- a/core/src/main/java/haveno/core/payment/ImpsAccount.java +++ b/core/src/main/java/haveno/core/payment/ImpsAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.ImpsAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class ImpsAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("INR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("INR")); public ImpsAccount() { super(PaymentMethod.IMPS); diff --git a/core/src/main/java/haveno/core/payment/InteracETransferAccount.java b/core/src/main/java/haveno/core/payment/InteracETransferAccount.java index ecbc91db..61918a03 100644 --- a/core/src/main/java/haveno/core/payment/InteracETransferAccount.java +++ b/core/src/main/java/haveno/core/payment/InteracETransferAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.InteracETransferAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class InteracETransferAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("CAD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("CAD")); public InteracETransferAccount() { super(PaymentMethod.INTERAC_E_TRANSFER); diff --git a/core/src/main/java/haveno/core/payment/JapanBankAccount.java b/core/src/main/java/haveno/core/payment/JapanBankAccount.java index 7e11bb43..3a7a47a9 100644 --- a/core/src/main/java/haveno/core/payment/JapanBankAccount.java +++ b/core/src/main/java/haveno/core/payment/JapanBankAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.JapanBankAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -29,7 +29,7 @@ import java.util.List; public final class JapanBankAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("JPY")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("JPY")); public JapanBankAccount() { super(PaymentMethod.JAPAN_BANK); diff --git a/core/src/main/java/haveno/core/payment/MoneseAccount.java b/core/src/main/java/haveno/core/payment/MoneseAccount.java index 2cce47b5..5e7a4600 100644 --- a/core/src/main/java/haveno/core/payment/MoneseAccount.java +++ b/core/src/main/java/haveno/core/payment/MoneseAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.MoneseAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -33,9 +33,9 @@ public final class MoneseAccount extends PaymentAccount { // https://github.com/bisq-network/growth/issues/227 public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("RON") + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("RON") ); public MoneseAccount() { diff --git a/core/src/main/java/haveno/core/payment/MoneyBeamAccount.java b/core/src/main/java/haveno/core/payment/MoneyBeamAccount.java index 27ee9411..5873dc33 100644 --- a/core/src/main/java/haveno/core/payment/MoneyBeamAccount.java +++ b/core/src/main/java/haveno/core/payment/MoneyBeamAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.MoneyBeamAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class MoneyBeamAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("EUR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("EUR")); public MoneyBeamAccount() { super(PaymentMethod.MONEY_BEAM); diff --git a/core/src/main/java/haveno/core/payment/MoneyGramAccount.java b/core/src/main/java/haveno/core/payment/MoneyGramAccount.java index 90cc8c53..7634a941 100644 --- a/core/src/main/java/haveno/core/payment/MoneyGramAccount.java +++ b/core/src/main/java/haveno/core/payment/MoneyGramAccount.java @@ -20,7 +20,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.MoneyGramAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -48,54 +48,54 @@ public final class MoneyGramAccount extends PaymentAccount { ); public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AED"), - new FiatCurrency("ARS"), - new FiatCurrency("AUD"), - new FiatCurrency("BND"), - new FiatCurrency("CAD"), - new FiatCurrency("CHF"), - new FiatCurrency("CZK"), - new FiatCurrency("DKK"), - new FiatCurrency("EUR"), - new FiatCurrency("FJD"), - new FiatCurrency("GBP"), - new FiatCurrency("HKD"), - new FiatCurrency("HUF"), - new FiatCurrency("IDR"), - new FiatCurrency("ILS"), - new FiatCurrency("INR"), - new FiatCurrency("JPY"), - new FiatCurrency("KRW"), - new FiatCurrency("KWD"), - new FiatCurrency("LKR"), - new FiatCurrency("MAD"), - new FiatCurrency("MGA"), - new FiatCurrency("MXN"), - new FiatCurrency("MYR"), - new FiatCurrency("NOK"), - new FiatCurrency("NZD"), - new FiatCurrency("OMR"), - new FiatCurrency("PEN"), - new FiatCurrency("PGK"), - new FiatCurrency("PHP"), - new FiatCurrency("PKR"), - new FiatCurrency("PLN"), - new FiatCurrency("SAR"), - new FiatCurrency("SBD"), - new FiatCurrency("SCR"), - new FiatCurrency("SEK"), - new FiatCurrency("SGD"), - new FiatCurrency("THB"), - new FiatCurrency("TOP"), - new FiatCurrency("TRY"), - new FiatCurrency("TWD"), - new FiatCurrency("USD"), - new FiatCurrency("VND"), - new FiatCurrency("VUV"), - new FiatCurrency("WST"), - new FiatCurrency("XOF"), - new FiatCurrency("XPF"), - new FiatCurrency("ZAR") + new TraditionalCurrency("AED"), + new TraditionalCurrency("ARS"), + new TraditionalCurrency("AUD"), + new TraditionalCurrency("BND"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("CHF"), + new TraditionalCurrency("CZK"), + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("FJD"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("HKD"), + new TraditionalCurrency("HUF"), + new TraditionalCurrency("IDR"), + new TraditionalCurrency("ILS"), + new TraditionalCurrency("INR"), + new TraditionalCurrency("JPY"), + new TraditionalCurrency("KRW"), + new TraditionalCurrency("KWD"), + new TraditionalCurrency("LKR"), + new TraditionalCurrency("MAD"), + new TraditionalCurrency("MGA"), + new TraditionalCurrency("MXN"), + new TraditionalCurrency("MYR"), + new TraditionalCurrency("NOK"), + new TraditionalCurrency("NZD"), + new TraditionalCurrency("OMR"), + new TraditionalCurrency("PEN"), + new TraditionalCurrency("PGK"), + new TraditionalCurrency("PHP"), + new TraditionalCurrency("PKR"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("SAR"), + new TraditionalCurrency("SBD"), + new TraditionalCurrency("SCR"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("SGD"), + new TraditionalCurrency("THB"), + new TraditionalCurrency("TOP"), + new TraditionalCurrency("TRY"), + new TraditionalCurrency("TWD"), + new TraditionalCurrency("USD"), + new TraditionalCurrency("VND"), + new TraditionalCurrency("VUV"), + new TraditionalCurrency("WST"), + new TraditionalCurrency("XOF"), + new TraditionalCurrency("XPF"), + new TraditionalCurrency("ZAR") ); public MoneyGramAccount() { diff --git a/core/src/main/java/haveno/core/payment/NationalBankAccount.java b/core/src/main/java/haveno/core/payment/NationalBankAccount.java index 7a7b1ee0..a3558690 100644 --- a/core/src/main/java/haveno/core/payment/NationalBankAccount.java +++ b/core/src/main/java/haveno/core/payment/NationalBankAccount.java @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class NationalBankAccount extends CountryBasedPaymentAccount implements SameCountryRestrictedBankAccount { - public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllFiatCurrencies(); + public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllTraditionalCurrencies(); public NationalBankAccount() { super(PaymentMethod.NATIONAL_BANK); diff --git a/core/src/main/java/haveno/core/payment/NequiAccount.java b/core/src/main/java/haveno/core/payment/NequiAccount.java index 1a95d946..39d8344d 100644 --- a/core/src/main/java/haveno/core/payment/NequiAccount.java +++ b/core/src/main/java/haveno/core/payment/NequiAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.NequiAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class NequiAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("COP")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("COP")); public NequiAccount() { super(PaymentMethod.NEQUI); diff --git a/core/src/main/java/haveno/core/payment/OKPayAccount.java b/core/src/main/java/haveno/core/payment/OKPayAccount.java index cd1227e9..ebbf400c 100644 --- a/core/src/main/java/haveno/core/payment/OKPayAccount.java +++ b/core/src/main/java/haveno/core/payment/OKPayAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.OKPayAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -34,29 +34,29 @@ import java.util.List; public final class OKPayAccount extends PaymentAccount { public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AED"), - new FiatCurrency("ARS"), - new FiatCurrency("AUD"), - new FiatCurrency("BRL"), - new FiatCurrency("CAD"), - new FiatCurrency("CHF"), - new FiatCurrency("CNY"), - new FiatCurrency("DKK"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("HKD"), - new FiatCurrency("ILS"), - new FiatCurrency("INR"), - new FiatCurrency("JPY"), - new FiatCurrency("KES"), - new FiatCurrency("MXN"), - new FiatCurrency("NOK"), - new FiatCurrency("NZD"), - new FiatCurrency("PHP"), - new FiatCurrency("PLN"), - new FiatCurrency("SEK"), - new FiatCurrency("SGD"), - new FiatCurrency("USD") + new TraditionalCurrency("AED"), + new TraditionalCurrency("ARS"), + new TraditionalCurrency("AUD"), + new TraditionalCurrency("BRL"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("CHF"), + new TraditionalCurrency("CNY"), + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("HKD"), + new TraditionalCurrency("ILS"), + new TraditionalCurrency("INR"), + new TraditionalCurrency("JPY"), + new TraditionalCurrency("KES"), + new TraditionalCurrency("MXN"), + new TraditionalCurrency("NOK"), + new TraditionalCurrency("NZD"), + new TraditionalCurrency("PHP"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("SGD"), + new TraditionalCurrency("USD") ); public OKPayAccount() { diff --git a/core/src/main/java/haveno/core/payment/PaxumAccount.java b/core/src/main/java/haveno/core/payment/PaxumAccount.java index 56299db3..e7c66390 100644 --- a/core/src/main/java/haveno/core/payment/PaxumAccount.java +++ b/core/src/main/java/haveno/core/payment/PaxumAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaxumAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -40,24 +40,24 @@ public final class PaxumAccount extends PaymentAccount { // https://github.com/bisq-network/growth/issues/235 public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AUD"), - new FiatCurrency("CAD"), - new FiatCurrency("CHF"), - new FiatCurrency("CZK"), - new FiatCurrency("DKK"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("HUF"), - new FiatCurrency("IDR"), - new FiatCurrency("INR"), - new FiatCurrency("NOK"), - new FiatCurrency("NZD"), - new FiatCurrency("PLN"), - new FiatCurrency("RON"), - new FiatCurrency("SEK"), - new FiatCurrency("THB"), - new FiatCurrency("USD"), - new FiatCurrency("ZAR") + new TraditionalCurrency("AUD"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("CHF"), + new TraditionalCurrency("CZK"), + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("HUF"), + new TraditionalCurrency("IDR"), + new TraditionalCurrency("INR"), + new TraditionalCurrency("NOK"), + new TraditionalCurrency("NZD"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("RON"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("THB"), + new TraditionalCurrency("USD"), + new TraditionalCurrency("ZAR") ); public PaxumAccount() { diff --git a/core/src/main/java/haveno/core/payment/PaymentAccountTypeAdapter.java b/core/src/main/java/haveno/core/payment/PaymentAccountTypeAdapter.java index d404eb44..f7766e22 100644 --- a/core/src/main/java/haveno/core/payment/PaymentAccountTypeAdapter.java +++ b/core/src/main/java/haveno/core/payment/PaymentAccountTypeAdapter.java @@ -24,7 +24,7 @@ import com.google.gson.stream.JsonToken; import com.google.gson.stream.JsonWriter; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; @@ -435,7 +435,7 @@ class PaymentAccountTypeAdapter extends TypeAdapter { if (account.isCountryBasedPaymentAccount()) { ((CountryBasedPaymentAccount) account).setCountry(country.get()); - FiatCurrency fiatCurrency = getCurrencyByCountryCode(checkNotNull(countryCode)); + TraditionalCurrency fiatCurrency = getCurrencyByCountryCode(checkNotNull(countryCode)); account.setSingleTradeCurrency(fiatCurrency); } else if (account.hasPaymentMethodWithId(MONEY_GRAM_ID)) { ((MoneyGramAccount) account).setCountry(country.get()); diff --git a/core/src/main/java/haveno/core/payment/PaymentAccountUtil.java b/core/src/main/java/haveno/core/payment/PaymentAccountUtil.java index c4f95ee0..f186bc8e 100644 --- a/core/src/main/java/haveno/core/payment/PaymentAccountUtil.java +++ b/core/src/main/java/haveno/core/payment/PaymentAccountUtil.java @@ -295,7 +295,7 @@ public class PaymentAccountUtil { @Nullable public static String getCountryCode(PaymentAccount paymentAccount) { - // That is optional and set to null if not supported (AltCoins,...) + // That is optional and set to null if not supported (Cryptos,...) if (paymentAccount instanceof CountryBasedPaymentAccount) { Country country = (((CountryBasedPaymentAccount) paymentAccount)).getCountry(); return country != null ? country.code : null; diff --git a/core/src/main/java/haveno/core/payment/PayseraAccount.java b/core/src/main/java/haveno/core/payment/PayseraAccount.java index 0d2e57e2..3252500f 100644 --- a/core/src/main/java/haveno/core/payment/PayseraAccount.java +++ b/core/src/main/java/haveno/core/payment/PayseraAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -33,38 +33,38 @@ public final class PayseraAccount extends PaymentAccount { // https://github.com/bisq-network/growth/issues/233 public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AUD"), - new FiatCurrency("BGN"), - new FiatCurrency("BYN"), - new FiatCurrency("CAD"), - new FiatCurrency("CHF"), - new FiatCurrency("CNY"), - new FiatCurrency("CZK"), - new FiatCurrency("DKK"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("GEL"), - new FiatCurrency("HKD"), - new FiatCurrency("HRK"), - new FiatCurrency("HUF"), - new FiatCurrency("ILS"), - new FiatCurrency("INR"), - new FiatCurrency("JPY"), - new FiatCurrency("KZT"), - new FiatCurrency("MXN"), - new FiatCurrency("NOK"), - new FiatCurrency("NZD"), - new FiatCurrency("PHP"), - new FiatCurrency("PLN"), - new FiatCurrency("RON"), - new FiatCurrency("RSD"), - new FiatCurrency("RUB"), - new FiatCurrency("SEK"), - new FiatCurrency("SGD"), - new FiatCurrency("THB"), - new FiatCurrency("TRY"), - new FiatCurrency("USD"), - new FiatCurrency("ZAR") + new TraditionalCurrency("AUD"), + new TraditionalCurrency("BGN"), + new TraditionalCurrency("BYN"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("CHF"), + new TraditionalCurrency("CNY"), + new TraditionalCurrency("CZK"), + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("GEL"), + new TraditionalCurrency("HKD"), + new TraditionalCurrency("HRK"), + new TraditionalCurrency("HUF"), + new TraditionalCurrency("ILS"), + new TraditionalCurrency("INR"), + new TraditionalCurrency("JPY"), + new TraditionalCurrency("KZT"), + new TraditionalCurrency("MXN"), + new TraditionalCurrency("NOK"), + new TraditionalCurrency("NZD"), + new TraditionalCurrency("PHP"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("RON"), + new TraditionalCurrency("RSD"), + new TraditionalCurrency("RUB"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("SGD"), + new TraditionalCurrency("THB"), + new TraditionalCurrency("TRY"), + new TraditionalCurrency("USD"), + new TraditionalCurrency("ZAR") ); public PayseraAccount() { diff --git a/core/src/main/java/haveno/core/payment/PerfectMoneyAccount.java b/core/src/main/java/haveno/core/payment/PerfectMoneyAccount.java index 60c132ae..014c2a4e 100644 --- a/core/src/main/java/haveno/core/payment/PerfectMoneyAccount.java +++ b/core/src/main/java/haveno/core/payment/PerfectMoneyAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class PerfectMoneyAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public PerfectMoneyAccount() { super(PaymentMethod.PERFECT_MONEY); diff --git a/core/src/main/java/haveno/core/payment/PixAccount.java b/core/src/main/java/haveno/core/payment/PixAccount.java index 26c55c5d..df456d9c 100644 --- a/core/src/main/java/haveno/core/payment/PixAccount.java +++ b/core/src/main/java/haveno/core/payment/PixAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class PixAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("BRL")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("BRL")); public PixAccount() { super(PaymentMethod.PIX); diff --git a/core/src/main/java/haveno/core/payment/PopmoneyAccount.java b/core/src/main/java/haveno/core/payment/PopmoneyAccount.java index f41a85d8..a233a32b 100644 --- a/core/src/main/java/haveno/core/payment/PopmoneyAccount.java +++ b/core/src/main/java/haveno/core/payment/PopmoneyAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class PopmoneyAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public PopmoneyAccount() { super(PaymentMethod.POPMONEY); diff --git a/core/src/main/java/haveno/core/payment/PromptPayAccount.java b/core/src/main/java/haveno/core/payment/PromptPayAccount.java index 65ae5be8..1094993c 100644 --- a/core/src/main/java/haveno/core/payment/PromptPayAccount.java +++ b/core/src/main/java/haveno/core/payment/PromptPayAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class PromptPayAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("THB")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("THB")); public PromptPayAccount() { super(PaymentMethod.PROMPT_PAY); diff --git a/core/src/main/java/haveno/core/payment/RevolutAccount.java b/core/src/main/java/haveno/core/payment/RevolutAccount.java index dbb5edd4..e4590e8e 100644 --- a/core/src/main/java/haveno/core/payment/RevolutAccount.java +++ b/core/src/main/java/haveno/core/payment/RevolutAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -40,37 +40,37 @@ public final class RevolutAccount extends PaymentAccount { // https://www.revolut.com/help/getting-started/exchanging-currencies/what-fiat-currencies-are-supported-for-holding-and-exchange public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AED"), - new FiatCurrency("AUD"), - new FiatCurrency("BGN"), - new FiatCurrency("CAD"), - new FiatCurrency("CHF"), - new FiatCurrency("CZK"), - new FiatCurrency("DKK"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("HKD"), - new FiatCurrency("HRK"), - new FiatCurrency("HUF"), - new FiatCurrency("ILS"), - new FiatCurrency("ISK"), - new FiatCurrency("JPY"), - new FiatCurrency("MAD"), - new FiatCurrency("MXN"), - new FiatCurrency("NOK"), - new FiatCurrency("NZD"), - new FiatCurrency("PLN"), - new FiatCurrency("QAR"), - new FiatCurrency("RON"), - new FiatCurrency("RSD"), - new FiatCurrency("RUB"), - new FiatCurrency("SAR"), - new FiatCurrency("SEK"), - new FiatCurrency("SGD"), - new FiatCurrency("THB"), - new FiatCurrency("TRY"), - new FiatCurrency("USD"), - new FiatCurrency("ZAR") + new TraditionalCurrency("AED"), + new TraditionalCurrency("AUD"), + new TraditionalCurrency("BGN"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("CHF"), + new TraditionalCurrency("CZK"), + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("HKD"), + new TraditionalCurrency("HRK"), + new TraditionalCurrency("HUF"), + new TraditionalCurrency("ILS"), + new TraditionalCurrency("ISK"), + new TraditionalCurrency("JPY"), + new TraditionalCurrency("MAD"), + new TraditionalCurrency("MXN"), + new TraditionalCurrency("NOK"), + new TraditionalCurrency("NZD"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("QAR"), + new TraditionalCurrency("RON"), + new TraditionalCurrency("RSD"), + new TraditionalCurrency("RUB"), + new TraditionalCurrency("SAR"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("SGD"), + new TraditionalCurrency("THB"), + new TraditionalCurrency("TRY"), + new TraditionalCurrency("USD"), + new TraditionalCurrency("ZAR") ); public RevolutAccount() { diff --git a/core/src/main/java/haveno/core/payment/SameBankAccount.java b/core/src/main/java/haveno/core/payment/SameBankAccount.java index c5d9316e..10be62b3 100644 --- a/core/src/main/java/haveno/core/payment/SameBankAccount.java +++ b/core/src/main/java/haveno/core/payment/SameBankAccount.java @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class SameBankAccount extends CountryBasedPaymentAccount implements BankNameRestrictedBankAccount, SameCountryRestrictedBankAccount { - public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllFiatCurrencies(); + public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllTraditionalCurrencies(); public SameBankAccount() { super(PaymentMethod.SAME_BANK); diff --git a/core/src/main/java/haveno/core/payment/SatispayAccount.java b/core/src/main/java/haveno/core/payment/SatispayAccount.java index 3d1ce820..6fee6781 100644 --- a/core/src/main/java/haveno/core/payment/SatispayAccount.java +++ b/core/src/main/java/haveno/core/payment/SatispayAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class SatispayAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("EUR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("EUR")); public SatispayAccount() { super(PaymentMethod.SATISPAY); diff --git a/core/src/main/java/haveno/core/payment/SepaAccount.java b/core/src/main/java/haveno/core/payment/SepaAccount.java index de0ee21d..5697eca2 100644 --- a/core/src/main/java/haveno/core/payment/SepaAccount.java +++ b/core/src/main/java/haveno/core/payment/SepaAccount.java @@ -21,7 +21,7 @@ import haveno.core.api.model.PaymentAccountForm; import haveno.core.api.model.PaymentAccountFormField; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -46,7 +46,7 @@ public final class SepaAccount extends CountryBasedPaymentAccount implements Ban PaymentAccountFormField.FieldId.SALT ); - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("EUR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("EUR")); public SepaAccount() { super(PaymentMethod.SEPA); diff --git a/core/src/main/java/haveno/core/payment/SepaInstantAccount.java b/core/src/main/java/haveno/core/payment/SepaInstantAccount.java index bcd75365..fa5454f8 100644 --- a/core/src/main/java/haveno/core/payment/SepaInstantAccount.java +++ b/core/src/main/java/haveno/core/payment/SepaInstantAccount.java @@ -21,7 +21,7 @@ import haveno.core.api.model.PaymentAccountForm; import haveno.core.api.model.PaymentAccountFormField; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -36,7 +36,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class SepaInstantAccount extends CountryBasedPaymentAccount implements BankAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("EUR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("EUR")); public SepaInstantAccount() { super(PaymentMethod.SEPA_INSTANT); diff --git a/core/src/main/java/haveno/core/payment/SpecificBanksAccount.java b/core/src/main/java/haveno/core/payment/SpecificBanksAccount.java index 4f187957..dc9431e1 100644 --- a/core/src/main/java/haveno/core/payment/SpecificBanksAccount.java +++ b/core/src/main/java/haveno/core/payment/SpecificBanksAccount.java @@ -32,7 +32,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class SpecificBanksAccount extends CountryBasedPaymentAccount implements BankNameRestrictedBankAccount, SameCountryRestrictedBankAccount { - public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllFiatCurrencies(); + public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllTraditionalCurrencies(); public SpecificBanksAccount() { super(PaymentMethod.SPECIFIC_BANKS); diff --git a/core/src/main/java/haveno/core/payment/StrikeAccount.java b/core/src/main/java/haveno/core/payment/StrikeAccount.java index 6a76b73f..56579281 100644 --- a/core/src/main/java/haveno/core/payment/StrikeAccount.java +++ b/core/src/main/java/haveno/core/payment/StrikeAccount.java @@ -20,7 +20,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -34,7 +34,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class StrikeAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public static final List SUPPORTED_COUNTRIES = CountryUtil.getCountries(List.of("US")); private static final List INPUT_FIELD_IDS = List.of( diff --git a/core/src/main/java/haveno/core/payment/SwiftAccount.java b/core/src/main/java/haveno/core/payment/SwiftAccount.java index 1b2fa026..f055cac2 100644 --- a/core/src/main/java/haveno/core/payment/SwiftAccount.java +++ b/core/src/main/java/haveno/core/payment/SwiftAccount.java @@ -28,13 +28,13 @@ import lombok.NonNull; import java.util.ArrayList; import java.util.List; -import static haveno.core.locale.CurrencyUtil.getAllSortedFiatCurrencies; +import static haveno.core.locale.CurrencyUtil.getAllSortedTraditionalCurrencies; import static java.util.Comparator.comparing; @EqualsAndHashCode(callSuper = true) public final class SwiftAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = new ArrayList<>(getAllSortedFiatCurrencies(comparing(TradeCurrency::getCode))); + public static final List SUPPORTED_CURRENCIES = new ArrayList<>(getAllSortedTraditionalCurrencies(comparing(TradeCurrency::getCode))); private static final List INPUT_FIELD_IDS = List.of( PaymentAccountFormField.FieldId.ACCOUNT_NAME, diff --git a/core/src/main/java/haveno/core/payment/SwishAccount.java b/core/src/main/java/haveno/core/payment/SwishAccount.java index 805fee2d..de9517ed 100644 --- a/core/src/main/java/haveno/core/payment/SwishAccount.java +++ b/core/src/main/java/haveno/core/payment/SwishAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class SwishAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("SEK")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("SEK")); public SwishAccount() { super(PaymentMethod.SWISH); diff --git a/core/src/main/java/haveno/core/payment/TikkieAccount.java b/core/src/main/java/haveno/core/payment/TikkieAccount.java index 265ded8a..bcacabe7 100644 --- a/core/src/main/java/haveno/core/payment/TikkieAccount.java +++ b/core/src/main/java/haveno/core/payment/TikkieAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class TikkieAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("EUR")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("EUR")); public TikkieAccount() { super(PaymentMethod.TIKKIE); diff --git a/core/src/main/java/haveno/core/payment/TransferwiseAccount.java b/core/src/main/java/haveno/core/payment/TransferwiseAccount.java index ed9dd543..23428ff3 100644 --- a/core/src/main/java/haveno/core/payment/TransferwiseAccount.java +++ b/core/src/main/java/haveno/core/payment/TransferwiseAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -40,48 +40,48 @@ public final class TransferwiseAccount extends PaymentAccount { // https://github.com/bisq-network/proposals/issues/243 public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AED"), - new FiatCurrency("ARS"), - new FiatCurrency("AUD"), - new FiatCurrency("BGN"), - new FiatCurrency("CAD"), - new FiatCurrency("CHF"), - new FiatCurrency("CLP"), - new FiatCurrency("CZK"), - new FiatCurrency("DKK"), - new FiatCurrency("EGP"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("GEL"), - new FiatCurrency("HKD"), - new FiatCurrency("HRK"), - new FiatCurrency("HUF"), - new FiatCurrency("IDR"), - new FiatCurrency("ILS"), - new FiatCurrency("JPY"), - new FiatCurrency("KES"), - new FiatCurrency("KRW"), - new FiatCurrency("MAD"), - new FiatCurrency("MXN"), - new FiatCurrency("MYR"), - new FiatCurrency("NOK"), - new FiatCurrency("NPR"), - new FiatCurrency("NZD"), - new FiatCurrency("PEN"), - new FiatCurrency("PHP"), - new FiatCurrency("PKR"), - new FiatCurrency("PLN"), - new FiatCurrency("RON"), - new FiatCurrency("RUB"), - new FiatCurrency("SEK"), - new FiatCurrency("SGD"), - new FiatCurrency("THB"), - new FiatCurrency("TRY"), - new FiatCurrency("UGX"), - new FiatCurrency("VND"), - new FiatCurrency("XOF"), - new FiatCurrency("ZAR"), - new FiatCurrency("ZMW") + new TraditionalCurrency("AED"), + new TraditionalCurrency("ARS"), + new TraditionalCurrency("AUD"), + new TraditionalCurrency("BGN"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("CHF"), + new TraditionalCurrency("CLP"), + new TraditionalCurrency("CZK"), + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EGP"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("GEL"), + new TraditionalCurrency("HKD"), + new TraditionalCurrency("HRK"), + new TraditionalCurrency("HUF"), + new TraditionalCurrency("IDR"), + new TraditionalCurrency("ILS"), + new TraditionalCurrency("JPY"), + new TraditionalCurrency("KES"), + new TraditionalCurrency("KRW"), + new TraditionalCurrency("MAD"), + new TraditionalCurrency("MXN"), + new TraditionalCurrency("MYR"), + new TraditionalCurrency("NOK"), + new TraditionalCurrency("NPR"), + new TraditionalCurrency("NZD"), + new TraditionalCurrency("PEN"), + new TraditionalCurrency("PHP"), + new TraditionalCurrency("PKR"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("RON"), + new TraditionalCurrency("RUB"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("SGD"), + new TraditionalCurrency("THB"), + new TraditionalCurrency("TRY"), + new TraditionalCurrency("UGX"), + new TraditionalCurrency("VND"), + new TraditionalCurrency("XOF"), + new TraditionalCurrency("ZAR"), + new TraditionalCurrency("ZMW") ); public TransferwiseAccount() { diff --git a/core/src/main/java/haveno/core/payment/TransferwiseUsdAccount.java b/core/src/main/java/haveno/core/payment/TransferwiseUsdAccount.java index 1cac6705..8ab90f13 100644 --- a/core/src/main/java/haveno/core/payment/TransferwiseUsdAccount.java +++ b/core/src/main/java/haveno/core/payment/TransferwiseUsdAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class TransferwiseUsdAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public TransferwiseUsdAccount() { super(PaymentMethod.TRANSFERWISE_USD); diff --git a/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java b/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java index 7579d081..9265f6e6 100644 --- a/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java +++ b/core/src/main/java/haveno/core/payment/USPostalMoneyOrderAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class USPostalMoneyOrderAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public USPostalMoneyOrderAccount() { super(PaymentMethod.US_POSTAL_MONEY_ORDER); diff --git a/core/src/main/java/haveno/core/payment/UpholdAccount.java b/core/src/main/java/haveno/core/payment/UpholdAccount.java index b5ecaddf..967647d9 100644 --- a/core/src/main/java/haveno/core/payment/UpholdAccount.java +++ b/core/src/main/java/haveno/core/payment/UpholdAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -42,29 +42,29 @@ public final class UpholdAccount extends PaymentAccount { // https://support.uphold.com/hc/en-us/articles/202473803-Supported-currencies public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("AED"), - new FiatCurrency("ARS"), - new FiatCurrency("AUD"), - new FiatCurrency("BRL"), - new FiatCurrency("CAD"), - new FiatCurrency("CHF"), - new FiatCurrency("CNY"), - new FiatCurrency("DKK"), - new FiatCurrency("EUR"), - new FiatCurrency("GBP"), - new FiatCurrency("HKD"), - new FiatCurrency("ILS"), - new FiatCurrency("INR"), - new FiatCurrency("JPY"), - new FiatCurrency("KES"), - new FiatCurrency("MXN"), - new FiatCurrency("NOK"), - new FiatCurrency("NZD"), - new FiatCurrency("PHP"), - new FiatCurrency("PLN"), - new FiatCurrency("SEK"), - new FiatCurrency("SGD"), - new FiatCurrency("USD") + new TraditionalCurrency("AED"), + new TraditionalCurrency("ARS"), + new TraditionalCurrency("AUD"), + new TraditionalCurrency("BRL"), + new TraditionalCurrency("CAD"), + new TraditionalCurrency("CHF"), + new TraditionalCurrency("CNY"), + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("GBP"), + new TraditionalCurrency("HKD"), + new TraditionalCurrency("ILS"), + new TraditionalCurrency("INR"), + new TraditionalCurrency("JPY"), + new TraditionalCurrency("KES"), + new TraditionalCurrency("MXN"), + new TraditionalCurrency("NOK"), + new TraditionalCurrency("NZD"), + new TraditionalCurrency("PHP"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("SEK"), + new TraditionalCurrency("SGD"), + new TraditionalCurrency("USD") ); public UpholdAccount() { diff --git a/core/src/main/java/haveno/core/payment/VenmoAccount.java b/core/src/main/java/haveno/core/payment/VenmoAccount.java index 5121e128..de62562c 100644 --- a/core/src/main/java/haveno/core/payment/VenmoAccount.java +++ b/core/src/main/java/haveno/core/payment/VenmoAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -34,7 +34,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class VenmoAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public VenmoAccount() { super(PaymentMethod.VENMO); diff --git a/core/src/main/java/haveno/core/payment/VerseAccount.java b/core/src/main/java/haveno/core/payment/VerseAccount.java index 45b7ac33..d6ea99e6 100644 --- a/core/src/main/java/haveno/core/payment/VerseAccount.java +++ b/core/src/main/java/haveno/core/payment/VerseAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -33,11 +33,11 @@ public final class VerseAccount extends PaymentAccount { // https://github.com/bisq-network/growth/issues/223 public static final List SUPPORTED_CURRENCIES = List.of( - new FiatCurrency("DKK"), - new FiatCurrency("EUR"), - new FiatCurrency("HUF"), - new FiatCurrency("PLN"), - new FiatCurrency("SEK") + new TraditionalCurrency("DKK"), + new TraditionalCurrency("EUR"), + new TraditionalCurrency("HUF"), + new TraditionalCurrency("PLN"), + new TraditionalCurrency("SEK") ); public VerseAccount() { diff --git a/core/src/main/java/haveno/core/payment/WeChatPayAccount.java b/core/src/main/java/haveno/core/payment/WeChatPayAccount.java index 3407a9c5..ed076897 100644 --- a/core/src/main/java/haveno/core/payment/WeChatPayAccount.java +++ b/core/src/main/java/haveno/core/payment/WeChatPayAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.PaymentAccountPayload; import haveno.core.payment.payload.PaymentMethod; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class WeChatPayAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("CNY")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("CNY")); public WeChatPayAccount() { super(PaymentMethod.WECHAT_PAY); diff --git a/core/src/main/java/haveno/core/payment/WesternUnionAccount.java b/core/src/main/java/haveno/core/payment/WesternUnionAccount.java index e4846b62..71b03f68 100644 --- a/core/src/main/java/haveno/core/payment/WesternUnionAccount.java +++ b/core/src/main/java/haveno/core/payment/WesternUnionAccount.java @@ -29,7 +29,7 @@ import java.util.List; public final class WesternUnionAccount extends CountryBasedPaymentAccount { - public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllFiatCurrencies(); + public static final List SUPPORTED_CURRENCIES = CurrencyUtil.getAllTraditionalCurrencies(); public WesternUnionAccount() { super(PaymentMethod.WESTERN_UNION); diff --git a/core/src/main/java/haveno/core/payment/ZelleAccount.java b/core/src/main/java/haveno/core/payment/ZelleAccount.java index de5b502a..46638b93 100644 --- a/core/src/main/java/haveno/core/payment/ZelleAccount.java +++ b/core/src/main/java/haveno/core/payment/ZelleAccount.java @@ -18,7 +18,7 @@ package haveno.core.payment; import haveno.core.api.model.PaymentAccountFormField; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.payload.ZelleAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; @@ -31,7 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public final class ZelleAccount extends PaymentAccount { - public static final List SUPPORTED_CURRENCIES = List.of(new FiatCurrency("USD")); + public static final List SUPPORTED_CURRENCIES = List.of(new TraditionalCurrency("USD")); public ZelleAccount() { super(PaymentMethod.ZELLE); diff --git a/core/src/main/java/haveno/core/payment/payload/AssetAccountPayload.java b/core/src/main/java/haveno/core/payment/payload/AssetAccountPayload.java index b268ea4f..8eb49c02 100644 --- a/core/src/main/java/haveno/core/payment/payload/AssetAccountPayload.java +++ b/core/src/main/java/haveno/core/payment/payload/AssetAccountPayload.java @@ -63,7 +63,7 @@ public abstract class AssetAccountPayload extends PaymentAccountPayload { @Override public String getPaymentDetails() { - return Res.getWithCol("payment.altcoin.receiver.address") + " " + address; + return Res.getWithCol("payment.crypto.receiver.address") + " " + address; } @Override diff --git a/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java b/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java index 4a55d594..3b803d4c 100644 --- a/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java +++ b/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java @@ -320,9 +320,9 @@ public final class PaymentMethod implements PersistablePayload, Comparable OfferRestrictions.TOLERATED_SMALL_TRADE_AMOUNT.longValueExact()) { + if (isTraditional && isStagenet && riskBasedTradeLimit > OfferRestrictions.TOLERATED_SMALL_TRADE_AMOUNT.longValueExact()) { riskBasedTradeLimit = OfferRestrictions.TOLERATED_SMALL_TRADE_AMOUNT.longValueExact(); } return BigInteger.valueOf(riskBasedTradeLimit); @@ -507,8 +507,8 @@ public final class PaymentMethod implements PersistablePayload, Comparable> extends Sup if (marketPrice != null && marketPrice.isRecentExternalPriceAvailable()) { double marketPriceAsDouble = marketPrice.getPrice(); try { - int precision = CurrencyUtil.isCryptoCurrency(currencyCode) ? - Altcoin.SMALLEST_UNIT_EXPONENT : - Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : + CryptoMoney.SMALLEST_UNIT_EXPONENT; double scaled = MathUtils.scaleUpByPowerOf10(marketPriceAsDouble, precision); long roundedToLong = MathUtils.roundDoubleToLong(scaled); return Price.valueOf(currencyCode, roundedToLong); diff --git a/core/src/main/java/haveno/core/trade/ClosedTradableFormatter.java b/core/src/main/java/haveno/core/trade/ClosedTradableFormatter.java index 5ae1c55a..5f8ca121 100644 --- a/core/src/main/java/haveno/core/trade/ClosedTradableFormatter.java +++ b/core/src/main/java/haveno/core/trade/ClosedTradableFormatter.java @@ -19,13 +19,13 @@ package haveno.core.trade; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; +import haveno.core.monetary.TraditionalMoney; import haveno.core.monetary.Volume; import haveno.core.offer.OpenOffer; import haveno.core.util.FormattingUtils; import lombok.extern.slf4j.Slf4j; import org.bitcoinj.core.Monetary; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Singleton; @@ -131,9 +131,9 @@ public class ClosedTradableFormatter { String currencyCode = entry.getKey(); Monetary monetary; if (CurrencyUtil.isCryptoCurrency(currencyCode)) { - monetary = Altcoin.valueOf(currencyCode, entry.getValue()); + monetary = CryptoMoney.valueOf(currencyCode, entry.getValue()); } else { - monetary = Fiat.valueOf(currencyCode, entry.getValue()); + monetary = TraditionalMoney.valueOf(currencyCode, entry.getValue()); } return formatVolumeWithCode(new Volume(monetary)); } diff --git a/core/src/main/java/haveno/core/trade/ClosedTradableManager.java b/core/src/main/java/haveno/core/trade/ClosedTradableManager.java index 5ac9484f..a86b82aa 100644 --- a/core/src/main/java/haveno/core/trade/ClosedTradableManager.java +++ b/core/src/main/java/haveno/core/trade/ClosedTradableManager.java @@ -22,9 +22,6 @@ import com.google.inject.Inject; import haveno.common.crypto.KeyRing; import haveno.common.persistence.PersistenceManager; import haveno.common.proto.persistable.PersistedDataHost; -import haveno.common.util.Tuple2; -import haveno.core.monetary.Price; -import haveno.core.monetary.Volume; import haveno.core.offer.Offer; import haveno.core.offer.OpenOffer; import haveno.core.provider.price.PriceFeedService; @@ -33,8 +30,6 @@ import haveno.core.user.Preferences; import haveno.network.p2p.NodeAddress; import javafx.collections.ObservableList; import lombok.extern.slf4j.Slf4j; -import org.bitcoinj.core.Coin; -import org.bitcoinj.utils.Fiat; import java.math.BigInteger; import java.time.Instant; @@ -49,7 +44,6 @@ import java.util.stream.Stream; import static haveno.core.offer.OpenOffer.State.CANCELED; import static haveno.core.trade.ClosedTradableUtil.castToTradeModel; import static haveno.core.trade.ClosedTradableUtil.isOpenOffer; -import static haveno.core.util.AveragePriceUtil.getAveragePriceTuple; /** * Manages closed trades or offers. @@ -230,13 +224,6 @@ public class ClosedTradableManager implements PersistedDataHost { return tradable instanceof MakerTrade || tradable.getOffer().isMyOffer(keyRing); } - public Volume getBsqVolumeInUsdWithAveragePrice(Coin amount) { - Tuple2 tuple = getAveragePriceTuple(preferences, tradeStatisticsManager, 30); - Price usdPrice = tuple.first; - long value = Math.round(amount.value * usdPrice.getValue() / 100d); - return new Volume(Fiat.valueOf("USD", value)); - } - private void requestPersistence() { persistenceManager.requestPersistence(); } diff --git a/core/src/main/java/haveno/core/trade/TradeUtil.java b/core/src/main/java/haveno/core/trade/TradeUtil.java index 7008ea52..ba57166b 100644 --- a/core/src/main/java/haveno/core/trade/TradeUtil.java +++ b/core/src/main/java/haveno/core/trade/TradeUtil.java @@ -32,7 +32,7 @@ import java.util.Objects; import static com.google.common.base.Preconditions.checkNotNull; import static haveno.core.locale.CurrencyUtil.getCurrencyPair; -import static haveno.core.locale.CurrencyUtil.isFiatCurrency; +import static haveno.core.locale.CurrencyUtil.isTraditionalCurrency; import static haveno.core.util.FormattingUtils.formatDurationAsWords; import static java.lang.String.format; @@ -194,7 +194,7 @@ public class TradeUtil { * @return String describing a trader's role */ public String getRole(boolean isBuyerMakerAndSellerTaker, boolean isMaker, String currencyCode) { - if (isFiatCurrency(currencyCode)) { + if (isTraditionalCurrency(currencyCode)) { String baseCurrencyCode = Res.getBaseCurrencyCode(); if (isBuyerMakerAndSellerTaker) return isMaker diff --git a/core/src/main/java/haveno/core/trade/protocol/tasks/MakerSetLockTime.java b/core/src/main/java/haveno/core/trade/protocol/tasks/MakerSetLockTime.java index 9702a8c9..a22fa95c 100644 --- a/core/src/main/java/haveno/core/trade/protocol/tasks/MakerSetLockTime.java +++ b/core/src/main/java/haveno/core/trade/protocol/tasks/MakerSetLockTime.java @@ -34,7 +34,7 @@ public class MakerSetLockTime extends TradeTask { try { runInterceptHook(); - // 10 days for altcoins, 20 days for other payment methods + // 10 days for cryptos, 20 days for other payment methods // For regtest dev environment we use 5 blocks int delay = Config.baseCurrencyNetwork().isTestnet() ? 5 : diff --git a/core/src/main/java/haveno/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java b/core/src/main/java/haveno/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java index cf4c1bdf..7b27486c 100644 --- a/core/src/main/java/haveno/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java +++ b/core/src/main/java/haveno/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java @@ -44,7 +44,7 @@ public class VerifyPeersAccountAgeWitness extends TradeTask { try { runInterceptHook(); - // only verify fiat offer + // only verify traditional offer Offer offer = checkNotNull(trade.getOffer()); if (CurrencyUtil.isCryptoCurrency(offer.getCurrencyCode())) { complete(); diff --git a/core/src/main/java/haveno/core/trade/statistics/TradeStatistics3.java b/core/src/main/java/haveno/core/trade/statistics/TradeStatistics3.java index 15e098a7..beecabf6 100644 --- a/core/src/main/java/haveno/core/trade/statistics/TradeStatistics3.java +++ b/core/src/main/java/haveno/core/trade/statistics/TradeStatistics3.java @@ -28,9 +28,12 @@ import haveno.common.util.CollectionUtils; import haveno.common.util.ExtraDataMapValidator; import haveno.common.util.JsonExclude; import haveno.common.util.Utilities; -import haveno.core.monetary.Altcoin; -import haveno.core.monetary.AltcoinExchangeRate; +import haveno.core.locale.CurrencyUtil; +import haveno.core.monetary.CryptoMoney; +import haveno.core.monetary.CryptoExchangeRate; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; +import haveno.core.monetary.TraditionalExchangeRate; import haveno.core.monetary.Volume; import haveno.core.offer.Offer; import haveno.core.offer.OfferPayload; @@ -45,8 +48,6 @@ import haveno.network.p2p.storage.payload.ProcessOncePersistableNetworkPayload; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.bitcoinj.core.Coin; -import org.bitcoinj.utils.ExchangeRate; -import org.bitcoinj.utils.Fiat; import javax.annotation.Nullable; import java.time.LocalDateTime; @@ -194,7 +195,7 @@ public final class TradeStatistics3 implements ProcessOncePersistableNetworkPayl private transient final Date dateObj; @JsonExclude - private transient Volume volume = null; // Fiat or altcoin volume + private transient Volume volume = null; // Traditional or crypto volume @JsonExclude private transient LocalDateTime localDateTime; @@ -375,11 +376,12 @@ public final class TradeStatistics3 implements ProcessOncePersistableNetworkPayl public Volume getTradeVolume() { if (volume == null) { - if (getTradePrice().getMonetary() instanceof Altcoin) { - volume = new Volume(new AltcoinExchangeRate((Altcoin) getTradePrice().getMonetary()).coinToAltcoin(getTradeAmount())); + if (getTradePrice().getMonetary() instanceof CryptoMoney) { + volume = new Volume(new CryptoExchangeRate((CryptoMoney) getTradePrice().getMonetary()).coinToCrypto(getTradeAmount())); } else { - Volume exactVolume = new Volume(new ExchangeRate((Fiat) getTradePrice().getMonetary()).coinToFiat(getTradeAmount())); - volume = VolumeUtil.getRoundedFiatVolume(exactVolume); + Volume exactVolume = new Volume(new TraditionalExchangeRate((TraditionalMoney) getTradePrice().getMonetary()).coinToTraditionalMoney(getTradeAmount())); + boolean isFiat = CurrencyUtil.isFiatCurrency(exactVolume.getCurrencyCode()); + if (isFiat) volume = VolumeUtil.getRoundedFiatVolume(exactVolume); } } return volume; diff --git a/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsForJson.java b/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsForJson.java index 136e7fd1..f3a553fc 100644 --- a/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsForJson.java +++ b/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsForJson.java @@ -17,7 +17,6 @@ package haveno.core.trade.statistics; -import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; import haveno.core.monetary.Price; @@ -65,12 +64,10 @@ public final class TradeStatisticsForJson { primaryMarketTradeVolume = getTradeAmount().longValueExact(); } else { currencyPair = Res.getBaseCurrencyCode() + "/" + currency; - // we use precision 4 for fiat based price but on the markets api we use precision 8 so we scale up by 10000 - primaryMarketTradePrice = (long) MathUtils.scaleUpByPowerOf10(tradePrice.getValue(), 4); + primaryMarketTradePrice = tradePrice.getValue(); primaryMarketTradeAmount = getTradeAmount().longValueExact(); - // we use precision 4 for fiat but on the markets api we use precision 8 so we scale up by 10000 primaryMarketTradeVolume = getTradeVolume() != null ? - (long) MathUtils.scaleUpByPowerOf10(getTradeVolume().getValue(), 4) : + getTradeVolume().getValue() : 0; } } catch (Throwable t) { diff --git a/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsManager.java b/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsManager.java index 3a720c7e..9e762a8e 100644 --- a/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsManager.java +++ b/core/src/main/java/haveno/core/trade/statistics/TradeStatisticsManager.java @@ -119,10 +119,10 @@ public class TradeStatisticsManager { jsonFileManager = new JsonFileManager(storageDir); // We only dump once the currencies as they do not change during runtime - ArrayList fiatCurrencyList = CurrencyUtil.getAllSortedFiatCurrencies().stream() + ArrayList traditionalCurrencyList = CurrencyUtil.getAllSortedTraditionalCurrencies().stream() .map(e -> new CurrencyTuple(e.getCode(), e.getName(), 8)) .collect(Collectors.toCollection(ArrayList::new)); - jsonFileManager.writeToDiscThreaded(JsonUtil.objectToJson(fiatCurrencyList), "fiat_currency_list"); + jsonFileManager.writeToDiscThreaded(JsonUtil.objectToJson(traditionalCurrencyList), "traditional_currency_list"); ArrayList cryptoCurrencyList = CurrencyUtil.getAllSortedCryptoCurrencies().stream() .map(e -> new CurrencyTuple(e.getCode(), e.getName(), 8)) @@ -136,11 +136,11 @@ public class TradeStatisticsManager { .map(p -> p.getCurrency()) .collect(Collectors.toSet()); - ArrayList activeFiatCurrencyList = fiatCurrencyList.stream() + ArrayList activeTraditionalCurrencyList = traditionalCurrencyList.stream() .filter(e -> activeCurrencies.contains(e.code)) .map(e -> new CurrencyTuple(e.code, e.name, 8)) .collect(Collectors.toCollection(ArrayList::new)); - jsonFileManager.writeToDiscThreaded(JsonUtil.objectToJson(activeFiatCurrencyList), "active_fiat_currency_list"); + jsonFileManager.writeToDiscThreaded(JsonUtil.objectToJson(activeTraditionalCurrencyList), "active_traditional_currency_list"); ArrayList activeCryptoCurrencyList = cryptoCurrencyList.stream() .filter(e -> activeCurrencies.contains(e.code)) diff --git a/core/src/main/java/haveno/core/user/Preferences.java b/core/src/main/java/haveno/core/user/Preferences.java index ce3133d2..41915ac9 100644 --- a/core/src/main/java/haveno/core/user/Preferences.java +++ b/core/src/main/java/haveno/core/user/Preferences.java @@ -26,7 +26,7 @@ import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; import haveno.core.locale.CryptoCurrency; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.GlobalSettings; import haveno.core.locale.TradeCurrency; import haveno.core.payment.PaymentAccount; @@ -146,7 +146,7 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid @Getter private final IntegerProperty cssThemeProperty = new SimpleIntegerProperty(prefPayload.getCssTheme()); - private final ObservableList fiatCurrenciesAsObservable = FXCollections.observableArrayList(); + private final ObservableList traditionalCurrenciesAsObservable = FXCollections.observableArrayList(); private final ObservableList cryptoCurrenciesAsObservable = FXCollections.observableArrayList(); private final ObservableList tradeCurrenciesAsObservable = FXCollections.observableArrayList(); private final ObservableMap dontShowAgainMapAsObservable = FXCollections.observableHashMap(); @@ -189,10 +189,10 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid requestPersistence(); }); - fiatCurrenciesAsObservable.addListener((javafx.beans.Observable ov) -> { - prefPayload.getFiatCurrencies().clear(); - prefPayload.getFiatCurrencies().addAll(fiatCurrenciesAsObservable); - prefPayload.getFiatCurrencies().sort(TradeCurrency::compareTo); + traditionalCurrenciesAsObservable.addListener((javafx.beans.Observable ov) -> { + prefPayload.getTraditionalCurrencies().clear(); + prefPayload.getTraditionalCurrencies().addAll(traditionalCurrenciesAsObservable); + prefPayload.getTraditionalCurrencies().sort(TradeCurrency::compareTo); requestPersistence(); }); cryptoCurrenciesAsObservable.addListener((javafx.beans.Observable ov) -> { @@ -202,7 +202,7 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid requestPersistence(); }); - fiatCurrenciesAsObservable.addListener(this::updateTradeCurrencies); + traditionalCurrenciesAsObservable.addListener(this::updateTradeCurrencies); cryptoCurrenciesAsObservable.addListener(this::updateTradeCurrencies); } @@ -225,7 +225,7 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid GlobalSettings.setUseAnimations(prefPayload.isUseAnimations()); TradeCurrency preferredTradeCurrency = checkNotNull(prefPayload.getPreferredTradeCurrency(), "preferredTradeCurrency must not be null"); setPreferredTradeCurrency(preferredTradeCurrency); - setFiatCurrencies(prefPayload.getFiatCurrencies()); + setFiatCurrencies(prefPayload.getTraditionalCurrencies()); setCryptoCurrencies(prefPayload.getCryptoCurrencies()); GlobalSettings.setDefaultTradeCurrency(preferredTradeCurrency); @@ -255,7 +255,7 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid } prefPayload.setPreferredTradeCurrency(preferredTradeCurrency); - setFiatCurrencies(CurrencyUtil.getMainFiatCurrencies()); + setFiatCurrencies(CurrencyUtil.getMainTraditionalCurrencies()); setCryptoCurrencies(CurrencyUtil.getMainCryptoCurrencies()); BaseCurrencyNetwork baseCurrencyNetwork = Config.baseCurrencyNetwork(); @@ -298,7 +298,7 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid getBlockChainExplorer().name.length() == 0) { setBlockChainExplorer(btcExplorers.get(0)); } - tradeCurrenciesAsObservable.addAll(prefPayload.getFiatCurrencies()); + tradeCurrenciesAsObservable.addAll(prefPayload.getTraditionalCurrencies()); tradeCurrenciesAsObservable.addAll(prefPayload.getCryptoCurrencies()); dontShowAgainMapAsObservable.putAll(getDontShowAgainMap()); @@ -370,14 +370,14 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid this.cssThemeProperty.set(useDarkMode ? 1 : 0); } - public void addFiatCurrency(FiatCurrency tradeCurrency) { - if (!fiatCurrenciesAsObservable.contains(tradeCurrency)) - fiatCurrenciesAsObservable.add(tradeCurrency); + public void addTraditionalCurrency(TraditionalCurrency tradeCurrency) { + if (!traditionalCurrenciesAsObservable.contains(tradeCurrency)) + traditionalCurrenciesAsObservable.add(tradeCurrency); } - public void removeFiatCurrency(FiatCurrency tradeCurrency) { + public void removeTraditionalCurrency(TraditionalCurrency tradeCurrency) { if (tradeCurrenciesAsObservable.size() > 1) { - fiatCurrenciesAsObservable.remove(tradeCurrency); + traditionalCurrenciesAsObservable.remove(tradeCurrency); if (prefPayload.getPreferredTradeCurrency() != null && prefPayload.getPreferredTradeCurrency().equals(tradeCurrency)) @@ -608,9 +608,9 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid requestPersistence(); } - private void setFiatCurrencies(List currencies) { - fiatCurrenciesAsObservable.setAll(currencies.stream() - .map(fiatCurrency -> new FiatCurrency(fiatCurrency.getCurrency())) + private void setFiatCurrencies(List currencies) { + traditionalCurrenciesAsObservable.setAll(currencies.stream() + .map(fiatCurrency -> new TraditionalCurrency(fiatCurrency.getCurrency())) .distinct().collect(Collectors.toList())); requestPersistence(); } @@ -745,8 +745,8 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid return useAnimationsProperty; } - public ObservableList getFiatCurrenciesAsObservable() { - return fiatCurrenciesAsObservable; + public ObservableList getTraditionalCurrenciesAsObservable() { + return traditionalCurrenciesAsObservable; } public ObservableList getCryptoCurrenciesAsObservable() { @@ -909,7 +909,7 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid void setPayFeeInXmr(boolean payFeeInXmr); - void setFiatCurrencies(List currencies); + void setFiatCurrencies(List currencies); void setCryptoCurrencies(List currencies); diff --git a/core/src/main/java/haveno/core/user/PreferencesPayload.java b/core/src/main/java/haveno/core/user/PreferencesPayload.java index fc432d4f..644b6bf5 100644 --- a/core/src/main/java/haveno/core/user/PreferencesPayload.java +++ b/core/src/main/java/haveno/core/user/PreferencesPayload.java @@ -23,7 +23,7 @@ import haveno.common.proto.ProtoUtil; import haveno.common.proto.persistable.PersistableEnvelope; import haveno.core.locale.Country; import haveno.core.locale.CryptoCurrency; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.payment.PaymentAccount; import haveno.core.proto.CoreProtoResolver; @@ -48,7 +48,7 @@ import static haveno.core.xmr.wallet.Restrictions.getDefaultBuyerSecurityDeposit public final class PreferencesPayload implements PersistableEnvelope { private String userLanguage; private Country userCountry; - private List fiatCurrencies = new ArrayList<>(); + private List traditionalCurrencies = new ArrayList<>(); private List cryptoCurrencies = new ArrayList<>(); private BlockChainExplorer blockChainExplorerMainNet; private BlockChainExplorer blockChainExplorerTestNet; @@ -148,8 +148,8 @@ public final class PreferencesPayload implements PersistableEnvelope { protobuf.PreferencesPayload.Builder builder = protobuf.PreferencesPayload.newBuilder() .setUserLanguage(userLanguage) .setUserCountry((protobuf.Country) userCountry.toProtoMessage()) - .addAllFiatCurrencies(fiatCurrencies.stream() - .map(fiatCurrency -> ((protobuf.TradeCurrency) fiatCurrency.toProtoMessage())) + .addAllTraditionalCurrencies(traditionalCurrencies.stream() + .map(traditionalCurrency -> ((protobuf.TradeCurrency) traditionalCurrency.toProtoMessage())) .collect(Collectors.toList())) .addAllCryptoCurrencies(cryptoCurrencies.stream() .map(cryptoCurrency -> ((protobuf.TradeCurrency) cryptoCurrency.toProtoMessage())) @@ -227,9 +227,9 @@ public final class PreferencesPayload implements PersistableEnvelope { return new PreferencesPayload( proto.getUserLanguage(), Country.fromProto(userCountry), - proto.getFiatCurrenciesList().isEmpty() ? new ArrayList<>() : - new ArrayList<>(proto.getFiatCurrenciesList().stream() - .map(FiatCurrency::fromProto) + proto.getTraditionalCurrenciesList().isEmpty() ? new ArrayList<>() : + new ArrayList<>(proto.getTraditionalCurrenciesList().stream() + .map(TraditionalCurrency::fromProto) .collect(Collectors.toList())), proto.getCryptoCurrenciesList().isEmpty() ? new ArrayList<>() : new ArrayList<>(proto.getCryptoCurrenciesList().stream() diff --git a/core/src/main/java/haveno/core/util/AveragePriceUtil.java b/core/src/main/java/haveno/core/util/AveragePriceUtil.java index 1d199fd2..aca3d08b 100644 --- a/core/src/main/java/haveno/core/util/AveragePriceUtil.java +++ b/core/src/main/java/haveno/core/util/AveragePriceUtil.java @@ -19,12 +19,12 @@ package haveno.core.util; import haveno.common.util.MathUtils; import haveno.common.util.Tuple2; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.trade.statistics.TradeStatistics3; import haveno.core.trade.statistics.TradeStatisticsManager; import haveno.core.user.Preferences; -import org.bitcoinj.utils.Fiat; import java.util.ArrayList; import java.util.Calendar; @@ -87,7 +87,7 @@ public class AveragePriceUtil { accumulatedAmount += item.getTradeAmount().getValue(); // Amount of BTC traded } long averagePrice; - double accumulatedAmountAsDouble = MathUtils.scaleUpByPowerOf10((double) accumulatedAmount, Altcoin.SMALLEST_UNIT_EXPONENT); + double accumulatedAmountAsDouble = MathUtils.scaleUpByPowerOf10((double) accumulatedAmount, CryptoMoney.SMALLEST_UNIT_EXPONENT); averagePrice = accumulatedVolume > 0 ? MathUtils.roundDoubleToLong(accumulatedAmountAsDouble / accumulatedVolume) : 0; return averagePrice; @@ -105,13 +105,13 @@ public class AveragePriceUtil { usdBTCPrice = usdList.stream() .filter(usd -> usd.getDateAsLong() > item.getDateAsLong()) .map(usd -> MathUtils.scaleDownByPowerOf10((double) usd.getTradePrice().getValue(), - Fiat.SMALLEST_UNIT_EXPONENT)) + TraditionalMoney.SMALLEST_UNIT_EXPONENT)) .findFirst() .orElse(usdBTCPrice); var bsqAmount = MathUtils.scaleDownByPowerOf10((double) item.getTradeVolume().getValue(), - Altcoin.SMALLEST_UNIT_EXPONENT); + CryptoMoney.SMALLEST_UNIT_EXPONENT); var btcAmount = MathUtils.scaleDownByPowerOf10((double) item.getTradeAmount().getValue(), - Altcoin.SMALLEST_UNIT_EXPONENT); + CryptoMoney.SMALLEST_UNIT_EXPONENT); usdBsqList.add(new Tuple2<>(usdBTCPrice * btcAmount, bsqAmount)); } long averagePrice; @@ -122,7 +122,7 @@ public class AveragePriceUtil { .mapToDouble(item -> item.second) .sum(); var averageAsDouble = bsqTraded > 0 ? usdTraded / bsqTraded : 0d; - var averageScaledUp = MathUtils.scaleUpByPowerOf10(averageAsDouble, Fiat.SMALLEST_UNIT_EXPONENT); + var averageScaledUp = MathUtils.scaleUpByPowerOf10(averageAsDouble, TraditionalMoney.SMALLEST_UNIT_EXPONENT); averagePrice = bsqTraded > 0 ? MathUtils.roundDoubleToLong(averageScaledUp) : 0; return averagePrice; diff --git a/core/src/main/java/haveno/core/util/FormattingUtils.java b/core/src/main/java/haveno/core/util/FormattingUtils.java index 315b7ed6..2412cc07 100644 --- a/core/src/main/java/haveno/core/util/FormattingUtils.java +++ b/core/src/main/java/haveno/core/util/FormattingUtils.java @@ -4,14 +4,14 @@ import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.GlobalSettings; import haveno.core.locale.Res; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DurationFormatUtils; import org.bitcoinj.core.Coin; import org.bitcoinj.core.Monetary; -import org.bitcoinj.utils.Fiat; import org.bitcoinj.utils.MonetaryFormat; import org.jetbrains.annotations.NotNull; @@ -29,8 +29,8 @@ public class FormattingUtils { public final static String RANGE_SEPARATOR = " - "; - private static final MonetaryFormat fiatPriceFormat = new MonetaryFormat().shift(0).minDecimals(4).repeatOptionalDecimals(0, 0); - private static final MonetaryFormat altcoinFormat = new MonetaryFormat().shift(0).minDecimals(8).repeatOptionalDecimals(0, 0); + private static final MonetaryFormat traditionalPriceFormat = new MonetaryFormat().shift(0).minDecimals(4).repeatOptionalDecimals(0, 0); + private static final MonetaryFormat cryptoFormat = new MonetaryFormat().shift(0).minDecimals(CryptoMoney.SMALLEST_UNIT_EXPONENT).repeatOptionalDecimals(0, 0); private static final DecimalFormat decimalFormat = new DecimalFormat("#.#"); public static String formatCoinWithCode(long value, MonetaryFormat coinFormat) { @@ -82,84 +82,84 @@ public class FormattingUtils { return formattedCoin; } - public static String formatFiat(Fiat fiat, MonetaryFormat format, boolean appendCurrencyCode) { - if (fiat != null) { + public static String formatTraditionalMoney(TraditionalMoney traditionalMoney, MonetaryFormat format, boolean appendCurrencyCode) { + if (traditionalMoney != null) { try { - final String res = format.noCode().format(fiat).toString(); + final String res = format.noCode().format(traditionalMoney).toString(); if (appendCurrencyCode) - return res + " " + fiat.getCurrencyCode(); + return res + " " + traditionalMoney.getCurrencyCode(); else return res; } catch (Throwable t) { - log.warn("Exception at formatFiatWithCode: " + t.toString()); - return Res.get("shared.na") + " " + fiat.getCurrencyCode(); + log.warn("Exception at formatTraditionalMoneyWithCode: " + t.toString()); + return Res.get("shared.na") + " " + traditionalMoney.getCurrencyCode(); } } else { return Res.get("shared.na"); } } - private static String formatAltcoin(Altcoin altcoin, boolean appendCurrencyCode) { - if (altcoin != null) { + private static String formatCrypto(CryptoMoney crypto, boolean appendCurrencyCode) { + if (crypto != null) { try { - String res = altcoinFormat.noCode().format(altcoin).toString(); + String res = cryptoFormat.noCode().format(crypto).toString(); if (appendCurrencyCode) - return res + " " + altcoin.getCurrencyCode(); + return res + " " + crypto.getCurrencyCode(); else return res; } catch (Throwable t) { - log.warn("Exception at formatAltcoin: " + t.toString()); - return Res.get("shared.na") + " " + altcoin.getCurrencyCode(); + log.warn("Exception at formatCrypto: " + t.toString()); + return Res.get("shared.na") + " " + crypto.getCurrencyCode(); } } else { return Res.get("shared.na"); } } - public static String formatAltcoinVolume(Altcoin altcoin, boolean appendCurrencyCode) { - if (altcoin != null) { + public static String formatCryptoVolume(CryptoMoney crypto, boolean appendCurrencyCode) { + if (crypto != null) { try { // TODO quick hack... String res; - if (altcoin.getCurrencyCode().equals("BSQ")) - res = altcoinFormat.noCode().minDecimals(2).repeatOptionalDecimals(0, 0).format(altcoin).toString(); + if (crypto.getCurrencyCode().equals("BSQ")) + res = cryptoFormat.noCode().minDecimals(2).repeatOptionalDecimals(0, 0).format(crypto).toString(); else - res = altcoinFormat.noCode().format(altcoin).toString(); + res = cryptoFormat.noCode().format(crypto).toString(); if (appendCurrencyCode) - return res + " " + altcoin.getCurrencyCode(); + return res + " " + crypto.getCurrencyCode(); else return res; } catch (Throwable t) { - log.warn("Exception at formatAltcoinVolume: " + t.toString()); - return Res.get("shared.na") + " " + altcoin.getCurrencyCode(); + log.warn("Exception at formatCryptoVolume: " + t.toString()); + return Res.get("shared.na") + " " + crypto.getCurrencyCode(); } } else { return Res.get("shared.na"); } } - public static String formatPrice(Price price, MonetaryFormat fiatPriceFormat, boolean appendCurrencyCode) { + public static String formatPrice(Price price, MonetaryFormat priceFormat, boolean appendCurrencyCode) { if (price != null) { Monetary monetary = price.getMonetary(); - if (monetary instanceof Fiat) - return formatFiat((Fiat) monetary, fiatPriceFormat, appendCurrencyCode); + if (monetary instanceof TraditionalMoney) + return formatTraditionalMoney((TraditionalMoney) monetary, priceFormat, appendCurrencyCode); else - return formatAltcoin((Altcoin) monetary, appendCurrencyCode); + return formatCrypto((CryptoMoney) monetary, appendCurrencyCode); } else { return Res.get("shared.na"); } } public static String formatPrice(Price price, boolean appendCurrencyCode) { - return formatPrice(price, fiatPriceFormat, appendCurrencyCode); + return formatPrice(price, getMonetaryFormat(price.getCurrencyCode()), appendCurrencyCode); } public static String formatPrice(Price price) { - return formatPrice(price, fiatPriceFormat, false); + return formatPrice(price, getMonetaryFormat(price.getCurrencyCode()), false); } public static String formatMarketPrice(double price, String currencyCode) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) return formatMarketPrice(price, 2); else return formatMarketPrice(price, 8); @@ -290,4 +290,8 @@ public class FormattingUtils { }*/ return formattedNumber; } + + public static MonetaryFormat getMonetaryFormat(String currencyCode) { + return CurrencyUtil.isTraditionalCurrency(currencyCode) ? traditionalPriceFormat : cryptoFormat; + } } diff --git a/core/src/main/java/haveno/core/util/PriceUtil.java b/core/src/main/java/haveno/core/util/PriceUtil.java index b61b0ab3..c1892fc0 100644 --- a/core/src/main/java/haveno/core/util/PriceUtil.java +++ b/core/src/main/java/haveno/core/util/PriceUtil.java @@ -20,20 +20,20 @@ package haveno.core.util; import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.offer.Offer; import haveno.core.offer.OfferDirection; import haveno.core.provider.price.MarketPrice; import haveno.core.provider.price.PriceFeedService; import haveno.core.trade.statistics.TradeStatisticsManager; import haveno.core.user.Preferences; -import haveno.core.util.validation.AltcoinValidator; +import haveno.core.util.validation.NonFiatPriceValidator; import haveno.core.util.validation.FiatPriceValidator; import haveno.core.util.validation.InputValidator; import haveno.core.util.validation.MonetaryValidator; import lombok.extern.slf4j.Slf4j; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Singleton; @@ -56,7 +56,7 @@ public class PriceUtil { public static MonetaryValidator getPriceValidator(boolean isFiatCurrency) { return isFiatCurrency ? new FiatPriceValidator() : - new AltcoinValidator(); + new NonFiatPriceValidator(); } public static InputValidator.ValidationResult isTriggerPriceValid(String triggerPriceAsString, @@ -96,9 +96,9 @@ public class PriceUtil { public static Price marketPriceToPrice(MarketPrice marketPrice) { String currencyCode = marketPrice.getCurrencyCode(); double priceAsDouble = marketPrice.getPrice(); - int precision = CurrencyUtil.isCryptoCurrency(currencyCode) ? - Altcoin.SMALLEST_UNIT_EXPONENT : - Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : + CryptoMoney.SMALLEST_UNIT_EXPONENT; double scaled = MathUtils.scaleUpByPowerOf10(priceAsDouble, precision); long roundedToLong = MathUtils.roundDoubleToLong(scaled); return Price.valueOf(currencyCode, roundedToLong); @@ -137,14 +137,14 @@ public class PriceUtil { // If the offer did not use % price we calculate % from current market price String currencyCode = offer.getCurrencyCode(); Price price = offer.getPrice(); - int precision = CurrencyUtil.isCryptoCurrency(currencyCode) ? - Altcoin.SMALLEST_UNIT_EXPONENT : - Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : + CryptoMoney.SMALLEST_UNIT_EXPONENT; long priceAsLong = checkNotNull(price).getValue(); double scaled = MathUtils.scaleDownByPowerOf10(priceAsLong, precision); double value; if (direction == OfferDirection.SELL) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { if (marketPrice == 0) { return Optional.empty(); } @@ -156,7 +156,7 @@ public class PriceUtil { value = scaled / marketPrice - 1; } } else { - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { if (marketPrice == 1) { return Optional.empty(); } @@ -202,7 +202,7 @@ public class PriceUtil { } public static int getMarketPricePrecision(String currencyCode) { - return CurrencyUtil.isCryptoCurrency(currencyCode) ? - Altcoin.SMALLEST_UNIT_EXPONENT : Fiat.SMALLEST_UNIT_EXPONENT; + return CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : CryptoMoney.SMALLEST_UNIT_EXPONENT; } } diff --git a/core/src/main/java/haveno/core/util/VolumeUtil.java b/core/src/main/java/haveno/core/util/VolumeUtil.java index f22b91ec..5e4933f0 100644 --- a/core/src/main/java/haveno/core/util/VolumeUtil.java +++ b/core/src/main/java/haveno/core/util/VolumeUtil.java @@ -17,16 +17,17 @@ package haveno.core.util; +import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; -import haveno.core.monetary.Altcoin; -import haveno.core.monetary.AltcoinExchangeRate; +import haveno.core.monetary.CryptoMoney; +import haveno.core.monetary.CryptoExchangeRate; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; +import haveno.core.monetary.TraditionalExchangeRate; import haveno.core.monetary.Volume; import haveno.core.offer.Offer; import haveno.core.trade.HavenoUtils; import org.bitcoinj.core.Monetary; -import org.bitcoinj.utils.ExchangeRate; -import org.bitcoinj.utils.Fiat; import org.bitcoinj.utils.MonetaryFormat; import java.math.BigInteger; @@ -37,6 +38,7 @@ import java.util.Locale; public class VolumeUtil { private static final MonetaryFormat FIAT_VOLUME_FORMAT = new MonetaryFormat().shift(0).minDecimals(0).repeatOptionalDecimals(0, 0); + private static final MonetaryFormat TRADITIONAL_VOLUME_FORMAT = new MonetaryFormat().shift(0).minDecimals(4).repeatOptionalDecimals(0, 0); public static Volume getRoundedFiatVolume(Volume volumeByAmount) { // We want to get rounded to 1 unit of the fiat currency, e.g. 1 EUR. @@ -44,7 +46,7 @@ public class VolumeUtil { } public static Volume getAdjustedVolumeForHalCash(Volume volumeByAmount) { - // EUR has precision 4 and we want multiple of 10 so we divide by 100000 then + // EUR has precision 8 and we want multiple of 10 so we divide by 1000000000 then // round and multiply with 10 return getAdjustedFiatVolume(volumeByAmount, 10); } @@ -57,9 +59,9 @@ public class VolumeUtil { * @return The adjusted Fiat volume */ public static Volume getAdjustedFiatVolume(Volume volumeByAmount, int factor) { - // Fiat currencies use precision 4 and we want multiple of factor so we divide by 10000 * factor then + // Fiat currencies use precision 8 and we want multiple of factor so we divide by 100000000 * factor then // round and multiply with factor - long roundedVolume = Math.round((double) volumeByAmount.getValue() / (10000d * factor)) * factor; + long roundedVolume = Math.round((double) volumeByAmount.getValue() / (100000000d * factor)) * factor; // Smallest allowed volume is factor (e.g. 10 EUR or 1 EUR,...) roundedVolume = Math.max(factor, roundedVolume); return Volume.parse(String.valueOf(roundedVolume), volumeByAmount.getCurrencyCode()); @@ -67,10 +69,10 @@ public class VolumeUtil { public static Volume getVolume(BigInteger amount, Price price) { // TODO: conversion to Coin loses precision - if (price.getMonetary() instanceof Altcoin) { - return new Volume(new AltcoinExchangeRate((Altcoin) price.getMonetary()).coinToAltcoin(HavenoUtils.atomicUnitsToCoin(amount))); + if (price.getMonetary() instanceof CryptoMoney) { + return new Volume(new CryptoExchangeRate((CryptoMoney) price.getMonetary()).coinToCrypto(HavenoUtils.atomicUnitsToCoin(amount))); } else { - return new Volume(new ExchangeRate((Fiat) price.getMonetary()).coinToFiat(HavenoUtils.atomicUnitsToCoin(amount))); + return new Volume(new TraditionalExchangeRate((TraditionalMoney) price.getMonetary()).coinToTraditionalMoney(HavenoUtils.atomicUnitsToCoin(amount))); } } @@ -110,16 +112,16 @@ public class VolumeUtil { } public static String formatVolume(Volume volume) { - return formatVolume(volume, FIAT_VOLUME_FORMAT, false); + return formatVolume(volume, getMonetaryFormat(volume.getCurrencyCode()), false); } private static String formatVolume(Volume volume, MonetaryFormat fiatVolumeFormat, boolean appendCurrencyCode) { if (volume != null) { Monetary monetary = volume.getMonetary(); - if (monetary instanceof Fiat) - return FormattingUtils.formatFiat((Fiat) monetary, fiatVolumeFormat, appendCurrencyCode); + if (monetary instanceof TraditionalMoney) + return FormattingUtils.formatTraditionalMoney((TraditionalMoney) monetary, fiatVolumeFormat, appendCurrencyCode); else - return FormattingUtils.formatAltcoinVolume((Altcoin) monetary, appendCurrencyCode); + return FormattingUtils.formatCryptoVolume((CryptoMoney) monetary, appendCurrencyCode); } else { return ""; } @@ -130,11 +132,11 @@ public class VolumeUtil { } public static String formatVolume(Volume volume, boolean appendCode) { - return formatVolume(volume, FIAT_VOLUME_FORMAT, appendCode); + return formatVolume(volume, getMonetaryFormat(volume.getCurrencyCode()), appendCode); } public static String formatAverageVolumeWithCode(Volume volume) { - return formatVolume(volume, FIAT_VOLUME_FORMAT.minDecimals(2), true); + return formatVolume(volume, getMonetaryFormat(volume.getCurrencyCode()).minDecimals(2), true); } public static String formatVolumeLabel(String currencyCode) { @@ -145,4 +147,8 @@ public class VolumeUtil { return Res.get("formatter.formatVolumeLabel", currencyCode, postFix); } + + private static MonetaryFormat getMonetaryFormat(String currencyCode) { + return CurrencyUtil.isFiatCurrency(currencyCode) ? FIAT_VOLUME_FORMAT : TRADITIONAL_VOLUME_FORMAT; + } } diff --git a/core/src/main/java/haveno/core/util/validation/MonetaryValidator.java b/core/src/main/java/haveno/core/util/validation/MonetaryValidator.java index d2ab2ee5..a28e6cbb 100644 --- a/core/src/main/java/haveno/core/util/validation/MonetaryValidator.java +++ b/core/src/main/java/haveno/core/util/validation/MonetaryValidator.java @@ -54,7 +54,7 @@ public abstract class MonetaryValidator extends NumberValidator { protected ValidationResult validateIfNotExceedsMinValue(String input) { double d = Double.parseDouble(input); if (d < getMinValue()) - return new ValidationResult(false, Res.get("validation.fiat.tooSmall")); + return new ValidationResult(false, Res.get("validation.traditional.tooSmall")); else return new ValidationResult(true); } @@ -62,7 +62,7 @@ public abstract class MonetaryValidator extends NumberValidator { protected ValidationResult validateIfNotExceedsMaxValue(String input) { double d = Double.parseDouble(input); if (d > getMaxValue()) - return new ValidationResult(false, Res.get("validation.fiat.tooLarge")); + return new ValidationResult(false, Res.get("validation.traditional.tooLarge")); else return new ValidationResult(true); } diff --git a/core/src/main/java/haveno/core/util/validation/AltcoinValidator.java b/core/src/main/java/haveno/core/util/validation/NonFiatPriceValidator.java similarity index 85% rename from core/src/main/java/haveno/core/util/validation/AltcoinValidator.java rename to core/src/main/java/haveno/core/util/validation/NonFiatPriceValidator.java index a3d28424..6e154c8b 100644 --- a/core/src/main/java/haveno/core/util/validation/AltcoinValidator.java +++ b/core/src/main/java/haveno/core/util/validation/NonFiatPriceValidator.java @@ -19,7 +19,7 @@ package haveno.core.util.validation; import javax.inject.Inject; -public class AltcoinValidator extends MonetaryValidator { +public class NonFiatPriceValidator extends MonetaryValidator { @Override public double getMinValue() { return 0.00000001; @@ -27,11 +27,11 @@ public class AltcoinValidator extends MonetaryValidator { @Override public double getMaxValue() { - // hard to say what the max value should be with altcoins + // hard to say what the max value should be with cryptos return 100_000_000; } @Inject - public AltcoinValidator() { + public NonFiatPriceValidator() { } } diff --git a/core/src/main/java/haveno/core/xmr/wallet/Restrictions.java b/core/src/main/java/haveno/core/xmr/wallet/Restrictions.java index b27b2a89..6312b395 100644 --- a/core/src/main/java/haveno/core/xmr/wallet/Restrictions.java +++ b/core/src/main/java/haveno/core/xmr/wallet/Restrictions.java @@ -88,7 +88,7 @@ public class Restrictions { } public static int getLockTime(boolean isAsset) { - // 10 days for altcoins, 20 days for other payment methods + // 10 days for cryptos, 20 days for other payment methods return isAsset ? 144 * 10 : 144 * 20; } } diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 6d761f8e..4afd2d3e 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -200,7 +200,7 @@ shared.makerTxFee=Maker: {0} shared.takerTxFee=Taker: {0} shared.iConfirm=I confirm shared.openURL=Open {0} -shared.fiat=Fiat +shared.traditional=Traditional shared.crypto=Crypto shared.otherAssets=other assets shared.other=Other @@ -442,12 +442,12 @@ createOffer.amount.prompt=Enter amount in XMR createOffer.price.prompt=Enter price createOffer.volume.prompt=Enter amount in {0} createOffer.amountPriceBox.amountDescription=Amount of XMR to {0} -createOffer.amountPriceBox.buy.amountDescriptionAltcoin=Amount in XMR to spend -createOffer.amountPriceBox.sell.amountDescriptionAltcoin=Amount in XMR to receive +createOffer.amountPriceBox.buy.amountDescriptionCrypto=Amount in XMR to spend +createOffer.amountPriceBox.sell.amountDescriptionCrypto=Amount in XMR to receive createOffer.amountPriceBox.buy.volumeDescription=Amount in {0} to spend createOffer.amountPriceBox.sell.volumeDescription=Amount in {0} to receive -createOffer.amountPriceBox.buy.volumeDescriptionAltcoin=Amount in {0} to sell -createOffer.amountPriceBox.sell.volumeDescriptionAltcoin=Amount in {0} to buy +createOffer.amountPriceBox.buy.volumeDescriptionCrypto=Amount in {0} to sell +createOffer.amountPriceBox.sell.volumeDescriptionCrypto=Amount in {0} to buy createOffer.amountPriceBox.minAmountDescription=Minimum amount of XMR createOffer.securityDeposit.prompt=Security deposit createOffer.fundsBox.title=Fund your offer @@ -476,7 +476,7 @@ createOffer.triggerPrice.invalid.tooHigh=Value must be lower than {0} # new entries createOffer.placeOfferButton=Review: Place offer to {0} monero -createOffer.placeOfferButtonAltcoin=Review: Place offer to {0} {1} +createOffer.placeOfferButtonCrypto=Review: Place offer to {0} {1} createOffer.createOfferFundWalletInfo.headline=Fund your offer # suppress inspection "TrailingSpacesInProperty" createOffer.createOfferFundWalletInfo.tradeAmount=- Trade amount: {0} \n @@ -520,8 +520,8 @@ createOffer.minSecurityDepositUsed=Min. buyer security deposit is used takeOffer.amount.prompt=Enter amount in BTC takeOffer.amountPriceBox.buy.amountDescription=Amount of XMR to sell takeOffer.amountPriceBox.sell.amountDescription=Amount of XMR to buy -takeOffer.amountPriceBox.buy.amountDescriptionAltcoin=Amount of XMR to spend -takeOffer.amountPriceBox.sell.amountDescriptionAltcoin=Amount of XMR to receive +takeOffer.amountPriceBox.buy.amountDescriptionCrypto=Amount of XMR to spend +takeOffer.amountPriceBox.sell.amountDescriptionCrypto=Amount of XMR to receive takeOffer.amountPriceBox.priceDescription=Price per bitcoin in {0} takeOffer.amountPriceBox.amountRangeDescription=Possible amount range takeOffer.amountPriceBox.warning.invalidBtcDecimalPlaces=The amount you have entered exceeds the number of allowed decimal places.\nThe amount has been adjusted to 4 decimal places. @@ -542,7 +542,7 @@ takeOffer.error.message=An error occurred when taking the offer.\n\n{0} # new entries takeOffer.takeOfferButton=Review: Take offer to {0} monero -takeOffer.takeOfferButtonAltcoin=Review: Take offer to {0} {1} +takeOffer.takeOfferButtonCrypto=Review: Take offer to {0} {1} takeOffer.noPriceFeedAvailable=You cannot take that offer as it uses a percentage price based on the market price but there is no price feed available. takeOffer.takeOfferFundWalletInfo.headline=Fund your trade # suppress inspection "TrailingSpacesInProperty" @@ -598,7 +598,7 @@ portfolio.context.notYourOffer=You can only duplicate offers where you were the portfolio.closedTrades.deviation.help=Percentage price deviation from market portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\n\ - Please do NOT send the fiat or cryptocurrency payment.\n\n\ + Please do NOT send the traditional or cryptocurrency payment.\n\n\ Open a support ticket to get assistance from a Mediator.\n\n\ Error message: {0} @@ -661,7 +661,7 @@ portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the portfolio.pending.step2_buyer.fees.swift=Make sure to use the SHA (shared fee model) to send the SWIFT payment. \ See more details at [HYPERLINK:https://bisq.wiki/SWIFT#Use_the_correct_fee_option]. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Please transfer from your external {0} wallet\n{1} to the BTC seller.\n\n +portfolio.pending.step2_buyer.crypto=Please transfer from your external {0} wallet\n{1} to the BTC seller.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Please go to a bank and pay {0} to the BTC seller.\n\n portfolio.pending.step2_buyer.cash.extra=IMPORTANT REQUIREMENT:\nAfter you have done the payment write on the paper receipt: NO REFUNDS.\nThen tear it in 2 parts, make a photo and send it to the BTC seller's email address. @@ -766,9 +766,9 @@ portfolio.pending.step3_buyer.openForDispute=The XMR seller has not confirmed yo trade has elapsed. You can wait longer and give the trading peer more time or request assistance from the arbitrator. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Your trading partner has confirmed that they have initiated the {0} payment.\n\n -portfolio.pending.step3_seller.altcoin.explorer=on your favorite {0} blockchain explorer -portfolio.pending.step3_seller.altcoin.wallet=at your {0} wallet -portfolio.pending.step3_seller.altcoin={0}Please check {1} if the transaction to your receiving address\n\ +portfolio.pending.step3_seller.crypto.explorer=on your favorite {0} blockchain explorer +portfolio.pending.step3_seller.crypto.wallet=at your {0} wallet +portfolio.pending.step3_seller.crypto={0}Please check {1} if the transaction to your receiving address\n\ {2}\n\ has already sufficient blockchain confirmations.\nThe payment amount has to be {3}\n\n\ You can copy & paste your {4} address from the main screen after closing that popup. @@ -809,8 +809,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=Confirm payment receipt portfolio.pending.step3_seller.buyerStartedPayment=The XMR buyer has started the {0} payment.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Check for blockchain confirmations at your cryptocurrency wallet or block explorer and confirm the payment when you have sufficient blockchain confirmations. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Check at your trading account (e.g. bank account) and confirm when you have received the payment. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Check for blockchain confirmations at your cryptocurrency wallet or block explorer and confirm the payment when you have sufficient blockchain confirmations. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Check at your trading account (e.g. bank account) and confirm when you have received the payment. portfolio.pending.step3_seller.warn.part1a=on the {0} blockchain portfolio.pending.step3_seller.warn.part1b=at your payment provider (e.g. bank) portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment. \ @@ -938,7 +938,7 @@ portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of Feel free to move this trade to failed trades. portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, \ but funds have been locked in the deposit transaction.\n\n\ - Please do NOT send the fiat or cryptocurrency payment to the XMR seller, because without the delayed payout tx, arbitration \ + Please do NOT send the traditional or cryptocurrency payment to the XMR seller, because without the delayed payout tx, arbitration \ cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. \ The mediator should suggest that both peers each get back the full amount of their security deposits \ (with seller receiving full trade amount back as well). \ @@ -1182,9 +1182,9 @@ Traders can communicate within the application via secure chat on the open trade support.initialInfo=Please enter a description of your problem in the text field below. \ Add as much information as possible to speed up dispute resolution time.\n\n\ Here is a check list for information you should provide:\n\ - \t● If you are the XMR buyer: Did you make the Fiat or Cryptocurrency transfer? If so, did you click the 'payment started' \ + \t● If you are the XMR buyer: Did you make the Traditional or Cryptocurrency transfer? If so, did you click the 'payment started' \ button in the application?\n\ - \t● If you are the XMR seller: Did you receive the Fiat or Cryptocurrency payment? If so, did you click the 'payment received' \ + \t● If you are the XMR seller: Did you receive the Traditional or Cryptocurrency payment? If so, did you click the 'payment received' \ button in the application?\n\ \t● Which version of Haveno are you using?\n\ \t● Which operating system are you using?\n\ @@ -1246,10 +1246,10 @@ setting.preferences.prefCurrency=Preferred currency setting.preferences.displayFiat=Display national currencies setting.preferences.noFiat=There are no national currencies selected setting.preferences.cannotRemovePrefCurrency=You cannot remove your selected preferred display currency -setting.preferences.displayAltcoins=Display altcoins -setting.preferences.noAltcoins=There are no altcoins selected +setting.preferences.displayCryptos=Display cryptos +setting.preferences.noCryptos=There are no cryptos selected setting.preferences.addFiat=Add national currency -setting.preferences.addAltcoin=Add cryptocurrency +setting.preferences.addCrypto=Add cryptocurrency setting.preferences.displayOptions=Display options setting.preferences.showOwnOffers=Show my own offers in offer book setting.preferences.useAnimations=Use animations @@ -1339,8 +1339,8 @@ setting.about.support=Support Haveno setting.about.def=Haveno is not a company—it is a project open to the community. If you want to support Haveno please follow the links below. setting.about.contribute=Contribute setting.about.providers=Data providers -setting.about.apisWithFee=Haveno uses price indices for Fiat and Cryptocurrency market prices -setting.about.apis=Haveno uses Price Indices for Fiat and Cryptocurrency market prices. +setting.about.apisWithFee=Haveno uses price indices for Traditional and Cryptocurrency market prices +setting.about.apis=Haveno uses Price Indices for Traditional and Cryptocurrency market prices. setting.about.pricesProvided=Market prices provided by setting.about.feeEstimation.label=Mining fee estimation provided by setting.about.versionDetails=Version details @@ -1437,14 +1437,14 @@ account.arbitratorRegistration.removedFailed=Could not remove registration.{0} account.arbitratorRegistration.registerSuccess=You have successfully registered to the Haveno network. account.arbitratorRegistration.registerFailed=Could not complete registration.{0} -account.altcoin.yourAltcoinAccounts=Your cryptocurrency accounts -account.altcoin.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as \ +account.crypto.yourCryptoAccounts=Your cryptocurrency accounts +account.crypto.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as \ described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or \ (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is \ not a {2} specialist and cannot help in such cases. -account.altcoin.popup.wallet.confirm=I understand and confirm that I know which wallet I need to use. +account.crypto.popup.wallet.confirm=I understand and confirm that I know which wallet I need to use. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill \ +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ For sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the \ store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as \ @@ -1463,7 +1463,7 @@ There is no payment ID required, just the normal public address.\n\ If you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) \ or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill \ +account.crypto.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ For sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the \ store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as \ @@ -1482,7 +1482,7 @@ There is no payment ID required, just the normal public address.\n\ If you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) \ or the ArQmA forum (https://labs.arqma.com) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\n\ +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\n\ If selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n\ - the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n\ - the transaction ID (Tx ID or Tx Hash)\n\ @@ -1493,7 +1493,7 @@ Also note that Haveno now offers automatic confirming for XMR transactions to ma but you need to enable it in Settings.\n\n\ See the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill \ +account.crypto.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ For sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the \ store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as \ @@ -1517,7 +1517,7 @@ mediator or arbitrator in case of a dispute.\n\n\ There is no payment ID required, just the normal public address.\n\ If you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill \ +account.crypto.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ To send BLUR you must use the Blur Network CLI or GUI Wallet. \n\n\ If you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save \ @@ -1533,7 +1533,7 @@ Failure to provide the required information to the mediator or arbitrator will r BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill \ +account.crypto.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ To send Solo you must use the Solo Network CLI Wallet. \n\n\ If you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save \ @@ -1546,7 +1546,7 @@ failure to provide the required information to the mediator or arbitrator will r Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill \ +account.crypto.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ To send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\n\ After a transaction is sent, the transaction ID will be displayed. You must save this information. \ @@ -1559,7 +1559,7 @@ Failure to provide the required information to the mediator or arbitrator will r CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill \ +account.crypto.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ To send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\n\ After a transaction is sent, the transaction ID will be displayed. You must save this information. \ @@ -1572,7 +1572,7 @@ Failure to provide the required information to the mediator or arbitrator will r QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill \ +account.crypto.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ Because of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you \ can prove your payment through the use of your TXN-Private-Key.\n\ @@ -1590,13 +1590,13 @@ dispute case. The Dragonglass sender is responsible for providing verification o mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\n\ If you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not \ +account.crypto.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not \ the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not \ +account.crypto.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not \ the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN requires an interactive process between the sender and receiver to create the \ +account.crypto.popup.grin.msg=GRIN requires an interactive process between the sender and receiver to create the \ transaction. Be sure to follow the instructions from the GRIN project web page to reliably send and receive GRIN \ (the receiver needs to be online or at least be online during a certain time frame). \n\n\ Haveno supports only the Grinbox (Wallet713) wallet URL format. \n\n\ @@ -1607,7 +1607,7 @@ account.altcoin.popup.grin.msg=GRIN requires an interactive process between the See https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only for more \ information about the Grinbox proof tool. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM requires an interactive process between the sender and receiver to create the \ +account.crypto.popup.beam.msg=BEAM requires an interactive process between the sender and receiver to create the \ transaction. \n\n\ Be sure to follow the instructions from the BEAM project web page to reliably send and receive BEAM \ (the receiver needs to be online or at least be online during a certain time frame). \n\n\ @@ -1615,7 +1615,7 @@ account.altcoin.popup.beam.msg=BEAM requires an interactive process between the Be sure to use wallet software which can produce such a proof. If the wallet cannot provide the proof a potential \ dispute will be resolved in favor of the BEAM receiver. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill \ +account.crypto.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill \ the following requirements:\n\n\ To send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\n\ You can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) \ @@ -1628,7 +1628,7 @@ ParsiCoin sender bears 100% of the burden of responsibility in verifying transac If you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\n\ +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\n\ Burnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: \ OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. \ For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\n\ @@ -1640,7 +1640,7 @@ burning ordinary blackcoins (with associated data equal to the destination addre In case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Trading L-XMR on Haveno requires that you understand the following:\n\n\ +account.crypto.popup.liquidbitcoin.msg=Trading L-XMR on Haveno requires that you understand the following:\n\n\ When receiving L-XMR for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a \ custodial/exchange wallet. You must only receive L-XMR into the Liquid Elements Core wallet, or another \ L-XMR wallet which allows you to obtain the blinding key for your blinded L-XMR address.\n\n\ @@ -1652,7 +1652,7 @@ dispute case. In all cases of dispute, the L-XMR receiver bears 100% of the burd providing cryptographic proof to the mediator or refund agent.\n\n\ If you do not understand these requirements, do not trade L-XMR on Haveno. -account.fiat.yourFiatAccounts=Your national currency accounts +account.traditional.yourTraditionalAccounts=Your national currency accounts account.backup.title=Backup wallet account.backup.location=Backup location @@ -1936,9 +1936,9 @@ offerDetailsWindow.commitment=Commitment offerDetailsWindow.agree=I agree offerDetailsWindow.tac=Terms and conditions offerDetailsWindow.confirm.maker=Confirm: Place offer to {0} bitcoin -offerDetailsWindow.confirm.makerAltcoin=Confirm: Place offer to {0} {1} +offerDetailsWindow.confirm.makerCrypto=Confirm: Place offer to {0} {1} offerDetailsWindow.confirm.taker=Confirm: Take offer to {0} bitcoin -offerDetailsWindow.confirm.takerAltcoin=Confirm: Take offer to {0} {1} +offerDetailsWindow.confirm.takerCrypto=Confirm: Take offer to {0} {1} offerDetailsWindow.creationDate=Creation date offerDetailsWindow.makersOnion=Maker's onion address @@ -2368,8 +2368,8 @@ formatter.makerTaker=Maker as {0} {1} / Taker as {2} {3} formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=You are {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=You are creating an offer to {0} {1} -formatter.youAreCreatingAnOffer.altcoin=You are creating an offer to {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=You are creating an offer to {0} {1} +formatter.youAreCreatingAnOffer.crypto=You are creating an offer to {0} {1} ({2} {3}) formatter.asMaker={0} {1} as maker formatter.asTaker={0} {1} as taker @@ -2475,14 +2475,14 @@ payment.email=Email payment.country=Country payment.extras=Extra requirements payment.email.mobile=Email or mobile no. -payment.altcoin.address=Cryptocurrency address -payment.altcoin.tradeInstantCheckbox=Trade instant (within 1 hour) with this Cryptocurrency -payment.altcoin.tradeInstant.popup=For instant trading it is required that both trading peers are online to be able \ +payment.crypto.address=Cryptocurrency address +payment.crypto.tradeInstantCheckbox=Trade instant (within 1 hour) with this Cryptocurrency +payment.crypto.tradeInstant.popup=For instant trading it is required that both trading peers are online to be able \ to complete the trade in less than 1 hour.\n\n\ If you have offers open, and you are not available please disable \ those offers under the 'Portfolio' screen. -payment.altcoin=Cryptocurrency -payment.select.altcoin=Select or search Cryptocurrency +payment.crypto=Cryptocurrency +payment.select.crypto=Select or search Cryptocurrency payment.secret=Secret question payment.answer=Answer payment.wallet=Wallet ID @@ -2549,8 +2549,8 @@ payment.national.account.id.AR=CBU number shared.accountSigningState=Account signing status #new -payment.altcoin.address.dyn={0} address -payment.altcoin.receiver.address=Receiver's cryptocurrency address +payment.crypto.address.dyn={0} address +payment.crypto.receiver.address=Receiver's cryptocurrency address payment.accountNr=Account number payment.emailOrMobile=Email or mobile no. payment.useCustomAccountName=Use custom account name @@ -2928,7 +2928,7 @@ payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that \n\ CBM trades put the onus to act honestly squarely on both peers.\n\ \n\ - ● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n\ + ● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n\ ● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n\ ● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n\ ● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n\ @@ -3231,8 +3231,8 @@ validation.NaN=Input is not a valid number. validation.notAnInteger=Input is not an integer value. validation.zero=Input of 0 is not allowed. validation.negative=A negative value is not allowed. -validation.fiat.tooSmall=Input smaller than minimum possible amount is not allowed. -validation.fiat.tooLarge=Input larger than maximum possible amount is not allowed. +validation.traditional.tooSmall=Input smaller than minimum possible amount is not allowed. +validation.traditional.tooLarge=Input larger than maximum possible amount is not allowed. validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=Input larger than {0} is not allowed. validation.xmr.tooSmall=Input smaller than {0} is not allowed. @@ -3255,15 +3255,15 @@ validation.nationalAccountId={0} must consist of {1} numbers. validation.invalidInput=Invalid input: {0} validation.accountNrFormat=Account number must be of format: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Address validation failed because it does not match the structure of a {0} address. +validation.crypto.wrongStructure=Address validation failed because it does not match the structure of a {0} address. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Address is not a valid {0} address! {1} +validation.crypto.invalidAddress=Address is not a valid {0} address! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. +validation.crypto.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=Bank and Country code must be letters validation.bic.invalidLocationCode=BIC contains invalid location code diff --git a/core/src/main/resources/i18n/displayStrings_cs.properties b/core/src/main/resources/i18n/displayStrings_cs.properties index da9df223..c569c39d 100644 --- a/core/src/main/resources/i18n/displayStrings_cs.properties +++ b/core/src/main/resources/i18n/displayStrings_cs.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Tvůrce: {0} shared.takerTxFee=Příjemce: {0} shared.iConfirm=Potvrzuji shared.openURL=Otevřené {0} -shared.fiat=Fiat +shared.traditional=Traditional shared.crypto=Krypto shared.all=Vše shared.edit=Upravit @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Nabídky podle způsobů platby market.tabs.trades=Obchody # OfferBookChartView -market.offerBook.buyAltcoin=Koupit {0} (prodat {1}) -market.offerBook.sellAltcoin=Prodat {0} (koupit {1}) -market.offerBook.buyWithFiat=Koupit {0} -market.offerBook.sellWithFiat=Prodat {0} +market.offerBook.buyCrypto=Koupit {0} (prodat {1}) +market.offerBook.sellCrypto=Prodat {0} (koupit {1}) +market.offerBook.buyWithTraditional=Koupit {0} +market.offerBook.sellWithTraditional=Prodat {0} market.offerBook.sellOffersHeaderLabel=Prodat {0} kupujícímu market.offerBook.buyOffersHeaderLabel=Koupit {0} od prodejce market.offerBook.buy=Chci koupit bitcoin @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=N/A shared.notSigned=Tento účet ještě nebyl podepsán a byl vytvořen před {0} dny shared.notSigned.noNeed=Tento typ účtu nevyžaduje podepisování shared.notSigned.noNeedDays=Tento typ účtu nevyžaduje podepisování a byl vytvořen před {0} dny -shared.notSigned.noNeedAlts=Altcoinové účty neprocházejí kontrolou podpisu a stáří +shared.notSigned.noNeedAlts=Cryptoové účty neprocházejí kontrolou podpisu a stáří offerbook.nrOffers=Počet nabídek: {0} offerbook.volume={0} (min - max) @@ -361,8 +361,8 @@ offerbook.deposit.help=Kauce zaplacená každým obchodníkem k zajištění obc offerbook.createOfferToBuy=Vytvořit novou nabídku k nákupu {0} offerbook.createOfferToSell=Vytvořit novou nabídku k prodeji {0} -offerbook.createOfferToBuy.withFiat=Vytvořit novou nabídku k nákupu {0} za {1} -offerbook.createOfferToSell.forFiat=Vytvořit novou nabídku k prodeji {0} za {1} +offerbook.createOfferToBuy.withTraditional=Vytvořit novou nabídku k nákupu {0} za {1} +offerbook.createOfferToSell.forTraditional=Vytvořit novou nabídku k prodeji {0} za {1} offerbook.createOfferToBuy.withCrypto=Vytvořit novou nabídku k prodeji {0} (koupit {1}) offerbook.createOfferToSell.forCrypto=Vytvořit novou nabídku na nákup {0} (prodat {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Upravit nabídku portfolio.closedTrades.deviation.help=Procentuální odchylka od tržní ceny -portfolio.pending.invalidTx=Došlo k problému s chybějící nebo neplatnou transakcí.\n\nProsím neposílejte fiat nebo altcoin platby.\n\nOtevřete úkol pro podporu, některý z mediátorů vám pomůže.\n\nChybová zpráva: {0} +portfolio.pending.invalidTx=Došlo k problému s chybějící nebo neplatnou transakcí.\n\nProsím neposílejte fiat nebo crypto platby.\n\nOtevřete úkol pro podporu, některý z mediátorů vám pomůže.\n\nChybová zpráva: {0} portfolio.pending.step1.waitForConf=Počkejte na potvrzení na blockchainu portfolio.pending.step2_buyer.startPayment=Zahajte platbu @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Důležité: když vyplňujete platebn # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=Pokud vaše banka účtuje poplatky za převod, musíte tyto poplatky uhradit vy. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Převeďte prosím z vaší externí {0} peněženky\n{1} prodejci BTC.\n\n +portfolio.pending.step2_buyer.crypto=Převeďte prosím z vaší externí {0} peněženky\n{1} prodejci BTC.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Přejděte do banky a zaplaťte {0} prodejci BTC.\n\n portfolio.pending.step2_buyer.cash.extra=DŮLEŽITÉ POŽADAVKY:\nPo provedení platby zapište na papírový doklad: NO REFUNDS - bez náhrady.\nPoté ji roztrhněte na 2 části, vytvořte fotografii a odešlete ji na e-mailovou adresu prodejce BTC. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=Prodejce BTC vaši platbu stále nepotv portfolio.pending.step3_buyer.openForDispute=Prodejce BTC nepotvrdil vaši platbu! Max. období pro uskutečnění obchodu uplynulo. Můžete počkat déle a dát obchodnímu partnerovi více času nebo požádat o pomoc mediátora. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Váš obchodní partner potvrdil, že zahájil platbu {0}.\n\n -portfolio.pending.step3_seller.altcoin.explorer=ve vašem oblíbeném {0} blockchain exploreru -portfolio.pending.step3_seller.altcoin.wallet=na vaší {0} peněžence -portfolio.pending.step3_seller.altcoin={0}Zkontrolujte prosím {1}, zda transakce na vaši přijímací adresu\n{2}\nmá již dostatečné potvrzení na blockchainu.\nČástka platby musí být {3}\n\nPo zavření vyskakovacího okna můžete zkopírovat a vložit svou {4} adresu z hlavní obrazovky. +portfolio.pending.step3_seller.crypto.explorer=ve vašem oblíbeném {0} blockchain exploreru +portfolio.pending.step3_seller.crypto.wallet=na vaší {0} peněžence +portfolio.pending.step3_seller.crypto={0}Zkontrolujte prosím {1}, zda transakce na vaši přijímací adresu\n{2}\nmá již dostatečné potvrzení na blockchainu.\nČástka platby musí být {3}\n\nPo zavření vyskakovacího okna můžete zkopírovat a vložit svou {4} adresu z hlavní obrazovky. portfolio.pending.step3_seller.postal={0}Zkontrolujte, zda jste od kupujícího BTC obdrželi {1} přes \"US Postal Money Order\". # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Zkontrolujte, zda jste od kupujícího BTC obdrželi {1} přes \"Cash by Mail\". @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transakční klíč portfolio.pending.step3_seller.buyersAccount=Údaje o účtu kupujícího portfolio.pending.step3_seller.confirmReceipt=Potvrďte příjem platby portfolio.pending.step3_seller.buyerStartedPayment=Kupující BTC zahájil platbu {0}.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Podívejte se na potvrzení na blockchainu ve své altcoin peněžence nebo v blok exploreru a potvrďte platbu, pokud máte dostatečné potvrzení na blockchainu. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Zkontrolujte na svém obchodním účtu (např. Bankovní účet) a potvrďte, kdy jste platbu obdrželi. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Podívejte se na potvrzení na blockchainu ve své crypto peněžence nebo v blok exploreru a potvrďte platbu, pokud máte dostatečné potvrzení na blockchainu. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Zkontrolujte na svém obchodním účtu (např. Bankovní účet) a potvrďte, kdy jste platbu obdrželi. portfolio.pending.step3_seller.warn.part1a=na {0} blockchainu portfolio.pending.step3_seller.warn.part1b=u vašeho poskytovatele plateb (např. banky) portfolio.pending.step3_seller.warn.part2=Stále jste nepotvrdili přijetí platby. Zkontrolujte {0}, zda jste obdrželi platbu. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=Už jste přijali portfolio.pending.failedTrade.taker.missingTakerFeeTx=Chybí poplatek příjemce transakce.\n\nBez tohoto tx nelze obchod dokončit. Nebyly uzamčeny žádné prostředky a nebyl zaplacen žádný obchodní poplatek. Tento obchod můžete přesunout do neúspěšných obchodů. portfolio.pending.failedTrade.maker.missingTakerFeeTx=Chybí poplatek příjemce transakce.\n\nBez tohoto tx nelze obchod dokončit. Nebyly uzamčeny žádné prostředky. Vaše nabídka je stále k dispozici dalším obchodníkům, takže jste neztratili poplatek za vytvoření. Tento obchod můžete přesunout do neúspěšných obchodů. portfolio.pending.failedTrade.missingDepositTx=Vkladová transakce (transakce 2-of-2 multisig) chybí.\n\nBez tohoto tx nelze obchod dokončit. Nebyly uzamčeny žádné prostředky, ale byl zaplacen váš obchodní poplatek. Zde můžete požádat o vrácení obchodního poplatku: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nKlidně můžete přesunout tento obchod do neúspěšných obchodů. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=Odložená výplatní transakce chybí, ale prostředky byly uzamčeny v vkladové transakci.\n\nNezasílejte prosím fiat nebo altcoin platbu prodejci BTC, protože bez odložené platby tx nelze zahájit arbitráž. Místo toho otevřete mediační úkol pomocí Cmd/Ctrl+o. Mediátor by měl navrhnout, aby oba partneři dostali zpět celou částku svých bezpečnostních vkladů (přičemž prodejce také obdrží plnou částku obchodu). Tímto způsobem nehrozí žádné bezpečnostní riziko a jsou ztraceny pouze obchodní poplatky.\n\nO vrácení ztracených obchodních poplatků můžete požádat zde: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=Odložená výplatní transakce chybí, ale prostředky byly uzamčeny v vkladové transakci.\n\nNezasílejte prosím fiat nebo crypto platbu prodejci BTC, protože bez odložené platby tx nelze zahájit arbitráž. Místo toho otevřete mediační úkol pomocí Cmd/Ctrl+o. Mediátor by měl navrhnout, aby oba partneři dostali zpět celou částku svých bezpečnostních vkladů (přičemž prodejce také obdrží plnou částku obchodu). Tímto způsobem nehrozí žádné bezpečnostní riziko a jsou ztraceny pouze obchodní poplatky.\n\nO vrácení ztracených obchodních poplatků můžete požádat zde: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=Odložená výplatní transakce chybí, ale prostředky byly v depozitní transakci uzamčeny.\n\nPokud kupujícímu chybí také odložená výplatní transakce, bude poučen, aby platbu NEPOSLAL a místo toho otevřel mediační úkol. Měli byste také otevřít mediační úkol pomocí Cmd/Ctrl+o.\n\nPokud kupující ještě neposlal platbu, měl by zprostředkovatel navrhnout, aby oba partneři dostali zpět celou částku svých bezpečnostních vkladů (přičemž prodejce také obdrží plnou částku obchodu). Jinak by částka obchodu měla jít kupujícímu.\n\nO vrácení ztracených obchodních poplatků můžete požádat zde: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=Během provádění obchodního protokolu došlo k chybě.\n\nChyba: {0}\n\nJe možné, že tato chyba není kritická a obchod lze dokončit normálně. Pokud si nejste jisti, otevřete si mediační úkol a získejte radu od mediátorů Haveno.\n\nPokud byla chyba kritická a obchod nelze dokončit, možná jste ztratili obchodní poplatek. O vrácení ztracených obchodních poplatků požádejte zde: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=Obchodní kontrakt není stanoven.\n\nObchod nelze dokončit a možná jste ztratili poplatek za obchodování. Pokud ano, můžete požádat o vrácení ztracených obchodních poplatků zde: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -954,7 +954,7 @@ support.buyerTaker=Kupující BTC/Příjemce support.sellerTaker=Prodávající BTC/Příjemce support.backgroundInfo=Haveno není společnost, takže spory řeší jinak.\n\nObchodníci mohou v rámci aplikace komunikovat prostřednictvím zabezpečeného chatu na obrazovce otevřených obchodů a zkusit řešení sporů sami. Pokud to nestačí, může jim pomoci mediátor. Mediátor vyhodnotí situaci a navrhne vyúčtování obchodních prostředků. Pokud oba obchodníci přijmou tento návrh, je výplata dokončena a obchod je uzavřen. Pokud jeden nebo oba obchodníci nesouhlasí s výplatou navrhovanou mediátorem, mohou požádat o rozhodčí řízení. Rozhodce přehodnotí situaci a v odůvodněných případech vrátí osobně prostředky obchodníkovi zpět a požádá o vrácení této platby od Haveno DAO. -support.initialInfo=Do níže uvedeného textového pole zadejte popis problému. Přidejte co nejvíce informací k urychlení doby řešení sporu.\n\nZde je kontrolní seznam informací, které byste měli poskytnout:\n\t● Pokud kupujete BTC: Provedli jste převod Fiat nebo Altcoinu? Pokud ano, klikli jste v aplikaci na tlačítko „Platba zahájena“?\n\t● Pokud jste prodejcem BTC: Obdrželi jste platbu Fiat nebo Altcoinu? Pokud ano, klikli jste v aplikaci na tlačítko „Platba přijata“?\n\t● Kterou verzi Haveno používáte?\n\t● Jaký operační systém používáte?\n\t● Pokud se vyskytl problém s neúspěšnými transakcemi, zvažte přechod na nový datový adresář.\n\t Někdy dojde k poškození datového adresáře a vede to k podivným chybám.\n\t  Viz: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nSeznamte se prosím se základními pravidly procesu sporu:\n\t● Musíte odpovědět na požadavky {0} do 2 dnů.\n\t● Mediátoři reagují do 2 dnů. Rozhodci odpoví do 5 pracovních dnů.\n\t● Maximální doba sporu je 14 dní.\n\t● Musíte spolupracovat s {1} a poskytnout informace, které požaduje, aby jste vyřešili váš případ.\n\t● Při prvním spuštění aplikace jste přijali pravidla uvedena v dokumentu sporu v uživatelské smlouvě.\n\nDalší informace o procesu sporu naleznete na: {2} +support.initialInfo=Do níže uvedeného textového pole zadejte popis problému. Přidejte co nejvíce informací k urychlení doby řešení sporu.\n\nZde je kontrolní seznam informací, které byste měli poskytnout:\n\t● Pokud kupujete BTC: Provedli jste převod Fiat nebo Cryptou? Pokud ano, klikli jste v aplikaci na tlačítko „Platba zahájena“?\n\t● Pokud jste prodejcem BTC: Obdrželi jste platbu Fiat nebo Cryptou? Pokud ano, klikli jste v aplikaci na tlačítko „Platba přijata“?\n\t● Kterou verzi Haveno používáte?\n\t● Jaký operační systém používáte?\n\t● Pokud se vyskytl problém s neúspěšnými transakcemi, zvažte přechod na nový datový adresář.\n\t Někdy dojde k poškození datového adresáře a vede to k podivným chybám.\n\t  Viz: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nSeznamte se prosím se základními pravidly procesu sporu:\n\t● Musíte odpovědět na požadavky {0} do 2 dnů.\n\t● Mediátoři reagují do 2 dnů. Rozhodci odpoví do 5 pracovních dnů.\n\t● Maximální doba sporu je 14 dní.\n\t● Musíte spolupracovat s {1} a poskytnout informace, které požaduje, aby jste vyřešili váš případ.\n\t● Při prvním spuštění aplikace jste přijali pravidla uvedena v dokumentu sporu v uživatelské smlouvě.\n\nDalší informace o procesu sporu naleznete na: {2} support.systemMsg=Systémová zpráva: {0} support.youOpenedTicket=Otevřeli jste žádost o podporu.\n\n{0}\n\nVerze Haveno: {1} support.youOpenedDispute=Otevřeli jste žádost o spor.\n\n{0}\n\nVerze Haveno: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=Preferovaná měna setting.preferences.displayFiat=Zobrazit národní měny setting.preferences.noFiat=Nejsou vybrány žádné národní měny setting.preferences.cannotRemovePrefCurrency=Vybranou zobrazovanou měnu nelze odebrat. -setting.preferences.displayAltcoins=Zobrazit altcoiny -setting.preferences.noAltcoins=Nejsou vybrány žádné altcoiny +setting.preferences.displayCryptos=Zobrazit cryptoy +setting.preferences.noCryptos=Nejsou vybrány žádné cryptoy setting.preferences.addFiat=Přidejte národní měnu -setting.preferences.addAltcoin=Přidejte altcoin +setting.preferences.addCrypto=Přidejte crypto setting.preferences.displayOptions=Zobrazit možnosti setting.preferences.showOwnOffers=Zobrazit mé vlastní nabídky v seznamu nabídek setting.preferences.useAnimations=Použít animace @@ -1081,8 +1081,8 @@ setting.about.support=Podpořte Haveno setting.about.def=Haveno není společnost - je to projekt otevřený komunitě. Pokud se chcete zapojit nebo podpořit Haveno, postupujte podle níže uvedených odkazů. setting.about.contribute=Přispět setting.about.providers=Poskytovatelé dat -setting.about.apisWithFee=Haveno používá Haveno cenový index pro tržní ceny Fiat měn a Altcoinu a Haveno Mempool Nodes pro odhad poplatků za těžbu. -setting.about.apis=Haveno používá Haveno cenové indexy pro tržní ceny Fiat měn a Altcoinů. +setting.about.apisWithFee=Haveno používá Haveno cenový index pro tržní ceny Fiat měn a Cryptou a Haveno Mempool Nodes pro odhad poplatků za těžbu. +setting.about.apis=Haveno používá Haveno cenové indexy pro tržní ceny Fiat měn a Cryptoů. setting.about.pricesProvided=Tržní ceny poskytované setting.about.feeEstimation.label=Odhad poplatků za těžbu poskytl setting.about.versionDetails=Podrobnosti o verzi @@ -1145,10 +1145,10 @@ account.tab.mediatorRegistration=Registrace mediátora account.tab.refundAgentRegistration=Registrace rozhodce pro vrácení peněz account.tab.signing=Podepisování account.info.headline=Vítejte ve vašem účtu Haveno -account.info.msg=Zde můžete přidat obchodní účty pro národní měny & altcoiny a vytvořit zálohu dat vaší peněženky a účtu.\n\nPři prvním spuštění Haveno byla vytvořena nová bitcoinová peněženka.\n\nDůrazně doporučujeme zapsat si seed slova bitcoinových peněženek (viz záložka nahoře) a před financováním zvážit přidání hesla. Vklady a výběry bitcoinů jsou spravovány v sekci \ "Finance \".\n\nOchrana osobních údajů a zabezpečení: protože Haveno je decentralizovaná směnárna, všechna data jsou uložena ve vašem počítači. Neexistují žádné servery, takže nemáme přístup k vašim osobním informacím, vašim finančním prostředkům ani vaší IP adrese. Údaje, jako jsou čísla bankovních účtů, adresy altcoinů a bitcoinu atd., jsou sdíleny pouze s obchodním partnerem za účelem uskutečnění obchodů, které zahájíte (v případě sporu uvidí Prostředník nebo Rozhodce stejná data jako váš obchodní partner). +account.info.msg=Zde můžete přidat obchodní účty pro národní měny & cryptoy a vytvořit zálohu dat vaší peněženky a účtu.\n\nPři prvním spuštění Haveno byla vytvořena nová bitcoinová peněženka.\n\nDůrazně doporučujeme zapsat si seed slova bitcoinových peněženek (viz záložka nahoře) a před financováním zvážit přidání hesla. Vklady a výběry bitcoinů jsou spravovány v sekci \ "Finance \".\n\nOchrana osobních údajů a zabezpečení: protože Haveno je decentralizovaná směnárna, všechna data jsou uložena ve vašem počítači. Neexistují žádné servery, takže nemáme přístup k vašim osobním informacím, vašim finančním prostředkům ani vaší IP adrese. Údaje, jako jsou čísla bankovních účtů, adresy cryptoů a bitcoinu atd., jsou sdíleny pouze s obchodním partnerem za účelem uskutečnění obchodů, které zahájíte (v případě sporu uvidí Prostředník nebo Rozhodce stejná data jako váš obchodní partner). account.menu.paymentAccount=Účty v národní měně -account.menu.altCoinsAccountView=Altcoinové účty +account.menu.altCoinsAccountView=Cryptoové účty account.menu.password=Heslo peněženky account.menu.seedWords=Seed peněženky account.menu.walletInfo=Info o peněžence @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=Registraci se nepodařilo odebrat. account.arbitratorRegistration.registerSuccess=Úspěšně jste se zaregistrovali do sítě Haveno. account.arbitratorRegistration.registerFailed=Registraci se nepodařilo dokončit. {0} -account.altcoin.yourAltcoinAccounts=Vaše altcoinové účty -account.altcoin.popup.wallet.msg=Ujistěte se, že dodržujete požadavky na používání peněženek {0}, jak je popsáno na webové stránce {1}.\nPoužití peněženek z centralizovaných směnáren, kde (a) nevlastníte své soukromé klíče nebo (b) které nepoužívají kompatibilní software peněženky, je riskantní: může to vést ke ztrátě obchodovaných prostředků!\nMediátor nebo rozhodce není specialista {2} a v takových případech nemůže pomoci. -account.altcoin.popup.wallet.confirm=Rozumím a potvrzuji, že vím, jakou peněženku musím použít. +account.crypto.yourCryptoAccounts=Vaše cryptoové účty +account.crypto.popup.wallet.msg=Ujistěte se, že dodržujete požadavky na používání peněženek {0}, jak je popsáno na webové stránce {1}.\nPoužití peněženek z centralizovaných směnáren, kde (a) nevlastníte své soukromé klíče nebo (b) které nepoužívají kompatibilní software peněženky, je riskantní: může to vést ke ztrátě obchodovaných prostředků!\nMediátor nebo rozhodce není specialista {2} a v takových případech nemůže pomoci. +account.crypto.popup.wallet.confirm=Rozumím a potvrzuji, že vím, jakou peněženku musím použít. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Obchodování s UPX na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání UPX musíte použít buď oficiální peněženku GUI uPlexa nebo CLI peněženku uPlexa s povoleným příznakem store-tx-info (výchozí hodnota v nových verzích). Ujistěte se, že máte přístup ke klíči tx, který může být vyžadován v případě sporu.\nuplexa-wallet-cli (použijte příkaz get_tx_key)\nuplexa-wallet-gui (přejděte na záložku historie a pro potvrzení platby klikněte na tlačítko (P))\n\nV normálním block exploreru není přenos ověřitelný.\n\nV případě sporu musíte rozhodci poskytnout následující údaje:\n- Soukromý klíč tx\n- Hash transakce\n- Veřejnou adresa příjemce\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke prohrání sporu. Odesílatel UPX odpovídá za zajištění ověření přenosu UPX rozhodci v případě sporu.\n\nNení požadováno žádné platební ID, pouze normální veřejná adresa.\nPokud si nejste jisti tímto procesem, vyhledejte další informace na discord kanálu uPlexa (https://discord.gg/vhdNSrV) nebo uPlexa Telegram Chatu (https://t.me/uplexaOfficial). +account.crypto.popup.upx.msg=Obchodování s UPX na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání UPX musíte použít buď oficiální peněženku GUI uPlexa nebo CLI peněženku uPlexa s povoleným příznakem store-tx-info (výchozí hodnota v nových verzích). Ujistěte se, že máte přístup ke klíči tx, který může být vyžadován v případě sporu.\nuplexa-wallet-cli (použijte příkaz get_tx_key)\nuplexa-wallet-gui (přejděte na záložku historie a pro potvrzení platby klikněte na tlačítko (P))\n\nV normálním block exploreru není přenos ověřitelný.\n\nV případě sporu musíte rozhodci poskytnout následující údaje:\n- Soukromý klíč tx\n- Hash transakce\n- Veřejnou adresa příjemce\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke prohrání sporu. Odesílatel UPX odpovídá za zajištění ověření přenosu UPX rozhodci v případě sporu.\n\nNení požadováno žádné platební ID, pouze normální veřejná adresa.\nPokud si nejste jisti tímto procesem, vyhledejte další informace na discord kanálu uPlexa (https://discord.gg/vhdNSrV) nebo uPlexa Telegram Chatu (https://t.me/uplexaOfficial). # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Obchodování ARQ na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání ARQ musíte použít buď oficiální peněženku ArQmA GUI nebo peněženku ArQmA CLI s povoleným příznakem store-tx-info (výchozí hodnota v nových verzích). Ujistěte se, že máte přístup ke klíči tx, který může být vyžadován v případě sporu.\narqma-wallet-cli (použijte příkaz get_tx_key)\narqma-wallet-gui (přejděte na kartu historie a pro potvrzení platby klikněte na tlačítko (P))\n\nV normálním blok exploreru není přenos ověřitelný.\n\nV případě sporu musíte mediátorovi nebo rozhodci poskytnout následující údaje:\n- Soukromý klíč tx\n- Hash transakce\n- Veřejnou adresu příjemce\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke prohrání sporu. Odesílatel ARQ odpovídá za zajištění ověření převodu ARQ mediátorovi nebo rozhodci v případě sporu.\n\nNení požadováno žádné platební ID, pouze normální veřejná adresa.\nPokud si nejste jisti tímto procesem, navštivte discord kanál ArQmA (https://discord.gg/s9BQpJT) nebo fórum ArQmA (https://labs.arqma.com). +account.crypto.popup.arq.msg=Obchodování ARQ na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání ARQ musíte použít buď oficiální peněženku ArQmA GUI nebo peněženku ArQmA CLI s povoleným příznakem store-tx-info (výchozí hodnota v nových verzích). Ujistěte se, že máte přístup ke klíči tx, který může být vyžadován v případě sporu.\narqma-wallet-cli (použijte příkaz get_tx_key)\narqma-wallet-gui (přejděte na kartu historie a pro potvrzení platby klikněte na tlačítko (P))\n\nV normálním blok exploreru není přenos ověřitelný.\n\nV případě sporu musíte mediátorovi nebo rozhodci poskytnout následující údaje:\n- Soukromý klíč tx\n- Hash transakce\n- Veřejnou adresu příjemce\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke prohrání sporu. Odesílatel ARQ odpovídá za zajištění ověření převodu ARQ mediátorovi nebo rozhodci v případě sporu.\n\nNení požadováno žádné platební ID, pouze normální veřejná adresa.\nPokud si nejste jisti tímto procesem, navštivte discord kanál ArQmA (https://discord.gg/s9BQpJT) nebo fórum ArQmA (https://labs.arqma.com). # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Obchodování s XMR na Haveno vyžaduje, abyste pochopili následující požadavek.\n\nPokud prodáváte XMR, musíte být schopni v případě sporu poskytnout mediátorovi nebo rozhodci následující informace:\n- transakční klíč (Tx klíč, Tx tajný klíč nebo Tx soukromý klíč)\n- ID transakce (Tx ID nebo Tx Hash)\n- cílová adresa (adresa příjemce)\n\nNa wiki najdete podrobnosti, kde najdete tyto informace v populárních peněženkách Monero:\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\n\nNeposkytnutí požadovaných údajů o transakci bude mít za následek ztrátu sporů.\n\nVšimněte si také, že Haveno nyní nabízí automatické potvrzení transakcí XMR, aby byly obchody rychlejší, ale musíte to povolit v Nastavení.\n\nDalší informace o funkci automatického potvrzení najdete na wiki:\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Obchodování s XMR na Haveno vyžaduje, abyste pochopili následující požadavek.\n\nPokud prodáváte XMR, musíte být schopni v případě sporu poskytnout mediátorovi nebo rozhodci následující informace:\n- transakční klíč (Tx klíč, Tx tajný klíč nebo Tx soukromý klíč)\n- ID transakce (Tx ID nebo Tx Hash)\n- cílová adresa (adresa příjemce)\n\nNa wiki najdete podrobnosti, kde najdete tyto informace v populárních peněženkách Monero:\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\n\nNeposkytnutí požadovaných údajů o transakci bude mít za následek ztrátu sporů.\n\nVšimněte si také, že Haveno nyní nabízí automatické potvrzení transakcí XMR, aby byly obchody rychlejší, ale musíte to povolit v Nastavení.\n\nDalší informace o funkci automatického potvrzení najdete na wiki:\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Obchodování MSR na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání MSR musíte použít buď oficiální peněženku Masari GUI, peněženku Masari CLI s povoleným příznakem store-tx-info (ve výchozím nastavení povoleno) nebo webovou peněženku Masari (https://wallet.getmasari.org). Ujistěte se, že máte přístup ke klíči tx, který může být vyžadován v případě sporu.\nmasari-wallet-cli (použijte příkaz get_tx_key)\nmasari-wallet-gui (přejděte na kartu historie a klikněte na tlačítko (P) pro potvrzení platby)\n\nWebová peněženka Masari (jděte do Účet -> Historie transakcí a zobrazte podrobností o odeslané transakci)\n\nOvěření lze provést v peněžence.\nmasari-wallet-cli: pomocí příkazu (check_tx_key).\nmasari-wallet-gui: na stránce Pokročilé > Dokázat/Ověřit.\nOvěření lze provést v block exploreru\nOtevřete Block explorer (https://explorer.getmasari.org), použijte vyhledávací lištu k nalezení hash transakce.\nJakmile je transakce nalezena, přejděte dolů do oblasti „Prokázat odesílání“ a podle potřeby vyplňte podrobnosti.\nV případě sporu musíte zprostředkovateli nebo rozhodci poskytnout následující údaje:\n- Soukromý klíč tx\n- Hash transakce\n- Veřejnou adresu příjemce\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke ztrátě sporu. Odesílatel MSR odpovídá za zajištění ověření přenosu MSR mediátorovi nebo rozhodci v případě sporu.\n\nNení požadováno žádné platební ID, pouze normální veřejná adresa.\nPokud si nejste jisti tímto procesem, požádejte o pomoc oficiální Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Obchodování MSR na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání MSR musíte použít buď oficiální peněženku Masari GUI, peněženku Masari CLI s povoleným příznakem store-tx-info (ve výchozím nastavení povoleno) nebo webovou peněženku Masari (https://wallet.getmasari.org). Ujistěte se, že máte přístup ke klíči tx, který může být vyžadován v případě sporu.\nmasari-wallet-cli (použijte příkaz get_tx_key)\nmasari-wallet-gui (přejděte na kartu historie a klikněte na tlačítko (P) pro potvrzení platby)\n\nWebová peněženka Masari (jděte do Účet -> Historie transakcí a zobrazte podrobností o odeslané transakci)\n\nOvěření lze provést v peněžence.\nmasari-wallet-cli: pomocí příkazu (check_tx_key).\nmasari-wallet-gui: na stránce Pokročilé > Dokázat/Ověřit.\nOvěření lze provést v block exploreru\nOtevřete Block explorer (https://explorer.getmasari.org), použijte vyhledávací lištu k nalezení hash transakce.\nJakmile je transakce nalezena, přejděte dolů do oblasti „Prokázat odesílání“ a podle potřeby vyplňte podrobnosti.\nV případě sporu musíte zprostředkovateli nebo rozhodci poskytnout následující údaje:\n- Soukromý klíč tx\n- Hash transakce\n- Veřejnou adresu příjemce\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke ztrátě sporu. Odesílatel MSR odpovídá za zajištění ověření přenosu MSR mediátorovi nebo rozhodci v případě sporu.\n\nNení požadováno žádné platební ID, pouze normální veřejná adresa.\nPokud si nejste jisti tímto procesem, požádejte o pomoc oficiální Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Obchodování BLUR na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání BLUR musíte použít Blur Network CLI nebo GUI peněženku.\n\nPoužíváte-li peněženku CLI, po odeslání transakce se zobrazí hash transakce (tx ID). Tyto informace si musíte uložit. Ihned po odeslání transakce musíte použít příkaz 'get_tx_key' pro načtení soukromého klíče transakce. Pokud tento krok neprovedete, pravděpodobně nebudete moci klíč získat později.\n\nPokud používáte peněženku GUI Blur Network, lze soukromý klíč transakce a ID transakce pohodlně nalézt na kartě Historie. Ihned po odeslání vyhledejte příslušnou transakci. Klikněte na "?" symbol v pravém dolním rohu pole obsahující transakci. Tyto informace si musíte uložit.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1.) ID transakce, 2.) soukromý klíč transakce a 3.) Adresu příjemce. Mediátor nebo rozhodce poté ověří přenos BLUR pomocí prohlížeče BLUR transakcí (https://blur.cash/#tx-viewer).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel BLUR 100% odpovědnosti za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Obchodování BLUR na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání BLUR musíte použít Blur Network CLI nebo GUI peněženku.\n\nPoužíváte-li peněženku CLI, po odeslání transakce se zobrazí hash transakce (tx ID). Tyto informace si musíte uložit. Ihned po odeslání transakce musíte použít příkaz 'get_tx_key' pro načtení soukromého klíče transakce. Pokud tento krok neprovedete, pravděpodobně nebudete moci klíč získat později.\n\nPokud používáte peněženku GUI Blur Network, lze soukromý klíč transakce a ID transakce pohodlně nalézt na kartě Historie. Ihned po odeslání vyhledejte příslušnou transakci. Klikněte na "?" symbol v pravém dolním rohu pole obsahující transakci. Tyto informace si musíte uložit.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1.) ID transakce, 2.) soukromý klíč transakce a 3.) Adresu příjemce. Mediátor nebo rozhodce poté ověří přenos BLUR pomocí prohlížeče BLUR transakcí (https://blur.cash/#tx-viewer).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel BLUR 100% odpovědnosti za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Obchodování Solo na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání Solo musíte použít peněženku CLI Solo Network.\n\nPoužíváte-li peněženku CLI, po odeslání přenosu se zobrazí hash transakce (tx ID). Tyto informace si musíte uložit. Ihned po odeslání převodu musíte použít příkaz 'get_tx_key' pro načtení soukromého klíče transakce. Pokud tento krok neprovedete, pravděpodobně nebudete moci klíč získat později.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1.) ID transakce, 2.) Soukromý klíč transakce a 3.) Adresu příjemce. Mediátor nebo rozhodce poté ověří převod Solo pomocí Solo Block Exploreru vyhledáním transakce a poté pomocí funkce „Prokažte odesílání“ (https://explorer.minesolo.com/).\n\nneposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese Solo odesílatel 100% odpovědnost za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na stránce Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Obchodování Solo na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání Solo musíte použít peněženku CLI Solo Network.\n\nPoužíváte-li peněženku CLI, po odeslání přenosu se zobrazí hash transakce (tx ID). Tyto informace si musíte uložit. Ihned po odeslání převodu musíte použít příkaz 'get_tx_key' pro načtení soukromého klíče transakce. Pokud tento krok neprovedete, pravděpodobně nebudete moci klíč získat později.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1.) ID transakce, 2.) Soukromý klíč transakce a 3.) Adresu příjemce. Mediátor nebo rozhodce poté ověří převod Solo pomocí Solo Block Exploreru vyhledáním transakce a poté pomocí funkce „Prokažte odesílání“ (https://explorer.minesolo.com/).\n\nneposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese Solo odesílatel 100% odpovědnost za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na stránce Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Obchodování CASH2 na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání CASH2 musíte použít peněženku Cash2 Wallet verze 3 nebo vyšší.\n\nPo odeslání transakce se zobrazí ID transakce. Tyto informace si musíte uložit. Ihned po odeslání transakce musíte použít příkaz 'getTxKey' v simplewallet a získat tajný klíč transakce.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1) ID transakce, 2) Tajný klíč transakce a 3) Adresu Cash2 příjemce. Mediátor nebo rozhodce poté ověří převod CASH2 pomocí průzkumníku Cash2 Block Explorer (https://blocks.cash2.org).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel CASH2 100% odpovědnost za ověření transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Obchodování CASH2 na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání CASH2 musíte použít peněženku Cash2 Wallet verze 3 nebo vyšší.\n\nPo odeslání transakce se zobrazí ID transakce. Tyto informace si musíte uložit. Ihned po odeslání transakce musíte použít příkaz 'getTxKey' v simplewallet a získat tajný klíč transakce.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1) ID transakce, 2) Tajný klíč transakce a 3) Adresu Cash2 příjemce. Mediátor nebo rozhodce poté ověří převod CASH2 pomocí průzkumníku Cash2 Block Explorer (https://blocks.cash2.org).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel CASH2 100% odpovědnost za ověření transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Obchodování s Qwertycoinem na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání QWC musíte použít oficiální QWC peněženku verze 5.1.3 nebo vyšší.\n\nPo odeslání transakce se zobrazí ID transakce. Tyto informace si musíte uložit. Ihned po odeslání transakce musíte použít příkaz 'get_Tx_Key' v simplewallet a získat tajný klíč transakce.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1) ID transakce, 2) Tajný klíč transakce a 3) Adresu QWC příjemce. Mediátor nebo rozhodce poté ověří přenos QWC pomocí Průzkumníka bloků QWC (https://explorer.qwertycoin.org).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel QWC 100% odpovědnost za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na stránce QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Obchodování s Qwertycoinem na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání QWC musíte použít oficiální QWC peněženku verze 5.1.3 nebo vyšší.\n\nPo odeslání transakce se zobrazí ID transakce. Tyto informace si musíte uložit. Ihned po odeslání transakce musíte použít příkaz 'get_Tx_Key' v simplewallet a získat tajný klíč transakce.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit následující: 1) ID transakce, 2) Tajný klíč transakce a 3) Adresu QWC příjemce. Mediátor nebo rozhodce poté ověří přenos QWC pomocí Průzkumníka bloků QWC (https://explorer.qwertycoin.org).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel QWC 100% odpovědnost za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na stránce QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Obchodování Dragonglass na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nVzhledem k tomu, že Dragonglass poskytuje soukromí, není transakce na veřejném blockchainu ověřitelná. V případě potřeby můžete svou platbu prokázat pomocí vašeho soukromého klíče TXN.\nSoukromý klíč TXN je jednorázový klíč automaticky generovaný pro každou transakci, ke které lze přistupovat pouze z vaší DRGL peněženky.\nBuď pomocí GUI peněženky DRGL (uvnitř dialogu s podrobnostmi o transakci) nebo pomocí simplewallet CLI Dragonglass (pomocí příkazu "get_tx_key").\n\nVerze DRGL „Oathkeeper“ a vyšší jsou požadovány pro obě možnosti.\n\nV případě sporu musíte mediátorovi nebo rozhodci poskytnout následující údaje:\n- TXN-soukromý klíč\n- Hash transakce\n- Veřejnou adresu příjemce\n\nOvěření platby lze provést pomocí výše uvedených údajů jako vstupů na adrese (http://drgl.info/#check_txn).\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke ztrátě sporu. Odesílatel Dragonglass odpovídá za ověření přenosu DRGL mediátorovi nebo rozhodci v případě sporu. Použití PaymentID není nutné.\n\nPokud si nejste jisti některou částí tohoto procesu, navštivte nápovědu pro Dragonglass na Discord (http://discord.drgl.info). +account.crypto.popup.drgl.msg=Obchodování Dragonglass na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nVzhledem k tomu, že Dragonglass poskytuje soukromí, není transakce na veřejném blockchainu ověřitelná. V případě potřeby můžete svou platbu prokázat pomocí vašeho soukromého klíče TXN.\nSoukromý klíč TXN je jednorázový klíč automaticky generovaný pro každou transakci, ke které lze přistupovat pouze z vaší DRGL peněženky.\nBuď pomocí GUI peněženky DRGL (uvnitř dialogu s podrobnostmi o transakci) nebo pomocí simplewallet CLI Dragonglass (pomocí příkazu "get_tx_key").\n\nVerze DRGL „Oathkeeper“ a vyšší jsou požadovány pro obě možnosti.\n\nV případě sporu musíte mediátorovi nebo rozhodci poskytnout následující údaje:\n- TXN-soukromý klíč\n- Hash transakce\n- Veřejnou adresu příjemce\n\nOvěření platby lze provést pomocí výše uvedených údajů jako vstupů na adrese (http://drgl.info/#check_txn).\n\nPokud neposkytnete výše uvedená data nebo použijete nekompatibilní peněženku, dojde ke ztrátě sporu. Odesílatel Dragonglass odpovídá za ověření přenosu DRGL mediátorovi nebo rozhodci v případě sporu. Použití PaymentID není nutné.\n\nPokud si nejste jisti některou částí tohoto procesu, navštivte nápovědu pro Dragonglass na Discord (http://discord.drgl.info). # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Při použití Zcash můžete použít pouze transparentní adresy (začínající t), nikoli z-adresy (soukromé), protože mediátor nebo rozhodce by nemohl ověřit transakci pomocí z-adres. +account.crypto.popup.ZEC.msg=Při použití Zcash můžete použít pouze transparentní adresy (začínající t), nikoli z-adresy (soukromé), protože mediátor nebo rozhodce by nemohl ověřit transakci pomocí z-adres. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Při použití Zcoinu můžete použít pouze transparentní (sledovatelné) adresy, nikoli nevysledovatelné adresy, protože mediátor nebo rozhodce by nemohl ověřit transakci s nevysledovatelnými adresami v blok exploreru. +account.crypto.popup.XZC.msg=Při použití Zcoinu můžete použít pouze transparentní (sledovatelné) adresy, nikoli nevysledovatelné adresy, protože mediátor nebo rozhodce by nemohl ověřit transakci s nevysledovatelnými adresami v blok exploreru. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN vyžaduje k vytvoření transakce interaktivní proces mezi odesílatelem a příjemcem. Nezapomeňte postupovat podle pokynů z webové stránky projektu GRIN, abyste spolehlivě odeslali a přijali GRIN (příjemce musí být online nebo alespoň online v určitém časovém rozmezí).\n\nHaveno podporuje pouze formát URL peněženky Grinbox (Wallet713).\n\nOdesílatel GRIN je povinen prokázat, že GRIN úspěšně odeslal. Pokud peněženka nemůže tento důkaz poskytnout, bude potenciální spor vyřešen ve prospěch příjemce GRIN. Ujistěte se, že používáte nejnovější software Grinbox, který podporuje důkaz transakcí a že chápete proces přenosu a přijímání GRIN a také způsob, jak vytvořit důkaz.\n\nViz https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only pro více informací o nástroji Grinbox proof. +account.crypto.popup.grin.msg=GRIN vyžaduje k vytvoření transakce interaktivní proces mezi odesílatelem a příjemcem. Nezapomeňte postupovat podle pokynů z webové stránky projektu GRIN, abyste spolehlivě odeslali a přijali GRIN (příjemce musí být online nebo alespoň online v určitém časovém rozmezí).\n\nHaveno podporuje pouze formát URL peněženky Grinbox (Wallet713).\n\nOdesílatel GRIN je povinen prokázat, že GRIN úspěšně odeslal. Pokud peněženka nemůže tento důkaz poskytnout, bude potenciální spor vyřešen ve prospěch příjemce GRIN. Ujistěte se, že používáte nejnovější software Grinbox, který podporuje důkaz transakcí a že chápete proces přenosu a přijímání GRIN a také způsob, jak vytvořit důkaz.\n\nViz https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only pro více informací o nástroji Grinbox proof. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM vyžaduje k vytvoření transakce interaktivní proces mezi odesílatelem a příjemcem.\n\nNezapomeňte postupovat podle pokynů na webové stránce projektu BEAM, abyste spolehlivě odeslali a přijali BEAM (příjemce musí být online nebo alespoň online během určitého časového období).\n\nOdesílatel BEAM je povinen prokázat, že úspěšně odeslali BEAM. Nezapomeňte použít software peněženku, která může takový důkaz předložit. Pokud peněženka nemůže poskytnout důkaz, bude potenciální spor vyřešen ve prospěch příjemce BEAM. +account.crypto.popup.beam.msg=BEAM vyžaduje k vytvoření transakce interaktivní proces mezi odesílatelem a příjemcem.\n\nNezapomeňte postupovat podle pokynů na webové stránce projektu BEAM, abyste spolehlivě odeslali a přijali BEAM (příjemce musí být online nebo alespoň online během určitého časového období).\n\nOdesílatel BEAM je povinen prokázat, že úspěšně odeslali BEAM. Nezapomeňte použít software peněženku, která může takový důkaz předložit. Pokud peněženka nemůže poskytnout důkaz, bude potenciální spor vyřešen ve prospěch příjemce BEAM. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání PARS musíte použít oficiální ParsiCoin peněženku verze 3.0.0 nebo vyšší.\n\nV Peněženka GUI (ParsiPay) si můžete zkontrolovat svůj Hash Transakce a Klíč Transakce v sekci Transakce.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit: 1) Hash Transakce, 2) Transakční Klíč a 3) Adresu PARS příjemce. Mediátor nebo rozhodce poté ověří přenos PARS pomocí Block exploreru ParsiCoin (http://explorer.parsicoin.net/#check_payment).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel ParsiCoin 100% odpovědnost za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Trading ParsiCoin na Haveno vyžaduje, abyste pochopili a splnili následující požadavky:\n\nK odeslání PARS musíte použít oficiální ParsiCoin peněženku verze 3.0.0 nebo vyšší.\n\nV Peněženka GUI (ParsiPay) si můžete zkontrolovat svůj Hash Transakce a Klíč Transakce v sekci Transakce.\n\nV případě, že je nutné rozhodčí řízení, musíte mediátorovi nebo rozhodci předložit: 1) Hash Transakce, 2) Transakční Klíč a 3) Adresu PARS příjemce. Mediátor nebo rozhodce poté ověří přenos PARS pomocí Block exploreru ParsiCoin (http://explorer.parsicoin.net/#check_payment).\n\nNeposkytnutí požadovaných informací mediátorovi nebo rozhodci povede k prohrání sporu. Ve všech sporných případech nese odesílatel ParsiCoin 100% odpovědnost za ověřování transakcí mediátorovi nebo rozhodci.\n\nPokud těmto požadavkům nerozumíte, neobchodujte na Haveno. Nejprve vyhledejte pomoc na ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=Chcete-li obchodovat s burnt blackcoiny, musíte znát následující:\n\nBurnt blackcoiny jsou nevyčerpatelné. Aby je bylo možné obchodovat na Haveno, musí mít výstupní skripty podobu: OP_RETURN OP_PUSHDATA, následované přidruženými datovými bajty, které po hexadecimálním zakódování tvoří adresy. Například Burnt blackcoiny s adresou 666f6f („foo“ v UTF-8) budou mít následující skript:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nPro vytvoření Burnt blackcoinů lze použít příkaz „burn“ RPC, který je k dispozici v některých peněženkách.\n\nPro možné případy použití se můžete podívat na https://ibo.laboratorium.ee.\n\nVzhledem k tomu, že Burnt blackcoiny jsou nevyčerpatelné, nelze je znovu prodat. „Prodej“ Burnt blackcoinů znamená vypalování běžných blackcoinů (s přidruženými údaji rovnými cílové adrese).\n\nV případě sporu musí prodejce BLK poskytnout hash transakce. +account.crypto.popup.blk-burnt.msg=Chcete-li obchodovat s burnt blackcoiny, musíte znát následující:\n\nBurnt blackcoiny jsou nevyčerpatelné. Aby je bylo možné obchodovat na Haveno, musí mít výstupní skripty podobu: OP_RETURN OP_PUSHDATA, následované přidruženými datovými bajty, které po hexadecimálním zakódování tvoří adresy. Například Burnt blackcoiny s adresou 666f6f („foo“ v UTF-8) budou mít následující skript:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nPro vytvoření Burnt blackcoinů lze použít příkaz „burn“ RPC, který je k dispozici v některých peněženkách.\n\nPro možné případy použití se můžete podívat na https://ibo.laboratorium.ee.\n\nVzhledem k tomu, že Burnt blackcoiny jsou nevyčerpatelné, nelze je znovu prodat. „Prodej“ Burnt blackcoinů znamená vypalování běžných blackcoinů (s přidruženými údaji rovnými cílové adrese).\n\nV případě sporu musí prodejce BLK poskytnout hash transakce. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Obchodování s L-BTC na Haveno vyžaduje, abyste pochopili následující skutečnosti:\n\nKdyž přijímáte L-BTC za obchod na Haveno, nemůžete použít mobilní peněženku Green od Blockstreamu ani jinou custodial peněženku nebo peněženku na burze. L-BTC musíte přijmout pouze do peněženky Liquid Elements Core nebo do jiné L-BTC peněženky, která vám umožní získat slepý klíč pro vaši slepou adresu L-BTC.\n\nV případě, že je nutné zprostředkování, nebo pokud dojde k obchodnímu sporu, musíte zprostředkujícímu mediátorovi Haveno nebo agentovi, který vrací peníze zaslat slepý klíč pro vaši L-BTC adresu, aby mohli ověřit podrobnosti vaší důvěrné transakce na svém vlastním Elements Core full-nodu.\n\nNeposkytnutí požadovaných informací zprostředkovateli nebo agentovi pro vrácení peněz povede ke prohrání sporu. Ve všech sporných případech nese příjemce L-BTC 100% břemeno odpovědnosti za poskytnutí kryptografického důkazu zprostředkovateli nebo agentovi pro vrácení peněz.\n\nPokud těmto požadavkům nerozumíte, neobchodujte s L-BTC na Haveno. +account.crypto.popup.liquidbitcoin.msg=Obchodování s L-BTC na Haveno vyžaduje, abyste pochopili následující skutečnosti:\n\nKdyž přijímáte L-BTC za obchod na Haveno, nemůžete použít mobilní peněženku Green od Blockstreamu ani jinou custodial peněženku nebo peněženku na burze. L-BTC musíte přijmout pouze do peněženky Liquid Elements Core nebo do jiné L-BTC peněženky, která vám umožní získat slepý klíč pro vaši slepou adresu L-BTC.\n\nV případě, že je nutné zprostředkování, nebo pokud dojde k obchodnímu sporu, musíte zprostředkujícímu mediátorovi Haveno nebo agentovi, který vrací peníze zaslat slepý klíč pro vaši L-BTC adresu, aby mohli ověřit podrobnosti vaší důvěrné transakce na svém vlastním Elements Core full-nodu.\n\nNeposkytnutí požadovaných informací zprostředkovateli nebo agentovi pro vrácení peněz povede ke prohrání sporu. Ve všech sporných případech nese příjemce L-BTC 100% břemeno odpovědnosti za poskytnutí kryptografického důkazu zprostředkovateli nebo agentovi pro vrácení peněz.\n\nPokud těmto požadavkům nerozumíte, neobchodujte s L-BTC na Haveno. -account.fiat.yourFiatAccounts=Vaše účty v národní měně +account.traditional.yourTraditionalAccounts=Vaše účty v národní měně account.backup.title=Zálohujte peněženku account.backup.location=Umístění zálohy @@ -1580,7 +1580,7 @@ popup.warning.startupFailed.twoInstances=Haveno již běží. Nemůžete spustit popup.warning.tradePeriod.halfReached=Váš obchod s ID {0} dosáhl poloviny max. povoleného obchodního období a stále není dokončen.\n\nObdobí obchodování končí {1}\n\nDalší informace o stavu obchodu naleznete na adrese \"Portfolio/Otevřené obchody\". popup.warning.tradePeriod.ended=Váš obchod s ID {0} dosáhl max. povoleného obchodního období a není dokončen.\n\nObdobí obchodování skončilo {1}\n\nZkontrolujte prosím svůj obchod v sekci "Portfolio/Otevřené obchody\", abyste kontaktovali mediátora. popup.warning.noTradingAccountSetup.headline=Nemáte nastaven obchodní účet -popup.warning.noTradingAccountSetup.msg=Než budete moci vytvořit nabídku, musíte si nastavit národní měnu nebo altcoinový účet.\nChcete si založit účet? +popup.warning.noTradingAccountSetup.msg=Než budete moci vytvořit nabídku, musíte si nastavit národní měnu nebo cryptoový účet.\nChcete si založit účet? popup.warning.noArbitratorsAvailable=Nejsou k dispozici žádní rozhodci. popup.warning.noMediatorsAvailable=Nejsou k dispozici žádní mediátoři. popup.warning.notFullyConnected=Musíte počkat, až budete plně připojeni k síti.\nTo může při spuštění trvat až 2 minuty. @@ -1803,8 +1803,8 @@ formatter.makerTaker=Tvůrce jako {0} {1} / Příjemce jako {2} {3} formatter.youAreAsMaker=Jste {1} {0} (jako tvůrce) / Příjemce je {3} {2} formatter.youAreAsTaker=Jste {1} {0} (jako příjemce) / Tvůrce je {3} {2} formatter.youAre={0}te {1} ({2}te {3}) -formatter.youAreCreatingAnOffer.fiat=Vytváříte nabídku: {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Vytváříte nabídku: {0} {1} ({2}te {3}) +formatter.youAreCreatingAnOffer.traditional=Vytváříte nabídku: {0} {1} +formatter.youAreCreatingAnOffer.crypto=Vytváříte nabídku: {0} {1} ({2}te {3}) formatter.asMaker={0} {1} jako tvůrce formatter.asTaker={0} {1} jako příjemce @@ -1896,11 +1896,11 @@ payment.email=E-mail payment.country=Země payment.extras=Zvláštní požadavky payment.email.mobile=E-mail nebo mobilní číslo -payment.altcoin.address=Altcoin adresa -payment.altcoin.tradeInstantCheckbox=Obchodujte ihned s tímto altcoinem (do 1 hodiny) -payment.altcoin.tradeInstant.popup=Pro okamžité obchodování je nutné, aby oba obchodní partneři byli online, aby mohli obchod dokončit za méně než 1 hodinu.\n\nPokud máte otevřené nabídky a nejste k dispozici, deaktivujte je na obrazovce „Portfolio“. -payment.altcoin=Altcoin -payment.select.altcoin=Vyberte nebo vyhledejte altcoin +payment.crypto.address=Crypto adresa +payment.crypto.tradeInstantCheckbox=Obchodujte ihned s tímto cryptoem (do 1 hodiny) +payment.crypto.tradeInstant.popup=Pro okamžité obchodování je nutné, aby oba obchodní partneři byli online, aby mohli obchod dokončit za méně než 1 hodinu.\n\nPokud máte otevřené nabídky a nejste k dispozici, deaktivujte je na obrazovce „Portfolio“. +payment.crypto=Crypto +payment.select.crypto=Vyberte nebo vyhledejte crypto payment.secret=Tajná otázka payment.answer=Odpověď payment.wallet=ID peněženky @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=Číslo CBU shared.accountSigningState=Stav podpisu účtu #new -payment.altcoin.address.dyn={0} adresa -payment.altcoin.receiver.address=Altcoinová adresa příjemce +payment.crypto.address.dyn={0} adresa +payment.crypto.receiver.address=Cryptoová adresa příjemce payment.accountNr=Číslo účtu payment.emailOrMobile=E-mail nebo mobilní číslo payment.useCustomAccountName=Použijte vlastní název účtu @@ -1973,7 +1973,7 @@ payment.amazonGiftCard.upgrade.headLine=Aktualizace účtu pro platbu kartou Ama payment.usPostalMoneyOrder.info=Obchodování pomocí amerických poštovních poukázek (USPMO) na Haveno vyžaduje, abyste rozuměli následujícímu:\n\n- Kupující BTC musí před odesláním napsat jméno prodejce BTC do polí plátce i příjemce a pořídit fotografii USPMO a obálku s dokladem o sledování ve vysokém rozlišení.\n- Kupující BTC musí odeslat USPMO prodejci BTC s potvrzením dodávky.\n\nV případě, že je nutná mediace, nebo pokud dojde k obchodnímu sporu, budete povinni poslat fotografie mediátorovi Haveno nebo zástupci pro vrácení peněz spolu s pořadovým číslem USPMO, číslem pošty a částkou dolaru, aby mohli ověřit podrobnosti na webu US Post Office.\n\nNeposkytnutí požadovaných informací mediátorovi nebo arbitrovi bude mít za následek ztrátu případu sporu.\n\nVe všech sporných případech nese odesílatel USPMO 100% břemeno odpovědnosti za poskytnutí důkazů mediátorovi nebo arbitrovi.\n\nPokud těmto požadavkům nerozumíte, neobchodujte pomocí USPMO na Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=Kontaktní informace payment.cashByMail.contact.prompt=Obálka se jménem nebo pseudonymem by měla být adresována @@ -2070,7 +2070,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoiny +BLOCK_CHAINS=Cryptoy # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2080,7 +2080,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Instantní Altcoiny +BLOCK_CHAINS_INSTANT=Instantní Cryptoy # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2122,7 +2122,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoiny +BLOCK_CHAINS_SHORT=Cryptoy # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2132,7 +2132,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Instantní Altcoiny +BLOCK_CHAINS_INSTANT_SHORT=Instantní Cryptoy # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2152,8 +2152,8 @@ validation.NaN=Vstup není platné číslo. validation.notAnInteger=Vstup není celočíselná hodnota. validation.zero=Vstup 0 není povolen. validation.negative=Záporná hodnota není povolena. -validation.fiat.tooSmall=Vstup menší než minimální možné množství není povolen. -validation.fiat.tooLarge=Vstup větší než maximální možné množství není povolen. +validation.traditional.tooSmall=Vstup menší než minimální možné množství není povolen. +validation.traditional.tooLarge=Vstup větší než maximální možné množství není povolen. validation.xmr.fraction=Zadání povede k hodnotě bitcoinu menší než 1 satoshi validation.xmr.tooLarge=Vstup větší než {0} není povolen. validation.xmr.tooSmall=Vstup menší než {0} není povolen. @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} se musí skládat z {1} čísel. validation.invalidInput=Neplatný vstup: {0} validation.accountNrFormat=Číslo účtu musí být ve formátu: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Ověření adresy se nezdařilo, protože neodpovídá struktuře adresy {0}. +validation.crypto.wrongStructure=Ověření adresy se nezdařilo, protože neodpovídá struktuře adresy {0}. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=Adresa LTZ musí začínat na "L". Adresy začínající na "z" nejsou podporovány. +validation.crypto.ltz.zAddressesNotSupported=Adresa LTZ musí začínat na "L". Adresy začínající na "z" nejsou podporovány. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=Adresy ZEC musí začínat na "t". Adresy začínající na "z" nejsou podporovány. +validation.crypto.zAddressesNotSupported=Adresy ZEC musí začínat na "t". Adresy začínající na "z" nejsou podporovány. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Adresa není platná {0} adresa! {1} +validation.crypto.invalidAddress=Adresa není platná {0} adresa! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Nativní adresy segwit (ty začínající na 'lq') nejsou podporovány. +validation.crypto.liquidBitcoin.invalidAddress=Nativní adresy segwit (ty začínající na 'lq') nejsou podporovány. validation.bic.invalidLength=Délka vstupu musí být 8 nebo 11 validation.bic.letters=Banka a kód země musí být písmena validation.bic.invalidLocationCode=BIC obsahuje neplatný location kód diff --git a/core/src/main/resources/i18n/displayStrings_de.properties b/core/src/main/resources/i18n/displayStrings_de.properties index 11e91fd2..0b0107cb 100644 --- a/core/src/main/resources/i18n/displayStrings_de.properties +++ b/core/src/main/resources/i18n/displayStrings_de.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Ersteller: {0} shared.takerTxFee=Abnehmer: {0} shared.iConfirm=Ich bestätige shared.openURL=Öffne {0} -shared.fiat=Fiat +shared.traditional=Traditional shared.crypto=Crypto shared.all=Alle shared.edit=Bearbeiten @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Angebote nach Zahlungsmethode market.tabs.trades=Trades # OfferBookChartView -market.offerBook.buyAltcoin={0} kaufen ({1} verkaufen) -market.offerBook.sellAltcoin={0} verkaufen ({1} kaufen) -market.offerBook.buyWithFiat={0} kaufen -market.offerBook.sellWithFiat={0} verkaufen +market.offerBook.buyCrypto={0} kaufen ({1} verkaufen) +market.offerBook.sellCrypto={0} verkaufen ({1} kaufen) +market.offerBook.buyWithTraditional={0} kaufen +market.offerBook.sellWithTraditional={0} verkaufen market.offerBook.sellOffersHeaderLabel=Verkaufe {0} an market.offerBook.buyOffersHeaderLabel=Kaufe {0} von market.offerBook.buy=Ich möchte Bitcoins kaufen @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=N/A shared.notSigned=Dieses Konto wurde noch nicht unterzeichnet. Es wurde vor {0} Tag(en) erstellt shared.notSigned.noNeed=Konten dieses Typs benötigen keine Unterzeichnung shared.notSigned.noNeedDays=Konten dieses Typs benötigen keine Unterzeichnung. Es wurde vor {0} Tag(en) erstellt -shared.notSigned.noNeedAlts=Altcoin Konten haben keine Merkmale wie Unterzeichnung oder Alter +shared.notSigned.noNeedAlts=Crypto Konten haben keine Merkmale wie Unterzeichnung oder Alter offerbook.nrOffers=Anzahl der Angebote: {0} offerbook.volume={0} (min - max) @@ -361,8 +361,8 @@ offerbook.deposit.help=Kaution die von beiden Handelspartnern bezahlt werden mus offerbook.createOfferToBuy=Neues Angebot erstellen, um {0} zu kaufen offerbook.createOfferToSell=Neues Angebot erstellen, um {0} zu verkaufen -offerbook.createOfferToBuy.withFiat=Neues Angebot erstellen, um {0} mit {1} zu kaufen -offerbook.createOfferToSell.forFiat=Neues Angebot erstellen, um {0} für {1} zu verkaufen +offerbook.createOfferToBuy.withTraditional=Neues Angebot erstellen, um {0} mit {1} zu kaufen +offerbook.createOfferToSell.forTraditional=Neues Angebot erstellen, um {0} für {1} zu verkaufen offerbook.createOfferToBuy.withCrypto=Angebot erstellen, um {0} zu verkaufen ({1} kaufen) offerbook.createOfferToSell.forCrypto=Angebot erstellen, um {0} zu kaufen ({1} verkaufen) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Angebot bearbeiten portfolio.closedTrades.deviation.help=Prozentuale Preisabweichung vom Markt -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=Auf Blockchain-Bestätigung warten portfolio.pending.step2_buyer.startPayment=Zahlung beginnen @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Wichtig: Wenn Sie die Zahlung durchfü # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=Sollte Ihre Bank irgendwelche Gebühren für die Überweisung erheben, müssen Sie diese Gebühren bezahlen. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Bitte überweisen Sie von Ihrer externen {0}-Wallet\n{1} an den BTC-Verkäufer.\n\n +portfolio.pending.step2_buyer.crypto=Bitte überweisen Sie von Ihrer externen {0}-Wallet\n{1} an den BTC-Verkäufer.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Bitte gehen Sie zu einer Bank und zahlen Sie {0} an den BTC-Verkäufer.\n\n portfolio.pending.step2_buyer.cash.extra=WICHTIGE VORAUSSETZUNG:\nNachdem Sie die Zahlung getätigt haben, schreiben Sie auf die Quittung: NO REFUNDS.\nReißen Sie diese in zwei Teile und machen Sie ein Foto, das Sie an die E-Mail-Adresse des BTC-Verkäufers senden. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=Der BTC-Verkäufer hat Ihre Zahlung noc portfolio.pending.step3_buyer.openForDispute=Der BTC-Verkäufer hat Ihre Zahlung nicht bestätigt! Die maximale Frist für den Handel ist abgelaufen. Sie können länger warten und dem Trading-Partner mehr Zeit geben oder den Vermittler um Hilfe bitten. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Ihr Handelspartner hat bestätigt, die {0}-Zahlung begonnen zu haben.\n\n -portfolio.pending.step3_seller.altcoin.explorer=in ihrem bevorzugten {0} Blockchain Explorer -portfolio.pending.step3_seller.altcoin.wallet=in ihrer {0} Wallet -portfolio.pending.step3_seller.altcoin={0}Bitte überprüfen Sie mit Ihrem bevorzugten {1}-Blockchain-Explorer, ob die Transaktion zu Ihrer Empfangsadresse\n{2}\nschon genug Blockchain-Bestätigungen hat.\nDer Zahlungsbetrag muss {3} sein\n\nSie können Ihre {4}-Adresse vom Hauptbildschirm kopieren und woanders einfügen, nachdem dieser Dialog geschlossen wurde. +portfolio.pending.step3_seller.crypto.explorer=in ihrem bevorzugten {0} Blockchain Explorer +portfolio.pending.step3_seller.crypto.wallet=in ihrer {0} Wallet +portfolio.pending.step3_seller.crypto={0}Bitte überprüfen Sie mit Ihrem bevorzugten {1}-Blockchain-Explorer, ob die Transaktion zu Ihrer Empfangsadresse\n{2}\nschon genug Blockchain-Bestätigungen hat.\nDer Zahlungsbetrag muss {3} sein\n\nSie können Ihre {4}-Adresse vom Hauptbildschirm kopieren und woanders einfügen, nachdem dieser Dialog geschlossen wurde. portfolio.pending.step3_seller.postal={0}Bitte überprüfen Sie, ob Sie {1} per \"US Postal Money Order\" vom BTC-Käufer erhalten haben. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Bitte überprüfen Sie, ob Sie {1} als \"Bargeld per Post\" vom BTC-Käufer erhalten haben. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaktions-Schlüssel portfolio.pending.step3_seller.buyersAccount=Käufer Konto-Informationen portfolio.pending.step3_seller.confirmReceipt=Zahlungserhalt bestätigen portfolio.pending.step3_seller.buyerStartedPayment=Der BTC-Käufer hat die {0}-Zahlung begonnen.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Überprüfen Sie Ihre Altcoin-Wallet oder Ihren Block-Explorer auf Blockchain-Bestätigungen und bestätigen Sie die Zahlung, wenn ausreichend viele Blockchain-Bestätigungen angezeigt werden. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Prüfen Sie Ihr Handelskonto (z.B. Bankkonto) und bestätigen Sie, wenn Sie die Zahlung erhalten haben. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Überprüfen Sie Ihre Crypto-Wallet oder Ihren Block-Explorer auf Blockchain-Bestätigungen und bestätigen Sie die Zahlung, wenn ausreichend viele Blockchain-Bestätigungen angezeigt werden. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Prüfen Sie Ihr Handelskonto (z.B. Bankkonto) und bestätigen Sie, wenn Sie die Zahlung erhalten haben. portfolio.pending.step3_seller.warn.part1a=in der {0}-Blockchain portfolio.pending.step3_seller.warn.part1b=bei Ihrem Zahlungsanbieter (z.B. Bank) portfolio.pending.step3_seller.warn.part2=Sie haben den Eingang der Zahlung noch nicht bestätigt. Bitte überprüfen Sie {0} ob Sie die Zahlung erhalten haben. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=Sie haben bereits akzept portfolio.pending.failedTrade.taker.missingTakerFeeTx=Die Transaktion der Abnehmer-Gebühr fehlt.\n\nOhne diese tx kann der Handel nicht abgeschlossen werden. Keine Gelder wurden gesperrt und keine Handelsgebühr wurde bezahlt. Sie können diesen Handel zu den fehlgeschlagenen Händeln verschieben. portfolio.pending.failedTrade.maker.missingTakerFeeTx=Die Transaktion der Abnehmer-Gebühr fehlt.\n\nOhne diese tx kann der Handel nicht abgeschlossen werden. Keine Gelder wurden gesperrt. Ihr Angebot ist für andere Händler weiterhin verfügbar. Sie haben die Ersteller-Gebühr also nicht verloren. Sie können diesen Handel zu den fehlgeschlagenen Händeln verschieben. portfolio.pending.failedTrade.missingDepositTx=Die Einzahlungstransaktion (die 2-of-2 Multisig-Transaktion) fehlt.\n\nOhne diese tx kann der Handel nicht abgeschlossen werden. Keine Gelder wurden gesperrt aber die Handels-Gebühr wurde bezahlt. Sie können eine Anfrage für eine Rückerstattung der Handels-Gebühr hier einreichen: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nSie können diesen Handel gerne zu den fehlgeschlagenen Händeln verschieben. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=Die verzögerte Auszahlungstransaktion fehlt, aber die Gelder wurden in der Einzahlungstransaktion gesperrt.\n\nBitte schicken Sie KEINE Geld-(Fiat-) oder Altcoin-Zahlungen an den BTC Verkäufer, weil ohne die verzögerte Auszahlungstransaktion später kein Schlichtungsverfahren eröffnet werden kann. Stattdessen öffnen Sie ein Vermittlungs-Ticket mit Cmd/Strg+o. Der Vermittler sollte vorschlagen, dass beide Handelspartner ihre vollständige Sicherheitskaution zurückerstattet bekommen (und der Verkäufer auch seinen Handels-Betrag). Durch diese Vorgehensweise entsteht kein Sicherheitsrisiko und es geht ausschließlich die Handelsgebühr verloren.\n\nSie können eine Rückerstattung der verlorenen gegangenen Handelsgebühren hier erbitten: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=Die verzögerte Auszahlungstransaktion fehlt, aber die Gelder wurden in der Einzahlungstransaktion gesperrt.\n\nBitte schicken Sie KEINE Geld-(Traditional-) oder Crypto-Zahlungen an den BTC Verkäufer, weil ohne die verzögerte Auszahlungstransaktion später kein Schlichtungsverfahren eröffnet werden kann. Stattdessen öffnen Sie ein Vermittlungs-Ticket mit Cmd/Strg+o. Der Vermittler sollte vorschlagen, dass beide Handelspartner ihre vollständige Sicherheitskaution zurückerstattet bekommen (und der Verkäufer auch seinen Handels-Betrag). Durch diese Vorgehensweise entsteht kein Sicherheitsrisiko und es geht ausschließlich die Handelsgebühr verloren.\n\nSie können eine Rückerstattung der verlorenen gegangenen Handelsgebühren hier erbitten: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=Die verzögerte Auszahlungstransaktion fehlt, aber die Gelder wurden in der Einzahlungstransaktion gesperrt.\n\nWenn dem Käufer die verzögerte Auszahlungstransaktion auch fehlt, wird er dazu aufgefordert die Bezahlung NICHT zu schicken und stattdessen ein Vermittlungs-Ticket zu eröffnen. Sie sollten auch ein Vermittlungs-Ticket mit Cmd/Strg+o öffnen.\n\nWenn der Käufer die Zahlung noch nicht geschickt hat, sollte der Vermittler vorschlagen, dass beide Handelspartner ihre Sicherheitskaution vollständig zurückerhalten (und der Verkäufer auch den Handels-Betrag). Anderenfalls sollte der Handels-Betrag an den Käufer gehen.\n\nSie können eine Rückerstattung der verlorenen gegangenen Handelsgebühren hier erbitten: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=Während der Ausführung des Handel-Protokolls ist ein Fehler aufgetreten.\n\nFehler: {0}\n\nEs kann sein, dass dieser Fehler nicht gravierend ist und der Handel ganz normal abgeschlossen werden kann. Wenn Sie sich unsicher sind, öffnen Sie ein Vermittlungs-Ticket um den Rat eines Haveno Vermittlers zu erhalten.\n\nWenn der Fehler gravierend war, kann der Handel nicht abgeschlossen werden und Sie haben vielleicht die Handelsgebühr verloren. Sie können eine Rückerstattung der verlorenen gegangenen Handelsgebühren hier erbitten: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=Der Handelsvertrag ist nicht festgelegt.\n\nDer Handel kann nicht abgeschlossen werden und Sie haben möglicherweise die Handelsgebühr verloren. Sollte das der Fall sein, können Sie eine Rückerstattung der verlorenen gegangenen Handelsgebühren hier beantragen: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -954,7 +954,7 @@ support.buyerTaker=BTC-Käufer/Abnehmer support.sellerTaker=BTC-Verkäufer/Abnehmer support.backgroundInfo=Haveno ist kein Unternehmen, daher behandelt es Konflikte unterschiedlich.\n\nTrader können innerhalb der Anwendung über einen sicheren Chat auf dem Bildschirm für offene Trades kommunizieren, um zu versuchen, Konflikte selbst zu lösen. Wenn das nicht ausreicht, kann ein Mediator einschreiten und helfen. Der Mediator wird die Situation bewerten und eine Auszahlung von Trade Funds vorschlagen. Wenn beide Trader diesen Vorschlag annehmen, ist die Auszahlungstransaktion abgeschlossen und der Trade geschlossen. Wenn ein oder beide Trader mit der vom Mediator vorgeschlagenen Auszahlung nicht einverstanden sind, können sie ein Vermittlungsverfahren beantragen, bei dem der Vermittler die Situation neu bewertet und, falls gerechtfertigt, dem Trader persönlich eine Rückerstattung leistet und die Rückerstattung dieser Zahlung vom Haveno DAO verlangt. -support.initialInfo=Bitte geben Sie eine Beschreibung Ihres Problems in das untenstehende Textfeld ein. Fügen Sie so viele Informationen wie möglich hinzu, um die Zeit für die Konfliktlösung zu verkürzen.\n\nHier ist eine Checkliste für Informationen, die Sie angeben sollten:\n\t● Wenn Sie der BTC-Käufer sind: Haben Sie die Fiat- oder Altcoin-Überweisung gemacht? Wenn ja, haben Sie in der Anwendung auf die Schaltfläche "Zahlung gestartet" geklickt?\n\t● Wenn Sie der BTC-Verkäufer sind: Haben Sie die Fiat- oder Altcoin-Zahlung erhalten? Wenn ja, haben Sie in der Anwendung auf die Schaltfläche "Zahlung erhalten" geklickt?\n\t● Welche Version von Haveno verwenden Sie?\n\t● Welches Betriebssystem verwenden Sie?\n\t● Wenn Sie ein Problem mit fehlgeschlagenen Transaktionen hatten, überlegen Sie bitte, in ein neues Datenverzeichnis zu wechseln.\n\t Manchmal wird das Datenverzeichnis beschädigt und führt zu seltsamen Fehlern. \n\t Siehe: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nBitte machen Sie sich mit den Grundregeln für den Konfliktprozess vertraut:\n\t● Sie müssen auf die Anfragen der {0}'' innerhalb von 2 Tagen antworten.\n\t● Mediatoren antworten innerhalb von 2 Tagen. Die Vermittler antworten innerhalb von 5 Werktagen.\n\t● Die maximale Frist für einen Konflikt beträgt 14 Tage.\n\t● Sie müssen mit den {1} zusammenarbeiten und die Informationen zur Verfügung stellen, die sie anfordern, um Ihren Fall zu bearbeiten.\n\t● Mit dem ersten Start der Anwendung haben Sie die Regeln des Konfliktdokuments in der Nutzervereinbarung akzeptiert.\n\nSie können mehr über den Konfliktprozess erfahren unter: {2} +support.initialInfo=Bitte geben Sie eine Beschreibung Ihres Problems in das untenstehende Textfeld ein. Fügen Sie so viele Informationen wie möglich hinzu, um die Zeit für die Konfliktlösung zu verkürzen.\n\nHier ist eine Checkliste für Informationen, die Sie angeben sollten:\n\t● Wenn Sie der BTC-Käufer sind: Haben Sie die Traditional- oder Crypto-Überweisung gemacht? Wenn ja, haben Sie in der Anwendung auf die Schaltfläche "Zahlung gestartet" geklickt?\n\t● Wenn Sie der BTC-Verkäufer sind: Haben Sie die Traditional- oder Crypto-Zahlung erhalten? Wenn ja, haben Sie in der Anwendung auf die Schaltfläche "Zahlung erhalten" geklickt?\n\t● Welche Version von Haveno verwenden Sie?\n\t● Welches Betriebssystem verwenden Sie?\n\t● Wenn Sie ein Problem mit fehlgeschlagenen Transaktionen hatten, überlegen Sie bitte, in ein neues Datenverzeichnis zu wechseln.\n\t Manchmal wird das Datenverzeichnis beschädigt und führt zu seltsamen Fehlern. \n\t Siehe: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nBitte machen Sie sich mit den Grundregeln für den Konfliktprozess vertraut:\n\t● Sie müssen auf die Anfragen der {0}'' innerhalb von 2 Tagen antworten.\n\t● Mediatoren antworten innerhalb von 2 Tagen. Die Vermittler antworten innerhalb von 5 Werktagen.\n\t● Die maximale Frist für einen Konflikt beträgt 14 Tage.\n\t● Sie müssen mit den {1} zusammenarbeiten und die Informationen zur Verfügung stellen, die sie anfordern, um Ihren Fall zu bearbeiten.\n\t● Mit dem ersten Start der Anwendung haben Sie die Regeln des Konfliktdokuments in der Nutzervereinbarung akzeptiert.\n\nSie können mehr über den Konfliktprozess erfahren unter: {2} support.systemMsg=Systemnachricht: {0} support.youOpenedTicket=Sie haben eine Anfrage auf Support geöffnet.\n\n{0}\n\nHaveno-Version: {1} support.youOpenedDispute=Sie haben eine Anfrage für einen Konflikt geöffnet.\n\n{0}\n\nHaveno-version: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=Bevorzugte Währung setting.preferences.displayFiat=Nationale Währungen anzeigen setting.preferences.noFiat=Es wurden keine nationalen Währungen ausgewählt setting.preferences.cannotRemovePrefCurrency=Sie können Ihre ausgewählte bevorzugte Anzeigewährung nicht entfernen -setting.preferences.displayAltcoins=Altcoins anzeigen -setting.preferences.noAltcoins=Es sind keine Altcoins ausgewählt +setting.preferences.displayCryptos=Cryptos anzeigen +setting.preferences.noCryptos=Es sind keine Cryptos ausgewählt setting.preferences.addFiat=Nationale Währung hinzufügen -setting.preferences.addAltcoin=Altcoin hinzufügen +setting.preferences.addCrypto=Crypto hinzufügen setting.preferences.displayOptions=Darstellungsoptionen setting.preferences.showOwnOffers=Eigenen Angebote im Angebotsbuch zeigen setting.preferences.useAnimations=Animationen abspielen @@ -1081,8 +1081,8 @@ setting.about.support=Haveno unterstützen setting.about.def=Haveno ist keine Firma, sondern ein Gemeinschaftsprojekt, das offen für Mitwirken ist. Wenn Sie an Haveno mitwirken oder das Projekt unterstützen wollen, folgen Sie bitte den unten stehenden Links. setting.about.contribute=Mitwirken setting.about.providers=Datenanbieter -setting.about.apisWithFee=Haveno verwendet die Haveno Preis Indizes für Fiat und Altcoin Preise und die Haveno Mempool Nodes für die Abschätzung der Mining-Gebühr. -setting.about.apis=Haveno verwendet den Haveno Price Index für Fiat und Altcoin Preise. +setting.about.apisWithFee=Haveno verwendet die Haveno Preis Indizes für Traditional und Crypto Preise und die Haveno Mempool Nodes für die Abschätzung der Mining-Gebühr. +setting.about.apis=Haveno verwendet den Haveno Price Index für Traditional und Crypto Preise. setting.about.pricesProvided=Marktpreise zur Verfügung gestellt von setting.about.feeEstimation.label=Geschätzte Mining-Gebühr bereitgestellt von setting.about.versionDetails=Versionsdetails @@ -1145,10 +1145,10 @@ account.tab.mediatorRegistration=Mediator-Registrierung account.tab.refundAgentRegistration=Registrierung des Rückerstattungsbeauftragten account.tab.signing=Unterzeichnung account.info.headline=Willkommen in Ihrem Haveno-Konto -account.info.msg=Hier können Sie Trading-Konten für nationale Währungen und Altcoins hinzufügen und Backups für Ihre Wallets & Kontodaten erstellen.\n\nEine leere Bitcoin-Wallet wurde erstellt, als Sie das erste Mal Haveno gestartet haben.\n\nWir empfehlen, dass Sie Ihre Bitcoin-Wallet-Seed-Wörter aufschreiben (siehe Tab oben) und sich überlegen ein Passwort hinzuzufügen, bevor Sie einzahlen. Bitcoin-Einzahlungen und Auszahlungen werden unter \"Gelder\" verwaltet.\n\nHinweis zu Privatsphäre & Sicherheit: da Haveno eine dezentralisierte Börse ist, bedeutet dies, dass all Ihre Daten auf ihrem Computer bleiben. Es gibt keine Server und wir haben keinen Zugriff auf Ihre persönlichen Informationen, Ihre Gelder oder selbst Ihre IP-Adresse. Daten wie Bankkontonummern, Altcoin- & Bitcoinadressen, etc werden nur mit Ihrem Trading-Partner geteilt, um Trades abzuschließen, die Sie initiiert haben (im Falle eines Konflikts wird der Vermittler die selben Daten sehen wie Ihr Trading-Partner). +account.info.msg=Hier können Sie Trading-Konten für nationale Währungen und Cryptos hinzufügen und Backups für Ihre Wallets & Kontodaten erstellen.\n\nEine leere Bitcoin-Wallet wurde erstellt, als Sie das erste Mal Haveno gestartet haben.\n\nWir empfehlen, dass Sie Ihre Bitcoin-Wallet-Seed-Wörter aufschreiben (siehe Tab oben) und sich überlegen ein Passwort hinzuzufügen, bevor Sie einzahlen. Bitcoin-Einzahlungen und Auszahlungen werden unter \"Gelder\" verwaltet.\n\nHinweis zu Privatsphäre & Sicherheit: da Haveno eine dezentralisierte Börse ist, bedeutet dies, dass all Ihre Daten auf ihrem Computer bleiben. Es gibt keine Server und wir haben keinen Zugriff auf Ihre persönlichen Informationen, Ihre Gelder oder selbst Ihre IP-Adresse. Daten wie Bankkontonummern, Crypto- & Bitcoinadressen, etc werden nur mit Ihrem Trading-Partner geteilt, um Trades abzuschließen, die Sie initiiert haben (im Falle eines Konflikts wird der Vermittler die selben Daten sehen wie Ihr Trading-Partner). account.menu.paymentAccount=Nationale Währungskonten -account.menu.altCoinsAccountView=Altcoin-Konten +account.menu.altCoinsAccountView=Crypto-Konten account.menu.password=Wallet-Passwort account.menu.seedWords=Wallet-Seed account.menu.walletInfo=Wallet Info @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=Die Registrierung konnte nicht entf account.arbitratorRegistration.registerSuccess=Sie haben sich erfolgreich im Haveno-Netzwerk registriert. account.arbitratorRegistration.registerFailed=Die Registrierung konnte nicht abgeschlossen werden.{0} -account.altcoin.yourAltcoinAccounts=Ihre Altcoin-Konten -account.altcoin.popup.wallet.msg=Bitte stellen Sie sicher, dass Sie die Anforderungen für die Verwendung von {0} Wallets wie auf der {1} Webseite beschrieben erfüllen.\nDie Verwendung von Wallets von zentralisierten Börsen, bei denen (a) Sie Ihre Keys nicht kontrollieren oder (b) die keine kompatible Wallet-Software verwenden, ist riskant: Es kann zum Verlust der gehandelten Gelder führen!\nDer Mediator oder Vermittler ist kein {2} Spezialist und kann in solchen Fällen nicht helfen. -account.altcoin.popup.wallet.confirm=Ich verstehe und bestätige, dass ich weiß, welche Wallet ich benutzen muss. +account.crypto.yourCryptoAccounts=Ihre Crypto-Konten +account.crypto.popup.wallet.msg=Bitte stellen Sie sicher, dass Sie die Anforderungen für die Verwendung von {0} Wallets wie auf der {1} Webseite beschrieben erfüllen.\nDie Verwendung von Wallets von zentralisierten Börsen, bei denen (a) Sie Ihre Keys nicht kontrollieren oder (b) die keine kompatible Wallet-Software verwenden, ist riskant: Es kann zum Verlust der gehandelten Gelder führen!\nDer Mediator oder Vermittler ist kein {2} Spezialist und kann in solchen Fällen nicht helfen. +account.crypto.popup.wallet.confirm=Ich verstehe und bestätige, dass ich weiß, welche Wallet ich benutzen muss. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Der Handel mit UPX auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nFür das Senden von UPX müssen Sie entweder das offizielle uPlexa GUI-Wallet oder das uPlexa CLI-Wallet mit aktiviertem store-tx-info Flag verwenden (Standard in neuen Versionen). Bitte stellen Sie sicher, dass Sie auf den tx key zugreifen können, da dies bei einem Konfliktfall erforderlich wäre.\nuplexa-wallet-cli (verwenden Sie den Befehl get_tx_key)\nuplexa-wallet-gui (gehen Sie zum History Tab und klicken Sie auf (P) für den Zahlungsnachweis)\n\nBei normalen Blockexplorern ist der Transfer nicht verifizierbar.\n\nSie müssen dem Vermittler im Konfliktfall die folgenden Daten zur Verfügung stellen:\n- Der tx Private Key\n- Der Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Konfliktfall. Der UPX-Sender ist dafür verantwortlich, im Konfliktfall dem Vermittler die Verifizierung des UPX-Transfers nachzuweisen.\n\nEs ist keine Zahlungs-ID erforderlich, sondern nur die normale öffentliche Adresse.\nWenn Sie sich über diesen Prozess nicht sicher sind, besuchen Sie den uPlexa discord channel (https://discord.gg/vhdNSrV) oder den uPlexa Telegram Chat (https://t.me/uplexaOfficial), um weitere Informationen zu erhalten. +account.crypto.popup.upx.msg=Der Handel mit UPX auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nFür das Senden von UPX müssen Sie entweder das offizielle uPlexa GUI-Wallet oder das uPlexa CLI-Wallet mit aktiviertem store-tx-info Flag verwenden (Standard in neuen Versionen). Bitte stellen Sie sicher, dass Sie auf den tx key zugreifen können, da dies bei einem Konfliktfall erforderlich wäre.\nuplexa-wallet-cli (verwenden Sie den Befehl get_tx_key)\nuplexa-wallet-gui (gehen Sie zum History Tab und klicken Sie auf (P) für den Zahlungsnachweis)\n\nBei normalen Blockexplorern ist der Transfer nicht verifizierbar.\n\nSie müssen dem Vermittler im Konfliktfall die folgenden Daten zur Verfügung stellen:\n- Der tx Private Key\n- Der Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Konfliktfall. Der UPX-Sender ist dafür verantwortlich, im Konfliktfall dem Vermittler die Verifizierung des UPX-Transfers nachzuweisen.\n\nEs ist keine Zahlungs-ID erforderlich, sondern nur die normale öffentliche Adresse.\nWenn Sie sich über diesen Prozess nicht sicher sind, besuchen Sie den uPlexa discord channel (https://discord.gg/vhdNSrV) oder den uPlexa Telegram Chat (https://t.me/uplexaOfficial), um weitere Informationen zu erhalten. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Der Handel mit ARQ auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nFür den Versand von ARQ müssen Sie entweder das offizielle ArQmA GUI-Wallet oder das ArQmA CLI-Wallet mit aktiviertem store-tx-info Flag verwenden (Standard in neuen Versionen). Bitte stellen Sie sicher, dass Sie auf den tx Key zugreifen können, da dies im Falle eines Konfliktes erforderlich wäre.\narqma-wallet-cli (verwenden Sie den Befehl get_tx_key)\narqma-wallet-gui (gehen Sie zur History Tab und klicken Sie auf (P) für den Zahlungsnachweis)\n\nBei normalen Blockexplorern ist der Transfer nicht verifizierbar.\n\nSie müssen dem Mediator oder Vermittler im Konfliktfall die folgenden Daten zur Verfügung stellen:\n- Der tx Private Key\n- Der Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Konfliktfall. Der ARQ-Sender ist im Fall eines Konflikts dafür verantwortlich, die Verifizierung des ARQ-Transfers dem Mediator oder Vermittler nachzuweisen.\n\nEs ist keine Zahlungs-ID erforderlich, sondern nur die normale öffentliche Adresse.\nWenn Sie sich über diesen Prozess nicht sicher sind, besuchen Sie den ArQmA Discord Channel (https://discord.gg/s9BQpJT) oder das ArQmA Forum (https://labs.arqma.com), um weitere Informationen zu erhalten. +account.crypto.popup.arq.msg=Der Handel mit ARQ auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nFür den Versand von ARQ müssen Sie entweder das offizielle ArQmA GUI-Wallet oder das ArQmA CLI-Wallet mit aktiviertem store-tx-info Flag verwenden (Standard in neuen Versionen). Bitte stellen Sie sicher, dass Sie auf den tx Key zugreifen können, da dies im Falle eines Konfliktes erforderlich wäre.\narqma-wallet-cli (verwenden Sie den Befehl get_tx_key)\narqma-wallet-gui (gehen Sie zur History Tab und klicken Sie auf (P) für den Zahlungsnachweis)\n\nBei normalen Blockexplorern ist der Transfer nicht verifizierbar.\n\nSie müssen dem Mediator oder Vermittler im Konfliktfall die folgenden Daten zur Verfügung stellen:\n- Der tx Private Key\n- Der Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Konfliktfall. Der ARQ-Sender ist im Fall eines Konflikts dafür verantwortlich, die Verifizierung des ARQ-Transfers dem Mediator oder Vermittler nachzuweisen.\n\nEs ist keine Zahlungs-ID erforderlich, sondern nur die normale öffentliche Adresse.\nWenn Sie sich über diesen Prozess nicht sicher sind, besuchen Sie den ArQmA Discord Channel (https://discord.gg/s9BQpJT) oder das ArQmA Forum (https://labs.arqma.com), um weitere Informationen zu erhalten. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Der Handel mit XMR auf Haveno setzt voraus, dass Sie die folgende Anforderung verstehen.\n\nWenn Sie XMR verkaufen, müssen Sie in der Lage sein, einem Vermittler oder einer Schiedsperson im Falle eines Konflikts die folgenden Informationen zur Verfügung zu stellen:\n- den Transaktionsschlüssel (Tx Key, Tx Secret Key oder Tx Private Key)\n- die Transaktions-ID (Tx ID oder Tx Hash)\n- die Zieladresse (Empfängeradresse)\n\nIm Wiki finden Sie Einzelheiten darüber wo Sie diese Informationen in den populärsten Monero-Wallets finden [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nWerden die erforderlichen Transaktionsdaten nicht zur Verfügung gestellt, führt dies dazu, dass der Konflikt zu Ihrem Nachteil entschieden wird.\n\nBeachten Sie auch, dass Haveno jetzt eine automatische Bestätigung für XMR-Transaktionen anbietet, um Transaktionen schneller zu machen, aber Sie müssen dies in den Einstellungen aktivieren.\n\nWeitere Informationen über die automatische Bestätigungsfunktion finden Sie im Wiki: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Der Handel mit XMR auf Haveno setzt voraus, dass Sie die folgende Anforderung verstehen.\n\nWenn Sie XMR verkaufen, müssen Sie in der Lage sein, einem Vermittler oder einer Schiedsperson im Falle eines Konflikts die folgenden Informationen zur Verfügung zu stellen:\n- den Transaktionsschlüssel (Tx Key, Tx Secret Key oder Tx Private Key)\n- die Transaktions-ID (Tx ID oder Tx Hash)\n- die Zieladresse (Empfängeradresse)\n\nIm Wiki finden Sie Einzelheiten darüber wo Sie diese Informationen in den populärsten Monero-Wallets finden [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nWerden die erforderlichen Transaktionsdaten nicht zur Verfügung gestellt, führt dies dazu, dass der Konflikt zu Ihrem Nachteil entschieden wird.\n\nBeachten Sie auch, dass Haveno jetzt eine automatische Bestätigung für XMR-Transaktionen anbietet, um Transaktionen schneller zu machen, aber Sie müssen dies in den Einstellungen aktivieren.\n\nWeitere Informationen über die automatische Bestätigungsfunktion finden Sie im Wiki: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Der Handel mit MSR auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nFür den Versand von MSR müssen Sie entweder das offizielle Masari GUI Wallet, das Masari CLI Wallet mit dem aktivierten store-tx-info Flag (standardmäßig aktiviert) oder das Masari Web Wallet (https://wallet.getmasari.org) verwenden. Bitte stellen Sie sicher, dass Sie auf den tx Key zugreifen können, da dies im Falle eines Konfliktes erforderlich wäre.\nmasari-wallet-cli (verwenden Sie den Befehl get_tx_key)\nmasari-wallet-gui (gehen Sie zur History Tab und klicken Sie auf (P) für den Zahlungsnachweis).\n\nMasari Web Wallet (gehen Sie zum Konto -> Transaktionshistorie und lassen Sie Details zu Ihrer gesendeten Transaktion anzeigen)\n\nDie Verifizierung kann im Wallet durchgeführt werden.\nmasari-wallet-cli : mit dem Befehl (check_tx_key).\nmasari-wallet-gui : auf der Seite Advanced > Prove/Check.\nDie Verifizierung kann im Block-Explorer durchgeführt werden. \nÖffnen Sie den Block-Explorer (https://explorer.getmasari.org), verwenden Sie die Suchleiste, um Ihren Transaktionshash zu finden.\nSobald die Transaktion gefunden wurde, scrollen Sie nach unten zum Bereich 'Prove Sending' und geben Sie bei Bedarf Details ein.\nSie müssen dem Mediator oder Vermittler im Konfliktfall die folgenden Daten zur Verfügung stellen:\n- Den tx Private Key\n- Den Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Konfliktfall. Der MSR-Sender ist im Fall eines Konflikts dafür verantwortlich, die Verifizierung des MSR-Transfers dem Mediator oder Vermittler nachzuweisen.\n\nEs ist keine Zahlungs-ID erforderlich, sondern nur die normale öffentliche Adresse.\nWenn Sie sich über diesen Prozess nicht sicher sind, fragen Sie um Hilfe auf der offiziellen Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Der Handel mit MSR auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nFür den Versand von MSR müssen Sie entweder das offizielle Masari GUI Wallet, das Masari CLI Wallet mit dem aktivierten store-tx-info Flag (standardmäßig aktiviert) oder das Masari Web Wallet (https://wallet.getmasari.org) verwenden. Bitte stellen Sie sicher, dass Sie auf den tx Key zugreifen können, da dies im Falle eines Konfliktes erforderlich wäre.\nmasari-wallet-cli (verwenden Sie den Befehl get_tx_key)\nmasari-wallet-gui (gehen Sie zur History Tab und klicken Sie auf (P) für den Zahlungsnachweis).\n\nMasari Web Wallet (gehen Sie zum Konto -> Transaktionshistorie und lassen Sie Details zu Ihrer gesendeten Transaktion anzeigen)\n\nDie Verifizierung kann im Wallet durchgeführt werden.\nmasari-wallet-cli : mit dem Befehl (check_tx_key).\nmasari-wallet-gui : auf der Seite Advanced > Prove/Check.\nDie Verifizierung kann im Block-Explorer durchgeführt werden. \nÖffnen Sie den Block-Explorer (https://explorer.getmasari.org), verwenden Sie die Suchleiste, um Ihren Transaktionshash zu finden.\nSobald die Transaktion gefunden wurde, scrollen Sie nach unten zum Bereich 'Prove Sending' und geben Sie bei Bedarf Details ein.\nSie müssen dem Mediator oder Vermittler im Konfliktfall die folgenden Daten zur Verfügung stellen:\n- Den tx Private Key\n- Den Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Konfliktfall. Der MSR-Sender ist im Fall eines Konflikts dafür verantwortlich, die Verifizierung des MSR-Transfers dem Mediator oder Vermittler nachzuweisen.\n\nEs ist keine Zahlungs-ID erforderlich, sondern nur die normale öffentliche Adresse.\nWenn Sie sich über diesen Prozess nicht sicher sind, fragen Sie um Hilfe auf der offiziellen Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Der Handel mit BLUR auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm BLUR zu senden, müssen Sie die Blur Network CLI oder GUI Wallet verwenden. \n\nWenn Sie die CLI-Wallet verwenden, wird nach dem Senden eines Transfers ein Transaktionshash (tx ID) angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden des Transfers müssen Sie den Private Key der Transaktion mit dem Befehl 'get_tx_key' ermitteln. Wenn Sie diesen Schritt nicht ausführen, können Sie den Key möglicherweise später nicht mehr abrufen. \n\nWenn Sie das Blur Network GUI Wallet verwenden, können Sie problemlos den Private Key der Transaktion und die Transaktion-ID im "History" Tab finden. Suchen Sie sofort nach dem Absenden die Transaktion, die von Interesse ist. Klicken Sie auf das Symbol "?" in der unteren rechten Ecke des Feldes, das die Transaktion enthält. Sie müssen diese Informationen speichern. \n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1.) die Transaktions-ID, 2.) den Private Key der Transaktion und 3.) die Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den BLUR-Transfer mit dem Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, verlieren Sie den Konfliktfall. In allen Konfliktfällen trägt der BLUR-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler. \n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno. Als Erstes suchen Sie Hilfe im Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Der Handel mit BLUR auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm BLUR zu senden, müssen Sie die Blur Network CLI oder GUI Wallet verwenden. \n\nWenn Sie die CLI-Wallet verwenden, wird nach dem Senden eines Transfers ein Transaktionshash (tx ID) angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden des Transfers müssen Sie den Private Key der Transaktion mit dem Befehl 'get_tx_key' ermitteln. Wenn Sie diesen Schritt nicht ausführen, können Sie den Key möglicherweise später nicht mehr abrufen. \n\nWenn Sie das Blur Network GUI Wallet verwenden, können Sie problemlos den Private Key der Transaktion und die Transaktion-ID im "History" Tab finden. Suchen Sie sofort nach dem Absenden die Transaktion, die von Interesse ist. Klicken Sie auf das Symbol "?" in der unteren rechten Ecke des Feldes, das die Transaktion enthält. Sie müssen diese Informationen speichern. \n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1.) die Transaktions-ID, 2.) den Private Key der Transaktion und 3.) die Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den BLUR-Transfer mit dem Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, verlieren Sie den Konfliktfall. In allen Konfliktfällen trägt der BLUR-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler. \n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno. Als Erstes suchen Sie Hilfe im Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Der Handel mit Solo auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm Solo zu senden, müssen Sie das Solo Network CLI Wallet verwenden. \n\nWenn Sie das CLI-Wallet verwenden, wird nach dem Senden eines Transfers ein Transaktionshash (tx ID) angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden des Transfers müssen Sie den Private Key der Transaktion mit dem Befehl 'get_tx_key' ermitteln. Wenn Sie diesen Schritt nicht ausführen, können Sie den Key möglicherweise später nicht mehr abrufen.\n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1.) die Transaktion-ID, 2.) den Private Key der Transaktion und 3.) die Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den Solo-Transfer mit dem Solo Block Explorer, indem er nach der Transaktion sucht und dann die Funktion "Senden nachweisen" (https://explorer.minesolo.com/) verwendet.\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, verlieren Sie den Konfliktfall. In allen Konfliktfällen trägt der Solo-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler. \n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno. Suchen Sie zuerst Hilfe im Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Der Handel mit Solo auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm Solo zu senden, müssen Sie das Solo Network CLI Wallet verwenden. \n\nWenn Sie das CLI-Wallet verwenden, wird nach dem Senden eines Transfers ein Transaktionshash (tx ID) angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden des Transfers müssen Sie den Private Key der Transaktion mit dem Befehl 'get_tx_key' ermitteln. Wenn Sie diesen Schritt nicht ausführen, können Sie den Key möglicherweise später nicht mehr abrufen.\n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1.) die Transaktion-ID, 2.) den Private Key der Transaktion und 3.) die Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den Solo-Transfer mit dem Solo Block Explorer, indem er nach der Transaktion sucht und dann die Funktion "Senden nachweisen" (https://explorer.minesolo.com/) verwendet.\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, verlieren Sie den Konfliktfall. In allen Konfliktfällen trägt der Solo-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler. \n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno. Suchen Sie zuerst Hilfe im Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Der Handel mit CASH2 auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm CASH2 zu versenden, müssen Sie die Cash2 Wallet Version 3 oder höher verwenden. \n\nNachdem eine Transaktion gesendet wurde, wird die Transaktions-ID angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden der Transaktion müssen Sie den Befehl 'getTxKey' in simplewallet verwenden, um den Secret Key der Transaktion abzurufen. \n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1) die Transaktions-ID, 2) den Secret Key der Transaktion und 3) die Cash2-Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den CASH2-Transfer mit dem Cash2 Block Explorer (https://blocks.cash2.org).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, werden Sie den Konfliktfall verlieren. In allen Konfliktfällen trägt der CASH2-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler.\n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno, sondern suchen Sie zunächst Hilfe im Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Der Handel mit CASH2 auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm CASH2 zu versenden, müssen Sie die Cash2 Wallet Version 3 oder höher verwenden. \n\nNachdem eine Transaktion gesendet wurde, wird die Transaktions-ID angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden der Transaktion müssen Sie den Befehl 'getTxKey' in simplewallet verwenden, um den Secret Key der Transaktion abzurufen. \n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1) die Transaktions-ID, 2) den Secret Key der Transaktion und 3) die Cash2-Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den CASH2-Transfer mit dem Cash2 Block Explorer (https://blocks.cash2.org).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, werden Sie den Konfliktfall verlieren. In allen Konfliktfällen trägt der CASH2-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler.\n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno, sondern suchen Sie zunächst Hilfe im Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Der Handel mit Qwertycoin auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm QWC zu versenden, müssen Sie die offizielle QWC Wallet Version 5.1.3 oder höher verwenden. \n\nNachdem eine Transaktion gesendet wurde, wird die Transaktions-ID angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden der Transaktion müssen Sie den Befehl 'get_Tx_Key' in simplewallet verwenden, um den Secret Key der Transaktion abzurufen. \n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1) die Transaktions-ID, 2) den Secret Key der Transaktion und 3) die QWC-Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den QWC-Transfer mit dem QWC Block Explorer (https://explorer.qwertycoin.org).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, werden Sie den Konfliktfall verlieren. In allen Konfliktfällen trägt der QWC-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler.\n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno, sondern suchen Sie zunächst Hilfe im QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Der Handel mit Qwertycoin auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm QWC zu versenden, müssen Sie die offizielle QWC Wallet Version 5.1.3 oder höher verwenden. \n\nNachdem eine Transaktion gesendet wurde, wird die Transaktions-ID angezeigt. Sie müssen diese Informationen speichern. Unmittelbar nach dem Senden der Transaktion müssen Sie den Befehl 'get_Tx_Key' in simplewallet verwenden, um den Secret Key der Transaktion abzurufen. \n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1) die Transaktions-ID, 2) den Secret Key der Transaktion und 3) die QWC-Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den QWC-Transfer mit dem QWC Block Explorer (https://explorer.qwertycoin.org).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, werden Sie den Konfliktfall verlieren. In allen Konfliktfällen trägt der QWC-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler.\n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno, sondern suchen Sie zunächst Hilfe im QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Der Handel mit Dragonglass auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nAufgrund der Privatsphäre, die Dragonglass bietet, ist eine Transaktion auf der Public Blockchain nicht verifizierbar. Bei Bedarf können Sie Ihre Zahlung durch die Verwendung Ihres TXN-Private-Key nachweisen.\nDer TXN-Private Key ist ein einmaliger Schlüssel, der automatisch für jede Transaktion generiert wird, auf die Sie nur über Ihre DRGL-Wallet zugreifen können - entweder über die DRGL-Wallet GUI (im Transaktionsdetaildialog) oder über die Dragonglass CLI simplewallet (mit dem Befehl "get_tx_key").\n\nDRGL-Version "Oathkeeper" und höher sind für beide ERFORDERLICH.\n\nIm Konfliktfall müssen Sie dem Mediator oder Vermittler die folgenden Daten zur Verfügung stellen:\n- Den TXN-Private-Key\n- Den Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nDie Verifizierung der Zahlung kann mit den oben genannten Daten als Eingabe unter (http://drgl.info/#check_txn) erfolgen.\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Klärungsfall. Der Dragonglass-Sender ist für die Verifizierung des DRGL-Transfers gegenüber dem Mediator oder Vermittler im Konfliktfall verantwortlich. Die Verwendung einer PaymentID ist nicht erforderlich.\n\nWenn Sie sich über irgendeinen Teil dieses Prozesses unsicher sind, besuchen Sie Dragonglass auf Discord (http://discord.drgl.info) um Hilfe zu erhalten. +account.crypto.popup.drgl.msg=Der Handel mit Dragonglass auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nAufgrund der Privatsphäre, die Dragonglass bietet, ist eine Transaktion auf der Public Blockchain nicht verifizierbar. Bei Bedarf können Sie Ihre Zahlung durch die Verwendung Ihres TXN-Private-Key nachweisen.\nDer TXN-Private Key ist ein einmaliger Schlüssel, der automatisch für jede Transaktion generiert wird, auf die Sie nur über Ihre DRGL-Wallet zugreifen können - entweder über die DRGL-Wallet GUI (im Transaktionsdetaildialog) oder über die Dragonglass CLI simplewallet (mit dem Befehl "get_tx_key").\n\nDRGL-Version "Oathkeeper" und höher sind für beide ERFORDERLICH.\n\nIm Konfliktfall müssen Sie dem Mediator oder Vermittler die folgenden Daten zur Verfügung stellen:\n- Den TXN-Private-Key\n- Den Transaktionshash\n- Die öffentliche Adresse des Empfängers\n\nDie Verifizierung der Zahlung kann mit den oben genannten Daten als Eingabe unter (http://drgl.info/#check_txn) erfolgen.\n\nWenn Sie die oben genannten Daten nicht angeben oder wenn Sie eine inkompatible Wallet verwendet haben, verlieren Sie den Klärungsfall. Der Dragonglass-Sender ist für die Verifizierung des DRGL-Transfers gegenüber dem Mediator oder Vermittler im Konfliktfall verantwortlich. Die Verwendung einer PaymentID ist nicht erforderlich.\n\nWenn Sie sich über irgendeinen Teil dieses Prozesses unsicher sind, besuchen Sie Dragonglass auf Discord (http://discord.drgl.info) um Hilfe zu erhalten. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Bei der Verwendung von Zcash können Sie nur die transparenten Adressen (beginnend mit t) verwenden, nicht die z-Adressen (privat), da der Mediator oder Vermittler nicht in der Lage wäre, die Transaktion mit z-Adressen zu verifizieren. +account.crypto.popup.ZEC.msg=Bei der Verwendung von Zcash können Sie nur die transparenten Adressen (beginnend mit t) verwenden, nicht die z-Adressen (privat), da der Mediator oder Vermittler nicht in der Lage wäre, die Transaktion mit z-Adressen zu verifizieren. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Bei der Verwendung von Zcoin können Sie nur die transparenten (rückverfolgbaren) Adressen verwenden, nicht die nicht rückverfolgbaren Adressen, da der Mediator oder Vermittler nicht in der Lage wäre, die Transaktion mit nicht rückverfolgbaren Adressen in einem Block-Explorer zu verifizieren. +account.crypto.popup.XZC.msg=Bei der Verwendung von Zcoin können Sie nur die transparenten (rückverfolgbaren) Adressen verwenden, nicht die nicht rückverfolgbaren Adressen, da der Mediator oder Vermittler nicht in der Lage wäre, die Transaktion mit nicht rückverfolgbaren Adressen in einem Block-Explorer zu verifizieren. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN benötigt einen interaktiven Prozess zwischen Sender und Empfänger, um die Transaktion zu erstellen. Stellen Sie sicher, den Anweisungen der GRIN Projekt Webseite zu folgen, um zuverlässig GRIN zu senden und empfangen (der Empfänger muss oinline oder wenigstens während eines gewissen Zeitfensters). \n\nHaveno unterstützt nur das Grinbox (Wallet713) Wallet URL Format. \n\nDer GRIN Sender muss beweisen können, die GRIN erfolgreich gesendet zu haben. Wenn die Wallet dies nicht kann, wird ein potentieller Konflikt zugunsten des GRIN Empfängers entschieden. Bitte stellen Sie sicher, dass Sie die letzte Grinbox Software nutzen, die den Transaktionsbeweis unterstützt, und Sie den Prozess verstehen, wie GRIN gesendet und empfangen wird, sowie wie man den Beweis erstellt. \n\nBeachten Sie https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only für weitere Informationen über das Grinbox proof tool. +account.crypto.popup.grin.msg=GRIN benötigt einen interaktiven Prozess zwischen Sender und Empfänger, um die Transaktion zu erstellen. Stellen Sie sicher, den Anweisungen der GRIN Projekt Webseite zu folgen, um zuverlässig GRIN zu senden und empfangen (der Empfänger muss oinline oder wenigstens während eines gewissen Zeitfensters). \n\nHaveno unterstützt nur das Grinbox (Wallet713) Wallet URL Format. \n\nDer GRIN Sender muss beweisen können, die GRIN erfolgreich gesendet zu haben. Wenn die Wallet dies nicht kann, wird ein potentieller Konflikt zugunsten des GRIN Empfängers entschieden. Bitte stellen Sie sicher, dass Sie die letzte Grinbox Software nutzen, die den Transaktionsbeweis unterstützt, und Sie den Prozess verstehen, wie GRIN gesendet und empfangen wird, sowie wie man den Beweis erstellt. \n\nBeachten Sie https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only für weitere Informationen über das Grinbox proof tool. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM benötigt einen interaktiven Prozess zwischen Sender und Empfänger, um die Transaktion zu erstellen.\n\nStellen Sie sicher, den Anweisungen der BEAM Projekt Webseite zu folgen, um zuverlässig BEAM zu senden und empfangen (der Empfänger muss oinline oder wenigstens während eines gewissen Zeitfensters). \n\nDer BEAM Sender muss beweisen können, die BEAM erfolgreich gesendet zu haben. Bitte stellen Sie sicher, dass Sie Wallet Software verwenden, die solche Beweise erstellen kann. Falls Die Wallet den Beweis nicht erstellen kann, wird ein potentieller Konflikt zugunsten des BEAM Empfängers entschieden. +account.crypto.popup.beam.msg=BEAM benötigt einen interaktiven Prozess zwischen Sender und Empfänger, um die Transaktion zu erstellen.\n\nStellen Sie sicher, den Anweisungen der BEAM Projekt Webseite zu folgen, um zuverlässig BEAM zu senden und empfangen (der Empfänger muss oinline oder wenigstens während eines gewissen Zeitfensters). \n\nDer BEAM Sender muss beweisen können, die BEAM erfolgreich gesendet zu haben. Bitte stellen Sie sicher, dass Sie Wallet Software verwenden, die solche Beweise erstellen kann. Falls Die Wallet den Beweis nicht erstellen kann, wird ein potentieller Konflikt zugunsten des BEAM Empfängers entschieden. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Der Handel mit ParsiCoin auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm PARS zu versenden, müssen Sie die offizielle ParsiCoin Wallet Version 3.0.0 oder höher verwenden. \n\nSie können Ihren Transaktionshash und Transaktionsschlüssel im Bereich Transaktionen in Ihrer GUI-Wallet (ParsiPay) überprüfen. Sie müssen mit der rechten Maustaste auf die Transaktion und dann auf Details anzeigen klicken.\n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1) den Transaktionshash, 2) den Transaktionsschlüssel und 3) die PARS-Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den PARS-Transfer mit dem ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, werden Sie den Konfliktfall verlieren. In allen Konfliktfällen trägt der ParsiCoin-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler. \n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno, sondern suchen Sie zunächst Hilfe im ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Der Handel mit ParsiCoin auf Haveno setzt voraus, dass Sie die folgenden Anforderungen verstehen und erfüllen:\n\nUm PARS zu versenden, müssen Sie die offizielle ParsiCoin Wallet Version 3.0.0 oder höher verwenden. \n\nSie können Ihren Transaktionshash und Transaktionsschlüssel im Bereich Transaktionen in Ihrer GUI-Wallet (ParsiPay) überprüfen. Sie müssen mit der rechten Maustaste auf die Transaktion und dann auf Details anzeigen klicken.\n\nFalls ein Vermittlungsverfahren erforderlich ist, müssen Sie einem Mediator oder Vermittler Folgendes vorlegen: 1) den Transaktionshash, 2) den Transaktionsschlüssel und 3) die PARS-Adresse des Empfängers. Der Mediator oder Vermittler überprüft dann den PARS-Transfer mit dem ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nWenn Sie dem Mediator oder Vermittler nicht die erforderlichen Informationen zur Verfügung stellen, werden Sie den Konfliktfall verlieren. In allen Konfliktfällen trägt der ParsiCoin-Sender 100% der Verantwortung für die Verifizierung von Transaktionen gegenüber einem Mediator oder Vermittler. \n\nWenn Sie diese Anforderungen nicht verstehen, handeln Sie nicht auf Haveno, sondern suchen Sie zunächst Hilfe im ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=Um "Burnt Blackcoins" zu handeln, müssen Sie folgendes wissen:\n\nBurnt Blackcoins können nicht ausgegeben werden. Um sie auf Haveno zu handeln, müssen die Ausgabeskripte in der Form vorliegen: OP_RETURN OP_PUSHDATA, gefolgt von zugehörigen Datenbytes, die nach der Hex-Codierung Adressen darstellen. Beispielsweise haben Burnt Blackcoins mit der Adresse 666f6f ("foo" in UTF-8) das folgende Skript:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nUm Burnt Blackcoins zu erstellen, kann man den in einigen Wallets verfügbaren RPC-Befehl "burn" verwenden.\n\nFür mögliche Anwendungsfälle kann man einen Blick auf https://ibo.laboratorium.ee werfen.\n\nDa Burnt Blackcoins nicht ausgegeben werden können, können sie nicht wieder verkauft werden. "Verkaufen" von Burnt Blackcoins bedeutet, gewöhnliche Blackcoins zu verbrennen (mit zugehörigen Daten entsprechend der Zieladresse).\n\nIm Konfliktfall hat der BLK-Verkäufer den Transaktionshash zur Verfügung zu stellen. +account.crypto.popup.blk-burnt.msg=Um "Burnt Blackcoins" zu handeln, müssen Sie folgendes wissen:\n\nBurnt Blackcoins können nicht ausgegeben werden. Um sie auf Haveno zu handeln, müssen die Ausgabeskripte in der Form vorliegen: OP_RETURN OP_PUSHDATA, gefolgt von zugehörigen Datenbytes, die nach der Hex-Codierung Adressen darstellen. Beispielsweise haben Burnt Blackcoins mit der Adresse 666f6f ("foo" in UTF-8) das folgende Skript:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nUm Burnt Blackcoins zu erstellen, kann man den in einigen Wallets verfügbaren RPC-Befehl "burn" verwenden.\n\nFür mögliche Anwendungsfälle kann man einen Blick auf https://ibo.laboratorium.ee werfen.\n\nDa Burnt Blackcoins nicht ausgegeben werden können, können sie nicht wieder verkauft werden. "Verkaufen" von Burnt Blackcoins bedeutet, gewöhnliche Blackcoins zu verbrennen (mit zugehörigen Daten entsprechend der Zieladresse).\n\nIm Konfliktfall hat der BLK-Verkäufer den Transaktionshash zur Verfügung zu stellen. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Das Trading mit L-BTC auf Haveno setzt voraus, dass Sie Folgendes verstehen:\n\nWenn Sie L-BTC für einen Trade auf Haveno erhalten, können Sie nicht die mobile Blockstream Green Wallet App oder eine Custodial/Exchange Wallet verwenden. Sie dürfen L-BTC nur in der Liquid Elements Core Wallet oder eine andere L-BTC-Wallet erhalten, die es Ihnen ermöglicht, den Blinding Key für Ihre verdeckte L-BTC-Adresse zu erhalten.\n\nFalls eine Mediation erforderlich ist oder ein Trade-Konflikt entsteht, müssen Sie den Blinding Key für Ihre L-BTC-Empfangsadresse dem Haveno-Mediator oder dem Refund Agent mitteilen, damit dieser die Details Ihrer vertraulichen Transaktion auf seinem eigenen Elements Core Full Node überprüfen kann.\n\nWenn Sie dem Mediator oder Refund Agent die erforderlichen Informationen nicht zur Verfügung stellen, führt dies dazu, dass Sie den Streitfall verlieren. In allen Streitfällen trägt der L-BTC-Empfänger 100 % der Verantwortung für die Bereitstellung kryptographischer Beweise an den Mediator oder den Refund Agent.\n\nWenn Sie diese Anforderungen nicht verstehen, sollten Sie nicht mit L-BTC auf Haveno traden. +account.crypto.popup.liquidbitcoin.msg=Das Trading mit L-BTC auf Haveno setzt voraus, dass Sie Folgendes verstehen:\n\nWenn Sie L-BTC für einen Trade auf Haveno erhalten, können Sie nicht die mobile Blockstream Green Wallet App oder eine Custodial/Exchange Wallet verwenden. Sie dürfen L-BTC nur in der Liquid Elements Core Wallet oder eine andere L-BTC-Wallet erhalten, die es Ihnen ermöglicht, den Blinding Key für Ihre verdeckte L-BTC-Adresse zu erhalten.\n\nFalls eine Mediation erforderlich ist oder ein Trade-Konflikt entsteht, müssen Sie den Blinding Key für Ihre L-BTC-Empfangsadresse dem Haveno-Mediator oder dem Refund Agent mitteilen, damit dieser die Details Ihrer vertraulichen Transaktion auf seinem eigenen Elements Core Full Node überprüfen kann.\n\nWenn Sie dem Mediator oder Refund Agent die erforderlichen Informationen nicht zur Verfügung stellen, führt dies dazu, dass Sie den Streitfall verlieren. In allen Streitfällen trägt der L-BTC-Empfänger 100 % der Verantwortung für die Bereitstellung kryptographischer Beweise an den Mediator oder den Refund Agent.\n\nWenn Sie diese Anforderungen nicht verstehen, sollten Sie nicht mit L-BTC auf Haveno traden. -account.fiat.yourFiatAccounts=Ihre Nationalen Währungskonten +account.traditional.yourTraditionalAccounts=Ihre Nationalen Währungskonten account.backup.title=Backup der Wallet erstellen account.backup.location=Speicherort des Backups @@ -1580,7 +1580,7 @@ popup.warning.startupFailed.twoInstances=Haveno läuft bereits. Sie können nich popup.warning.tradePeriod.halfReached=Ihr Trade mit der ID {0} hat die Hälfte der maximal erlaubten Trade-Periode erreicht und ist immer noch nicht abgeschlossen.\n\nDie Trade-Periode endet am {1}\n\nBitte überprüfen Sie den Status Ihres Trades unter \"Portfolio/Offene Trades\" für weitere Informationen. popup.warning.tradePeriod.ended=Ihr Trade mit der ID {0} hat die maximal zulässige Trade-Periode erreicht und ist nicht abgeschlossen.\n\nDie Trade-Periode endete am {1}.\n\nBitte überprüfen Sie Ihren Trade unter \"Portfolio/Offene Trades\", um den Mediator zu kontaktieren. popup.warning.noTradingAccountSetup.headline=Sie haben kein Handelskonto eingerichtet -popup.warning.noTradingAccountSetup.msg=Sie müssen ein nationales Währung- oder Altcoin-Konto einrichten, bevor Sie ein Angebot erstellen können.\nMöchten Sie ein Konto einrichten? +popup.warning.noTradingAccountSetup.msg=Sie müssen ein nationales Währung- oder Crypto-Konto einrichten, bevor Sie ein Angebot erstellen können.\nMöchten Sie ein Konto einrichten? popup.warning.noArbitratorsAvailable=Momentan sind keine Vermittler verfügbar. popup.warning.noMediatorsAvailable=Es sind keine Mediatoren verfügbar. popup.warning.notFullyConnected=Sie müssen warten, bis Sie vollständig mit dem Netzwerk verbunden sind.\nDas kann bis ungefähr 2 Minuten nach dem Start dauern. @@ -1803,8 +1803,8 @@ formatter.makerTaker=Ersteller als {0} {1} / Abnehmer als {2} {3} formatter.youAreAsMaker=Sie sind: {1} {0} (Ersteller) / Abnehmer ist: {3} {2} formatter.youAreAsTaker=Sie sind: {1} {0} (Abnehmer) / Ersteller ist: {3} {2} formatter.youAre=Sie {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Sie erstellen ein Angebot um {1} zu {0} -formatter.youAreCreatingAnOffer.altcoin=Sie erstellen ein Angebot {1} zu {0} ({3} zu {2}) +formatter.youAreCreatingAnOffer.traditional=Sie erstellen ein Angebot um {1} zu {0} +formatter.youAreCreatingAnOffer.crypto=Sie erstellen ein Angebot {1} zu {0} ({3} zu {2}) formatter.asMaker={0} {1} als Ersteller formatter.asTaker={0} {1} als Abnehmer @@ -1896,11 +1896,11 @@ payment.email=E-Mail payment.country=Land payment.extras=Besondere Erfordernisse payment.email.mobile=E-Mail oder Telefonnummer -payment.altcoin.address=Altcoin-Adresse -payment.altcoin.tradeInstantCheckbox=Handeln sie schnell (innerhalb 1 Stunde) mit diesem Altcoin -payment.altcoin.tradeInstant.popup=Für "Schnelles Handeln" müssen beide Handelspartner online sein, um den Handel innerhalb 1 Stunde abschließen zu können.\n\nFalls sie offene Angebote haben jedoch nicht verfügbar sind, deaktivieren sie bitte diese Angebote unter 'Portfolio'. -payment.altcoin=Altcoin -payment.select.altcoin=Altcoin wählen oder suchen +payment.crypto.address=Crypto-Adresse +payment.crypto.tradeInstantCheckbox=Handeln sie schnell (innerhalb 1 Stunde) mit diesem Crypto +payment.crypto.tradeInstant.popup=Für "Schnelles Handeln" müssen beide Handelspartner online sein, um den Handel innerhalb 1 Stunde abschließen zu können.\n\nFalls sie offene Angebote haben jedoch nicht verfügbar sind, deaktivieren sie bitte diese Angebote unter 'Portfolio'. +payment.crypto=Crypto +payment.select.crypto=Crypto wählen oder suchen payment.secret=Geheimfrage payment.answer=Antwort payment.wallet=Wallets-ID @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=CBU Nummer shared.accountSigningState=Konto-Unterzeichnungsstatus #new -payment.altcoin.address.dyn={0} Adresse -payment.altcoin.receiver.address=Altcoin Adresse des Empfängers +payment.crypto.address.dyn={0} Adresse +payment.crypto.receiver.address=Crypto Adresse des Empfängers payment.accountNr=Kontonummer payment.emailOrMobile=E-Mail oder Telefonnummer payment.useCustomAccountName=Spezifischen Kontonamen nutzen @@ -2070,7 +2070,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoins +BLOCK_CHAINS=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2080,7 +2080,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon Gift-Karte # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins schnell +BLOCK_CHAINS_INSTANT=Cryptos schnell # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2122,7 +2122,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoins +BLOCK_CHAINS_SHORT=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2132,7 +2132,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon Gift-Karte # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins schnell +BLOCK_CHAINS_INSTANT_SHORT=Cryptos schnell # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2152,8 +2152,8 @@ validation.NaN=Die Eingabe ist keine gültige Zahl. validation.notAnInteger=Eingabe ist keine ganze Zahl. validation.zero=Die Eingabe von 0 ist nicht erlaubt. validation.negative=Ein negativer Wert ist nicht erlaubt. -validation.fiat.tooSmall=Eingaben kleiner als der minimal mögliche Betrag sind nicht erlaubt. -validation.fiat.tooLarge=Eingaben größer als der maximal mögliche Betrag sind nicht erlaubt. +validation.traditional.tooSmall=Eingaben kleiner als der minimal mögliche Betrag sind nicht erlaubt. +validation.traditional.tooLarge=Eingaben größer als der maximal mögliche Betrag sind nicht erlaubt. validation.xmr.fraction=Input wird einem Bitcoin Wert von weniger als 1 satoshi entsprechen validation.xmr.tooLarge=Eingaben größer als {0} sind nicht erlaubt. validation.xmr.tooSmall=Eingabe kleiner als {0} ist nicht erlaubt. @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} muss aus {1} Zahlen bestehen. validation.invalidInput=Ungültige Eingabe: {0} validation.accountNrFormat=Die Kontonummer muss folgendes Format haben: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Die Adressvalidierung ist fehlgeschlagen, da diese nicht mit der Struktur einer {0}-Adresse übereinstimmt. +validation.crypto.wrongStructure=Die Adressvalidierung ist fehlgeschlagen, da diese nicht mit der Struktur einer {0}-Adresse übereinstimmt. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=Die LTZ Adresse muss mit L beginnen. Adressen die mit z beginnen werden nicht unterstützt. +validation.crypto.ltz.zAddressesNotSupported=Die LTZ Adresse muss mit L beginnen. Adressen die mit z beginnen werden nicht unterstützt. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC Adressen müssen mit t beginnen. Adressen die mit z beginnen werden nicht unterstützt. +validation.crypto.zAddressesNotSupported=ZEC Adressen müssen mit t beginnen. Adressen die mit z beginnen werden nicht unterstützt. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Die Adresse ist keine gültige {0}-Adresse! {1} +validation.crypto.invalidAddress=Die Adresse ist keine gültige {0}-Adresse! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Native Segwit-Adressen (die mit 'lq' beginnen) werden nicht unterstützt. +validation.crypto.liquidBitcoin.invalidAddress=Native Segwit-Adressen (die mit 'lq' beginnen) werden nicht unterstützt. validation.bic.invalidLength=Eingabelänge muss 8 oder 11 betragen validation.bic.letters=Bank- und Ländercode müssen aus Buchstaben bestehen validation.bic.invalidLocationCode=Der BIC enthält einen ungültigen Standort-Code diff --git a/core/src/main/resources/i18n/displayStrings_es.properties b/core/src/main/resources/i18n/displayStrings_es.properties index 43caa167..82eb4524 100644 --- a/core/src/main/resources/i18n/displayStrings_es.properties +++ b/core/src/main/resources/i18n/displayStrings_es.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Creador: {0} shared.takerTxFee=Tomador: {0} shared.iConfirm=Confirmo shared.openURL=Abrir {0} -shared.fiat=Fiat +shared.traditional=Traditional shared.crypto=Cripto shared.all=Todos shared.edit=Editar @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Ofertas según método de pago market.tabs.trades=Intercambios # OfferBookChartView -market.offerBook.buyAltcoin=Comprar {0} (vender {1}) -market.offerBook.sellAltcoin=Vender {0} (comprar {1}) -market.offerBook.buyWithFiat=Comprar {0} -market.offerBook.sellWithFiat=Vender {0} +market.offerBook.buyCrypto=Comprar {0} (vender {1}) +market.offerBook.sellCrypto=Vender {0} (comprar {1}) +market.offerBook.buyWithTraditional=Comprar {0} +market.offerBook.sellWithTraditional=Vender {0} market.offerBook.sellOffersHeaderLabel=Vender {0} a market.offerBook.buyOffersHeaderLabel=Comprar {0} de market.offerBook.buy=Quiero comprar bitcoin @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=No disponible shared.notSigned=Esta cuenta no ha sido firmada aún y fue creada hace {0} días shared.notSigned.noNeed=Este tipo de cuenta no necesita firmado shared.notSigned.noNeedDays=Este tipo de cuenta no necesita firmado y fue creada hace {0} días -shared.notSigned.noNeedAlts=Las cuentas de altcoin no necesitan firmado o edad +shared.notSigned.noNeedAlts=Las cuentas de crypto no necesitan firmado o edad offerbook.nrOffers=Número de ofertas: {0} offerbook.volume={0} (min - max) @@ -361,8 +361,8 @@ offerbook.deposit.help=Depósito pagado por cada comerciante para garantizar el offerbook.createOfferToBuy=Crear nueva oferta para comprar {0} offerbook.createOfferToSell=Crear nueva oferta para vender {0} -offerbook.createOfferToBuy.withFiat=Crear nueva oferta para comprar {0} con {1} -offerbook.createOfferToSell.forFiat=Crear nueva oferta para vender {0} por {1} +offerbook.createOfferToBuy.withTraditional=Crear nueva oferta para comprar {0} con {1} +offerbook.createOfferToSell.forTraditional=Crear nueva oferta para vender {0} por {1} offerbook.createOfferToBuy.withCrypto=Crear nueva oferta para vender {0} (comprar {1}) offerbook.createOfferToSell.forCrypto=Crear nueva oferta para comprar {0} (vender {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Editar oferta portfolio.closedTrades.deviation.help=Desviación porcentual de precio de mercado -portfolio.pending.invalidTx=Hay un problema con una transacción inválida o no encontrada.\n\nPor faovr NO envíe el pago de fiat o altcoins.\n\nAbra un ticket de soporte para obtener asistencia de un mediador.\n\nMensaje de error: {0} +portfolio.pending.invalidTx=Hay un problema con una transacción inválida o no encontrada.\n\nPor faovr NO envíe el pago de traditional o cryptos.\n\nAbra un ticket de soporte para obtener asistencia de un mediador.\n\nMensaje de error: {0} portfolio.pending.step1.waitForConf=Esperar a la confirmación en la cadena de bloques portfolio.pending.step2_buyer.startPayment=Comenzar pago @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Importante: al hacer un pago, deje el # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=Si su banco carga alguna tasa por hacer la transferencia, es responsable de pagar esas tasas. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Por favor transfiera fondos desde su cartera externa {0}\n{1} al vendedor de BTC.\n\n +portfolio.pending.step2_buyer.crypto=Por favor transfiera fondos desde su cartera externa {0}\n{1} al vendedor de BTC.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Por favor vaya al banco y pague {0} al vendedor de BTC.\n\n portfolio.pending.step2_buyer.cash.extra=REQUERIMIENTO IMPORTANTE:\nDespués de haber hecho el pago escribe en el recibo de papel: NO REFUNDS\nLuego divídalo en 2 partes, haga una foto y envíela a la dirección de correo electrónico del vendedor de BTC. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=El vendedor de BTC aún no ha confirmad portfolio.pending.step3_buyer.openForDispute=¡El vendedor de BTC aún no ha confirmado su pago! El periodo máximo para el intercambio ha concluido. Puede esperar y dar más tiempo a la otra parte o solicitar asistencia del mediador. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=La otra parte del intercambio confirma haber iniciado el pago de {0}.\n\n -portfolio.pending.step3_seller.altcoin.explorer=en su explorador de cadena de bloques {0} favorito -portfolio.pending.step3_seller.altcoin.wallet=en su cartera {0} -portfolio.pending.step3_seller.altcoin={0}Por favor compruebe {1} si la transacción a su dirección de recepción\n{2}\ntiene suficientes confirmaciones en la cadena de bloques.\nLa cantidad a pagar tiene que ser {3}\n\nPuede copiar y pegar su dirección {4} desde la pantalla principal después de cerrar este popup. +portfolio.pending.step3_seller.crypto.explorer=en su explorador de cadena de bloques {0} favorito +portfolio.pending.step3_seller.crypto.wallet=en su cartera {0} +portfolio.pending.step3_seller.crypto={0}Por favor compruebe {1} si la transacción a su dirección de recepción\n{2}\ntiene suficientes confirmaciones en la cadena de bloques.\nLa cantidad a pagar tiene que ser {3}\n\nPuede copiar y pegar su dirección {4} desde la pantalla principal después de cerrar este popup. portfolio.pending.step3_seller.postal={0}Por favor compruebe si ha recibido {1} con \"US Postal Money Order\" enviados por el comprador BTC. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Por favor compruebe si ha recibido {1} con \"Efectivo por Correo\" enviados por el comprador BTC. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Clave de transacción portfolio.pending.step3_seller.buyersAccount=Datos de cuenta del comprador portfolio.pending.step3_seller.confirmReceipt=Confirmar recibo de pago portfolio.pending.step3_seller.buyerStartedPayment=El comprador de BTC ha iniciado el pago de {0}.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Compruebe las confirmaciones en la cadena de bloques en su monedero de altcoin o explorador de bloques y confirme el pago cuando tenga suficientes confirmaciones. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Compruebe su cuenta de intercambio (v.g. cuenta bancaria) y confirme cuando haya recibido el pago. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Compruebe las confirmaciones en la cadena de bloques en su monedero de crypto o explorador de bloques y confirme el pago cuando tenga suficientes confirmaciones. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Compruebe su cuenta de intercambio (v.g. cuenta bancaria) y confirme cuando haya recibido el pago. portfolio.pending.step3_seller.warn.part1a=en la cadena de bloques {0} portfolio.pending.step3_seller.warn.part1b=en su proveedor de pago (v.g. banco) portfolio.pending.step3_seller.warn.part2=Todavía no ha confirmado el recibo del pago. Por favor, compruebe {0} si ha recibido el pago. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=Ya ha aceptado portfolio.pending.failedTrade.taker.missingTakerFeeTx=Falta la transacción de tasa de tomador\n\nSin esta tx, el intercambio no se puede completar. No se han bloqueado fondos y no se ha pagado ninguna tasa de intercambio. Puede mover esta operación a intercambios fallidos. portfolio.pending.failedTrade.maker.missingTakerFeeTx=Falta la transacción de tasa de tomador de su par.\n\nSin esta tx, el intercambio no se puede completar. No se han bloqueado fondos. Su oferta aún está disponible para otros comerciantes, por lo que no ha perdido la tasa de tomador. Puede mover este intercambio a intercambios fallidos. portfolio.pending.failedTrade.missingDepositTx=Falta la transacción de depósito (la transacción multifirma 2 de 2).\n\nSin esta tx, el intercambio no se puede completar. No se han bloqueado fondos, pero se ha pagado su tarifa comercial. Puede hacer una solicitud para que se le reembolse la tarifa comercial aquí: [HYPERLINK:https://github.com/bisq-network/support/issues].\n\nSiéntase libre de mover esta operación a operaciones fallidas. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=Falta la transacción de pago demorado, pero los fondos se han bloqueado en la transacción de depósito.\n\nNO envíe el pago fiat o altcoin al vendedor de BTC, porque sin el tx de pago demorado, no se puede abrir el arbitraje. En su lugar, abra un ticket de mediación con Cmd / Ctrl + o. El mediador debe sugerir que ambos pares recuperen el monto total de sus depósitos de seguridad (y el vendedor también recibirá el monto total de la operación). De esta manera, no hay riesgo en la seguridad y solo se pierden las tarifas comerciales.\n\nPuede solicitar un reembolso por las tarifas comerciales perdidas aquí: [HYPERLINK:https://github.com/bisq-network/support/issues]. +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=Falta la transacción de pago demorado, pero los fondos se han bloqueado en la transacción de depósito.\n\nNO envíe el pago traditional o crypto al vendedor de BTC, porque sin el tx de pago demorado, no se puede abrir el arbitraje. En su lugar, abra un ticket de mediación con Cmd / Ctrl + o. El mediador debe sugerir que ambos pares recuperen el monto total de sus depósitos de seguridad (y el vendedor también recibirá el monto total de la operación). De esta manera, no hay riesgo en la seguridad y solo se pierden las tarifas comerciales.\n\nPuede solicitar un reembolso por las tarifas comerciales perdidas aquí: [HYPERLINK:https://github.com/bisq-network/support/issues]. portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=Falta la transacción del pago demorado, pero los fondos se han bloqueado en la transacción de depósito.\n\nSi al comprador también le falta la transacción de pago demorado, se le indicará que NO envíe el pago y abra un ticket de mediación. También debe abrir un ticket de mediación con Cmd / Ctrl + o.\n\nSi el comprador aún no ha enviado el pago, el mediador debe sugerir que ambos pares recuperen el monto total de sus depósitos de seguridad (y el vendedor también recibirá el monto total de la operación). De lo contrario, el monto comercial debe ir al comprador.\n\nPuede solicitar un reembolso por las tarifas comerciales perdidas aquí: [HYPERLINK:https://github.com/bisq-network/support/issues]. portfolio.pending.failedTrade.errorMsgSet=Hubo un error durante la ejecución del protocolo de intercambio.\n\nError: {0}\n\nPuede ser que este error no sea crítico y que el intercambio se pueda completar normalmente. Si no está seguro, abra un ticket de mediación para obtener consejos de los mediadores de Haveno.\n\nSi el error fue crítico y la operación no se puede completar, es posible que haya perdido su tarifa de operación. Solicite un reembolso por las tarifas comerciales perdidas aquí: [HYPERLINK:ttps://github.com/bisq-network/support/issues]. portfolio.pending.failedTrade.missingContract=El contrato del intercambio no está establecido.\n\nLa operación no se puede completar y es posible que haya perdido su tarifa de operación. Si es así, puede solicitar un reembolso por las tarifas comerciales perdidas aquí: [HYPERLINK:https://github.com/bisq-network/support/issues]. @@ -954,7 +954,7 @@ support.buyerTaker=comprador/Tomador BTC support.sellerTaker=vendedor/Tomador BTC support.backgroundInfo=Haveno no es una compañía, por ello maneja las disputas de una forma diferente.\n\nLos compradores y vendedores pueden comunicarse a través de la aplicación por un chat seguro en la pantalla de intercambios abiertos para intentar resolver una disputa por su cuenta. Si eso no es suficiente, un mediador puede intervenir para ayudar. El mediador evaluará la situación y dará una recomendación para el pago de los fondos de la transacción. Si ambos aceptan esta sugerencia, la transacción del pago se completa y el intercambio se cierra. Si uno o ambos no están de acuerdo con el pago recomendado por el mediador, pueden solicitar arbitraje. El árbitro re-evaluará la situación y, si es necesario, hará el pago personalmente y solicitará un reembolso de este pago a la DAO de Haveno. -support.initialInfo=Por favor, introduzca una descripción de su problema en el campo de texto de abajo. Añada tanta información como sea posible para agilizar la resolución de la disputa.\n\nEsta es una lista de la información que usted debe proveer:\n\t● Si es el comprador de BTC: ¿Hizo la transferencia Fiat o Altcoin? Si es así, ¿Pulsó el botón 'pago iniciado' en la aplicación?\n\t● Si es el vendedor de BTC: ¿Recibió el pago Fiat o Altcoin? Si es así, ¿Pulsó el botón 'pago recibido' en la aplicación?\n\t● ¿Qué versión de Haveno está usando?\n\t● ¿Qué sistema operativo está usando?\n\t● Si tiene problemas con transacciones fallidas, por favor considere cambiar a un nuevo directorio de datos.\n\tA veces el directorio de datos se corrompe y causa errores extraños.\n\tVer: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPor favor, familiarícese con las reglas básicas del proceso de disputa:\n\t● Tiene que responder a los requerimientos de {0} en 2 días.\n\t● Los mediadores responden en 2 días. Los árbitros responden en 5 días laborables.\n\t● El periodo máximo para una disputa es de 14 días.\n\t● Tiene que cooperar con {1} y proveer la información necesaria que soliciten.\n\t● Aceptó la reglas esbozadas en el documento de disputa en el acuerdo de usuario cuando inició por primera ver la aplicación.\n\nPuede leer más sobre el proceso de disputa en: {2} +support.initialInfo=Por favor, introduzca una descripción de su problema en el campo de texto de abajo. Añada tanta información como sea posible para agilizar la resolución de la disputa.\n\nEsta es una lista de la información que usted debe proveer:\n\t● Si es el comprador de BTC: ¿Hizo la transferencia Traditional o Cryptocurrency? Si es así, ¿Pulsó el botón 'pago iniciado' en la aplicación?\n\t● Si es el vendedor de BTC: ¿Recibió el pago Traditional o Cryptocurrency? Si es así, ¿Pulsó el botón 'pago recibido' en la aplicación?\n\t● ¿Qué versión de Haveno está usando?\n\t● ¿Qué sistema operativo está usando?\n\t● Si tiene problemas con transacciones fallidas, por favor considere cambiar a un nuevo directorio de datos.\n\tA veces el directorio de datos se corrompe y causa errores extraños.\n\tVer: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPor favor, familiarícese con las reglas básicas del proceso de disputa:\n\t● Tiene que responder a los requerimientos de {0} en 2 días.\n\t● Los mediadores responden en 2 días. Los árbitros responden en 5 días laborables.\n\t● El periodo máximo para una disputa es de 14 días.\n\t● Tiene que cooperar con {1} y proveer la información necesaria que soliciten.\n\t● Aceptó la reglas esbozadas en el documento de disputa en el acuerdo de usuario cuando inició por primera ver la aplicación.\n\nPuede leer más sobre el proceso de disputa en: {2} support.systemMsg=Mensaje de sistema: {0} support.youOpenedTicket=Ha abierto una solicitud de soporte.\n\n{0}\n\nVersión Haveno: {1} support.youOpenedDispute=Ha abierto una solicitud de disputa.\n\n{0}\n\nVersión Haveno: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=Moneda preferida setting.preferences.displayFiat=Mostrar monedas nacionales setting.preferences.noFiat=No hay monedas nacionales seleccionadas setting.preferences.cannotRemovePrefCurrency=No puede eliminar su moneda preferida para mostrar seleccionada -setting.preferences.displayAltcoins=Mostrar altcoins -setting.preferences.noAltcoins=No hay altcoins seleccionadas +setting.preferences.displayCryptos=Mostrar cryptos +setting.preferences.noCryptos=No hay cryptos seleccionadas setting.preferences.addFiat=Añadir moneda nacional -setting.preferences.addAltcoin=Añadir altcoin +setting.preferences.addCrypto=Añadir crypto setting.preferences.displayOptions=Mostrar opciones setting.preferences.showOwnOffers=Mostrar mis propias ofertas en el libro de ofertas setting.preferences.useAnimations=Usar animaciones @@ -1081,8 +1081,8 @@ setting.about.support=Apoye a Haveno setting.about.def=Haveno no es una compañía - es un proyecto abierto a la comunidad. Si quiere participar o ayudar a Haveno por favor siga los enlaces de abajo. setting.about.contribute=Contribuir setting.about.providers=Proveedores de datos -setting.about.apisWithFee=Haveno usa Índices de Precios Haveno para los precios de mercado de fiat y altcoin, y los Nodos de Mempool de Haveno para la estimación de tasas de minado. -setting.about.apis=Haveno usa los Índices de Precios Haveno para los precios de mercado de fiat y altcoin. +setting.about.apisWithFee=Haveno usa Índices de Precios Haveno para los precios de mercado de traditional y crypto, y los Nodos de Mempool de Haveno para la estimación de tasas de minado. +setting.about.apis=Haveno usa los Índices de Precios Haveno para los precios de mercado de traditional y crypto. setting.about.pricesProvided=Precios de mercado proporcionados por: setting.about.feeEstimation.label=Estimación de comisión de minería proporcionada por: setting.about.versionDetails=Detalles de la versión @@ -1145,10 +1145,10 @@ account.tab.mediatorRegistration=Registro de mediador account.tab.refundAgentRegistration=Registro de agente de devolución de fondos account.tab.signing=Firmado account.info.headline=Bienvenido a su cuenta Haveno -account.info.msg=Aquí puede añadir cuentas de intercambio para monedas nacionales y altcoins y crear una copia de su cartera y datos de cuenta.\n\nUna nueva cartera Bitcoin fue creada la primera vez que inició Haveno.\n\nRecomendamos encarecidamente que escriba sus palabras de la semilla de la cartera Bitcoin (mire pestaña arriba) y considere añadir una contraseña antes de enviar fondos. Los ingresos y retiros de Bitcoin se administran en la sección \"Fondos\".\n\nNota de privacidad y seguridad: Debido a que Haveno es un exchange descentralizado, todos sus datos se guardan en su ordenador. No hay servidores, así que no tenemos acceso a su información personal, sus saldos, o incluso su dirección IP. Datos como número de cuenta bancaria, direcciones altcoin y Bitcoin, etc son solo compartidos con su par de intercambio para completar intercambios iniciados (en caso de una disputa el mediador o árbitro verá los mismos datos que el par de intercambio). +account.info.msg=Aquí puede añadir cuentas de intercambio para monedas nacionales y cryptos y crear una copia de su cartera y datos de cuenta.\n\nUna nueva cartera Bitcoin fue creada la primera vez que inició Haveno.\n\nRecomendamos encarecidamente que escriba sus palabras de la semilla de la cartera Bitcoin (mire pestaña arriba) y considere añadir una contraseña antes de enviar fondos. Los ingresos y retiros de Bitcoin se administran en la sección \"Fondos\".\n\nNota de privacidad y seguridad: Debido a que Haveno es un exchange descentralizado, todos sus datos se guardan en su ordenador. No hay servidores, así que no tenemos acceso a su información personal, sus saldos, o incluso su dirección IP. Datos como número de cuenta bancaria, direcciones crypto y Bitcoin, etc son solo compartidos con su par de intercambio para completar intercambios iniciados (en caso de una disputa el mediador o árbitro verá los mismos datos que el par de intercambio). account.menu.paymentAccount=Cuentas de moneda nacional -account.menu.altCoinsAccountView=Cuentas de altcoin +account.menu.altCoinsAccountView=Cuentas de crypto account.menu.password=Contraseña de monedero account.menu.seedWords=Semilla del monedero account.menu.walletInfo=Información de monedero @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=No se pudo eliminar el registro.{0} account.arbitratorRegistration.registerSuccess=Se ha registrado con éxito en la red Haveno. account.arbitratorRegistration.registerFailed=No se pudo completar el registro.{0} -account.altcoin.yourAltcoinAccounts=Sus cuentas de altcoin -account.altcoin.popup.wallet.msg=Por favor, asegúrese que sigue los requisitos para el uso de carteras {0} como se describe en la página web {1}.\nUsando carteras desde exchanges centralizados donde (a) usted no controla sus claves o (b) que no usan monederos compatibles con el software es un riesgo: ¡puede llevar a la perdida de los fondos intercambiados!\nEl mediador o árbitro no es un especialista en {2} y no puede ayudar en tales casos. -account.altcoin.popup.wallet.confirm=Entiendo y confirmo que sé qué monedero tengo que utilizar. +account.crypto.yourCryptoAccounts=Sus cuentas de crypto +account.crypto.popup.wallet.msg=Por favor, asegúrese que sigue los requisitos para el uso de carteras {0} como se describe en la página web {1}.\nUsando carteras desde exchanges centralizados donde (a) usted no controla sus claves o (b) que no usan monederos compatibles con el software es un riesgo: ¡puede llevar a la perdida de los fondos intercambiados!\nEl mediador o árbitro no es un especialista en {2} y no puede ayudar en tales casos. +account.crypto.popup.wallet.confirm=Entiendo y confirmo que sé qué monedero tengo que utilizar. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Para intercambiar UPX en haveno es preciso que usted entienda y cumpla los siguientes requerimientos:\n\nPara enviar upx es preciso que use el monedero oficial de uPlexa GUI o el de uPlexa CLI con la opción "store-tx-info" habilitada (predeterminada en las nuevas versiones). Por favor, asegúrese de poder acceder a las llaves tx, ya que podrían requerirse en caso de disputa.\nuplexa-wallet-cli (utilice el comando get_tx_key)\nuplexa-wallet-gui (vaya a la pestaña historial y haga clic en el botón (P) para prueba de pago).\nEn los exploradores de bloques normales la transferencia no es verificable.\nUsted necesita proporcionar al árbitro los siguientes datos en caso de disputa:\n- La llave privada tx\n- El hash de la transacción\n- La dirección publica de recepción\nSi no proporciona los datos arriba señalados, o si utilizó una cartera incompatible, perderá la disputa.\nLa parte que envía UPX es responsable de proporcionar las evidencias de la transferencia de UPX al árbitro en caso de disputa.\nNo se requiere ID de pago, solo la dirección pública normal.\nSi no está seguro sobre el proceso, visite el canal de conflictos de uPlexa https://discord.gg/vhdNSrV) o el Chat de Telegram de uPlexa (https://t.me/uplexaOfficial) para encontrar más información. +account.crypto.popup.upx.msg=Para intercambiar UPX en haveno es preciso que usted entienda y cumpla los siguientes requerimientos:\n\nPara enviar upx es preciso que use el monedero oficial de uPlexa GUI o el de uPlexa CLI con la opción "store-tx-info" habilitada (predeterminada en las nuevas versiones). Por favor, asegúrese de poder acceder a las llaves tx, ya que podrían requerirse en caso de disputa.\nuplexa-wallet-cli (utilice el comando get_tx_key)\nuplexa-wallet-gui (vaya a la pestaña historial y haga clic en el botón (P) para prueba de pago).\nEn los exploradores de bloques normales la transferencia no es verificable.\nUsted necesita proporcionar al árbitro los siguientes datos en caso de disputa:\n- La llave privada tx\n- El hash de la transacción\n- La dirección publica de recepción\nSi no proporciona los datos arriba señalados, o si utilizó una cartera incompatible, perderá la disputa.\nLa parte que envía UPX es responsable de proporcionar las evidencias de la transferencia de UPX al árbitro en caso de disputa.\nNo se requiere ID de pago, solo la dirección pública normal.\nSi no está seguro sobre el proceso, visite el canal de conflictos de uPlexa https://discord.gg/vhdNSrV) o el Chat de Telegram de uPlexa (https://t.me/uplexaOfficial) para encontrar más información. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=El ARQ de intercambio de Haveno requiere que entienda y cumpla los siguientes requerimientos:\n\nPara el ARQ de envío, necesita utilizar la cartera oficial ArQmA GUI o una cartera ArQmA CLI con la opción store-tx-info habilitada (predeterminada en nuevas versiones). Por favor asegúrese de poder acceder a la llave tx ya que podría ser requerido en caso de disputa.\narqma-wallet-cli (utilice el comando get_tx_key)\narqma-wallet-gui (vaya a la pestaña historial y pulse el botón (P) para prueba de pago)\n\nEn los exploradores de bloques normales la transferencia no es verificable.\n\nNecesita proveer al mediador o al árbitro los siguientes datos en caso de disputa:\n- El tx de la llave privada\n- El hash de transacción\n- La dirección publica de recepción\n\nNo proveer los datos arriba señalados, o si utilizó una cartera incompatible, resultará en perder la disputa. La parte ARQ que envía es responsable de proveer verificación de la transferencia ARQ al mediador o al árbitro en caso de disputa.\n\nNo se requiere ID de pago, solo la dirección pública normal.\nSi no está seguro sobre el proceso visite el canal ArQmA en discord (https://discord.gg/s9BQpJT) o el foro de ArQmA (https://labs.arqma.com) para encontrar más información. +account.crypto.popup.arq.msg=El ARQ de intercambio de Haveno requiere que entienda y cumpla los siguientes requerimientos:\n\nPara el ARQ de envío, necesita utilizar la cartera oficial ArQmA GUI o una cartera ArQmA CLI con la opción store-tx-info habilitada (predeterminada en nuevas versiones). Por favor asegúrese de poder acceder a la llave tx ya que podría ser requerido en caso de disputa.\narqma-wallet-cli (utilice el comando get_tx_key)\narqma-wallet-gui (vaya a la pestaña historial y pulse el botón (P) para prueba de pago)\n\nEn los exploradores de bloques normales la transferencia no es verificable.\n\nNecesita proveer al mediador o al árbitro los siguientes datos en caso de disputa:\n- El tx de la llave privada\n- El hash de transacción\n- La dirección publica de recepción\n\nNo proveer los datos arriba señalados, o si utilizó una cartera incompatible, resultará en perder la disputa. La parte ARQ que envía es responsable de proveer verificación de la transferencia ARQ al mediador o al árbitro en caso de disputa.\n\nNo se requiere ID de pago, solo la dirección pública normal.\nSi no está seguro sobre el proceso visite el canal ArQmA en discord (https://discord.gg/s9BQpJT) o el foro de ArQmA (https://labs.arqma.com) para encontrar más información. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Intercambiar XMR en Haveno requiere entender y cumplir los siguientes requisitos\n\nPruebas de pago:\n\n\nSi está vendiendo XMR, debe ser capaz de entregar la siguiente información en caso de disputa:\n\n- La clave de transacción (Tx key, Tx Secret Key o Tx Private Key)\n- La ID de transacción (Tx ID o Tx Hash)\n- La dirección de destino (recipient's address)\n\nVea la wiki para detalles sobre dónde encontrar esta información en los principales monederos XMR:\nhttps://bisq.wiki/Trading_Monero#Proving_payments\n\n\nNo entregar estos datos de transacción resultará en pérdida de la disputa.\n\nTenga en cuenta que Haveno ahora ofrece confirmación automática de transacciones XMR para realizar intercambios más rápido, pero necesita habilitarlo en Configuración. \n\nVea la wiki para más información sobre la función de autoconfirmación.\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades] +account.crypto.popup.xmr.msg=Intercambiar XMR en Haveno requiere entender y cumplir los siguientes requisitos\n\nPruebas de pago:\n\n\nSi está vendiendo XMR, debe ser capaz de entregar la siguiente información en caso de disputa:\n\n- La clave de transacción (Tx key, Tx Secret Key o Tx Private Key)\n- La ID de transacción (Tx ID o Tx Hash)\n- La dirección de destino (recipient's address)\n\nVea la wiki para detalles sobre dónde encontrar esta información en los principales monederos XMR:\nhttps://bisq.wiki/Trading_Monero#Proving_payments\n\n\nNo entregar estos datos de transacción resultará en pérdida de la disputa.\n\nTenga en cuenta que Haveno ahora ofrece confirmación automática de transacciones XMR para realizar intercambios más rápido, pero necesita habilitarlo en Configuración. \n\nVea la wiki para más información sobre la función de autoconfirmación.\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades] # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Para intercambiar MSR en Haveno es necesario que usted entienda y cumpla los siguientes requisitos:\n\nPara enviar MSR es necesario que use el monedero oficial de Masari monedero GUI o Masari monedero CLI con la opción "store-tx-info" habilitada (predeterminada en las nuevas versiones) o el monedero oficial Masari Web (https://wallet.getmasari.org). Por favor, asegúrese de poder acceder a las llaves tx, ya que podrían requerirse en caso de alguna disputa. \nmasari-wallet-cli (utilice el comando get_tx_key)\nmasari-wallet-gui (vaya a la pestaña historial y haga clic en el botón (P) para prueba de pago). \n\nMonedero Masari Web (vaya a Cuenta -> historial transacción y vea los detalles de su transacción enviada.)\n\nPuede lograr verificación de la transacción dentro del monedero:\nmasari-wallet-cli : usando el comando (check_tx_key).\nmasari-wallet-gui: vaya a la pestaña Avanzado > Comprobar/Revisar.\nVerificación de transacción también se puede lograr desde el explorador de bloques\nAbrir explorador de bloques (https://explorer.getmasari.org), use la barra de búsqueda para buscar el hash de transacción. \nCuando encuentre su transacción, navegue hacia el final donde dice "Comprobar Envío" y rellene los detalles necesarios. \nUsted necesita compartir esta información con el mediador o árbitro en caso de disputa:\n- La clave privada tx\n- El hash de transacción\n- La dirección pública del que recibe\n\nSi no proporciona los datos arriba señalados, o si utilizó una cartera incompatible, perderá la disputa. El que envía MSR es responsable de entregar la verificación de transferencia al mediador o árbitro en caso de disputa.\n\nNo se requiere el ID de pago, sólo la dirección pública normal.\nSi no está seguro sobre el proceso, pida ayuda visitando el canal oficial de Masari en Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Para intercambiar MSR en Haveno es necesario que usted entienda y cumpla los siguientes requisitos:\n\nPara enviar MSR es necesario que use el monedero oficial de Masari monedero GUI o Masari monedero CLI con la opción "store-tx-info" habilitada (predeterminada en las nuevas versiones) o el monedero oficial Masari Web (https://wallet.getmasari.org). Por favor, asegúrese de poder acceder a las llaves tx, ya que podrían requerirse en caso de alguna disputa. \nmasari-wallet-cli (utilice el comando get_tx_key)\nmasari-wallet-gui (vaya a la pestaña historial y haga clic en el botón (P) para prueba de pago). \n\nMonedero Masari Web (vaya a Cuenta -> historial transacción y vea los detalles de su transacción enviada.)\n\nPuede lograr verificación de la transacción dentro del monedero:\nmasari-wallet-cli : usando el comando (check_tx_key).\nmasari-wallet-gui: vaya a la pestaña Avanzado > Comprobar/Revisar.\nVerificación de transacción también se puede lograr desde el explorador de bloques\nAbrir explorador de bloques (https://explorer.getmasari.org), use la barra de búsqueda para buscar el hash de transacción. \nCuando encuentre su transacción, navegue hacia el final donde dice "Comprobar Envío" y rellene los detalles necesarios. \nUsted necesita compartir esta información con el mediador o árbitro en caso de disputa:\n- La clave privada tx\n- El hash de transacción\n- La dirección pública del que recibe\n\nSi no proporciona los datos arriba señalados, o si utilizó una cartera incompatible, perderá la disputa. El que envía MSR es responsable de entregar la verificación de transferencia al mediador o árbitro en caso de disputa.\n\nNo se requiere el ID de pago, sólo la dirección pública normal.\nSi no está seguro sobre el proceso, pida ayuda visitando el canal oficial de Masari en Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Intercambiar BLUR en Haveno requiere que entienda y cumpla los siguientes requisitos:\n\nPara enviar BLUR debe usar Blur Network CLI o la cartera GUI. \n\nSi utiliza la cartera CLI, un hash de transacción (tx ID) se mostrará después de hacer una transferencia. Deberá guardar esta información. Inmediatamente después de enviar la transferencia, deberá utilizar el comando 'get_tx_key' para obtener la clave privada de transacción. Si no realiza este paso, es posible que no pueda obtener la llave mas tarde. \n\nSi utiliza la cartera Blur Network GUI, la clave privada de transacción y el ID de transacción puede ser encontrada convenientemente en la pestaña "Historia". Inmediatamente después del envío, localice la transacción de interés. Pulse en el símbolo "?" en la esquina inferior derecha de la caja que contiene la transacción. Debe guardar esta información. \n\nEn caso de que sea necesaria una disputa, deberá presentar lo siguiente al mediador o al árbitro: 1.) el ID de transacción, 2.) la clave privada de transacción, y 3.) la dirección de destino. El mediador o árbitro entonces verificará la transferencia BLUR utilizando el Visor de Transacción Blur (https://blur.cash/#tx-viewer).\n\nSi no se proporciona la información requerida al mediador o al árbitro se perderá el caso de disputa. En todos los casos de disputa, el remitente BLUR asume el 100% de la responsabilidad en la verificación de las transacciones a un mediador o a un árbitro.. \n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Intercambiar BLUR en Haveno requiere que entienda y cumpla los siguientes requisitos:\n\nPara enviar BLUR debe usar Blur Network CLI o la cartera GUI. \n\nSi utiliza la cartera CLI, un hash de transacción (tx ID) se mostrará después de hacer una transferencia. Deberá guardar esta información. Inmediatamente después de enviar la transferencia, deberá utilizar el comando 'get_tx_key' para obtener la clave privada de transacción. Si no realiza este paso, es posible que no pueda obtener la llave mas tarde. \n\nSi utiliza la cartera Blur Network GUI, la clave privada de transacción y el ID de transacción puede ser encontrada convenientemente en la pestaña "Historia". Inmediatamente después del envío, localice la transacción de interés. Pulse en el símbolo "?" en la esquina inferior derecha de la caja que contiene la transacción. Debe guardar esta información. \n\nEn caso de que sea necesaria una disputa, deberá presentar lo siguiente al mediador o al árbitro: 1.) el ID de transacción, 2.) la clave privada de transacción, y 3.) la dirección de destino. El mediador o árbitro entonces verificará la transferencia BLUR utilizando el Visor de Transacción Blur (https://blur.cash/#tx-viewer).\n\nSi no se proporciona la información requerida al mediador o al árbitro se perderá el caso de disputa. En todos los casos de disputa, el remitente BLUR asume el 100% de la responsabilidad en la verificación de las transacciones a un mediador o a un árbitro.. \n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Para intercambiar Solo en Haveno es necesario que usted entienda y cumpla los siguientes requisitos:\n\nPara enviar Solo es necesario que use el monedero Solo Network Monedero CLI\n\nSi usted usa el monedero CLI el hash de transacción (tx ID) aparecerá después de la transferencia. Usted debe guardar esta información. Inmediatamente después de mandar de la transferencia, usted debe usar el comando 'get_tx_key' para guardar la clave privada de transacción. Si usted no guarda esta información, es posible que no podrá coleccionar esta clave después .\n\nUsted necesita compartir esta información con el mediador o árbitro en caso de disputa:\n1.) el ID de transacción, 2.) la clave privada de transacción y 3.) la dirección pública de recepción. El mediador o árbitro podrá verificar la transferencia de Solo usando el explorador de bloques Solo, buscando la transacción y usando la función "Prove sending" (https://explorer.minesolo.com/).\n\nSi no proporciona los datos arriba señalados al mediador o árbitro perderá la disputa. En todos los casos de disputa, el emisor de Solo es 100% responsable de entregar la verificación de envío al mediador o árbitro.\n\nSi no está seguro o no entiendo estos requisitos, no haga intercambio/transacción en Haveno. Primero, pida ayuda visitando el canal oficial de Solo Network en Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Para intercambiar Solo en Haveno es necesario que usted entienda y cumpla los siguientes requisitos:\n\nPara enviar Solo es necesario que use el monedero Solo Network Monedero CLI\n\nSi usted usa el monedero CLI el hash de transacción (tx ID) aparecerá después de la transferencia. Usted debe guardar esta información. Inmediatamente después de mandar de la transferencia, usted debe usar el comando 'get_tx_key' para guardar la clave privada de transacción. Si usted no guarda esta información, es posible que no podrá coleccionar esta clave después .\n\nUsted necesita compartir esta información con el mediador o árbitro en caso de disputa:\n1.) el ID de transacción, 2.) la clave privada de transacción y 3.) la dirección pública de recepción. El mediador o árbitro podrá verificar la transferencia de Solo usando el explorador de bloques Solo, buscando la transacción y usando la función "Prove sending" (https://explorer.minesolo.com/).\n\nSi no proporciona los datos arriba señalados al mediador o árbitro perderá la disputa. En todos los casos de disputa, el emisor de Solo es 100% responsable de entregar la verificación de envío al mediador o árbitro.\n\nSi no está seguro o no entiendo estos requisitos, no haga intercambio/transacción en Haveno. Primero, pida ayuda visitando el canal oficial de Solo Network en Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Intercambiar CASH2 en Haveno requiere que usted comprenda y cumpla con los siguientes requisitos:\n\nPara enviar CASH2, debe utilizar la cartera Cash2 versión 3 o superior. \n\nDespués de que se envía una transacción, se mostrará el ID de transacción. Debe guardar esta información. Inmediatamente después de enviar la transacción, debe usar el comando 'getTxKey' en simplewallet para recuperar la llave secreta de la transacción. \n\nEn el caso de que sea necesario un arbitraje, debe presentar lo siguiente a un mediador o a un árbitro: 1) ID de transacción, 2) la llave secreta de la transacción y 3) la dirección Cash2 del destinatario. El mediador o el árbitro entonces verificará la transferencia CASH2 usando el Explorador de Bloques Cash2 (https://blocks.cash2.org).\n\nSi no se proporciona la información requerida al mediador o al árbitro, se perderá el caso de disputa. En todos los casos de disputa, el remitente de CASH2 lleva el 100% de la carga de la responsabilidad de verificar las transacciones a un mediador o a un árbitro.\n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Intercambiar CASH2 en Haveno requiere que usted comprenda y cumpla con los siguientes requisitos:\n\nPara enviar CASH2, debe utilizar la cartera Cash2 versión 3 o superior. \n\nDespués de que se envía una transacción, se mostrará el ID de transacción. Debe guardar esta información. Inmediatamente después de enviar la transacción, debe usar el comando 'getTxKey' en simplewallet para recuperar la llave secreta de la transacción. \n\nEn el caso de que sea necesario un arbitraje, debe presentar lo siguiente a un mediador o a un árbitro: 1) ID de transacción, 2) la llave secreta de la transacción y 3) la dirección Cash2 del destinatario. El mediador o el árbitro entonces verificará la transferencia CASH2 usando el Explorador de Bloques Cash2 (https://blocks.cash2.org).\n\nSi no se proporciona la información requerida al mediador o al árbitro, se perderá el caso de disputa. En todos los casos de disputa, el remitente de CASH2 lleva el 100% de la carga de la responsabilidad de verificar las transacciones a un mediador o a un árbitro.\n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Intercambiar Qwertycoin en Haveno requiere que usted comprenda y cumpla los siguientes requisitos:\n\nPara enviar QWC, debe utilizar la cartera oficial QWC versión 5.1.3 o superior. \n\nDespués de que se envía una transacción, se mostrará el ID de transacción. Debe guardar esta información. Inmediatamente después de enviar la transacción, debe usar el comando 'get_Tx_Key' en simplewallet para recuperar la llave secreta de la transacción.\n\nEn el caso de que sea necesario un arbitraje, debe presentar lo siguiente a un mediador o un árbitro: 1) ID de transacción, 2) la llave secreta de la transacción y 3) la dirección QWC del destinatario. El mediador o el árbitro entonces verificará la transferencia QWC usando el Explorador de Bloques QWC (https://explorer.qwertycoin.org).\n\nSi no se proporciona la información requerida al mediador o al árbitro, se perderá el caso de disputa. En todos los casos de disputa, el remitente de QWC lleva el 100% de la carga de la responsabilidad de verificar las transacciones a un mediador o un árbitro.\n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Intercambiar Qwertycoin en Haveno requiere que usted comprenda y cumpla los siguientes requisitos:\n\nPara enviar QWC, debe utilizar la cartera oficial QWC versión 5.1.3 o superior. \n\nDespués de que se envía una transacción, se mostrará el ID de transacción. Debe guardar esta información. Inmediatamente después de enviar la transacción, debe usar el comando 'get_Tx_Key' en simplewallet para recuperar la llave secreta de la transacción.\n\nEn el caso de que sea necesario un arbitraje, debe presentar lo siguiente a un mediador o un árbitro: 1) ID de transacción, 2) la llave secreta de la transacción y 3) la dirección QWC del destinatario. El mediador o el árbitro entonces verificará la transferencia QWC usando el Explorador de Bloques QWC (https://explorer.qwertycoin.org).\n\nSi no se proporciona la información requerida al mediador o al árbitro, se perderá el caso de disputa. En todos los casos de disputa, el remitente de QWC lleva el 100% de la carga de la responsabilidad de verificar las transacciones a un mediador o un árbitro.\n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Intercambiar Dragonglass on Haveno requiere que usted comprenda y cumpla los siguientes requisitos:\n\nDebido a la privacidad que Dragonglass provee, una transacción no es verificable en la blockchain pública. Si es requerido, usted puede probar su pago a través del uso de su TXN-Private-Key.\nLa TXN-clave privada es una one-time clave generada automáticamente para cada transacción que solo puede ser accedida desde dentro de su cartera DRGL.\nO por DRGL-wallet GUI (dentro del diálogo de detalles de transacción) o por la Dragonglass CLI simplewallet (usando el comando "get_tx_key").\n\nDRGL version 'Oathkeeper' y superior son REQUERIDAS para ambos.\n\nEn caso de que sea necesario un arbitraje, debe presentar lo siguiente a un mediador o un árbitro:\n- La TXN-clave privada\n- El hash de transacción\n- La dirección pública del destinatario\n\nLa verificación de pago puede ser hecha usando los datos de arriba en (http://drgl.info/#check_txn).\n\nNo proporcionar los datos anteriores, o si usted usó una cartera incompatible, resultará en la pérdida del caso de disputa. El Dragonglass remitente es responsable de proveer verificación de la transferencia DRGL al mediador o al árbitro en caso de una disputa. El uso de PaymentID no es requerido.\n\nSi usted no está seguro sobre cualquier parte de este proceso, visite Dragonglass en Discord (http://discord.drgl.info) para ayuda. +account.crypto.popup.drgl.msg=Intercambiar Dragonglass on Haveno requiere que usted comprenda y cumpla los siguientes requisitos:\n\nDebido a la privacidad que Dragonglass provee, una transacción no es verificable en la blockchain pública. Si es requerido, usted puede probar su pago a través del uso de su TXN-Private-Key.\nLa TXN-clave privada es una one-time clave generada automáticamente para cada transacción que solo puede ser accedida desde dentro de su cartera DRGL.\nO por DRGL-wallet GUI (dentro del diálogo de detalles de transacción) o por la Dragonglass CLI simplewallet (usando el comando "get_tx_key").\n\nDRGL version 'Oathkeeper' y superior son REQUERIDAS para ambos.\n\nEn caso de que sea necesario un arbitraje, debe presentar lo siguiente a un mediador o un árbitro:\n- La TXN-clave privada\n- El hash de transacción\n- La dirección pública del destinatario\n\nLa verificación de pago puede ser hecha usando los datos de arriba en (http://drgl.info/#check_txn).\n\nNo proporcionar los datos anteriores, o si usted usó una cartera incompatible, resultará en la pérdida del caso de disputa. El Dragonglass remitente es responsable de proveer verificación de la transferencia DRGL al mediador o al árbitro en caso de una disputa. El uso de PaymentID no es requerido.\n\nSi usted no está seguro sobre cualquier parte de este proceso, visite Dragonglass en Discord (http://discord.drgl.info) para ayuda. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Al usar Zcash solo puede usar las direcciones transparentes (que comienzan con t), no las direcciones-z (privadas), porque el mediador o el árbitro no sería capaz de verificar la transacción con direcciones-z. +account.crypto.popup.ZEC.msg=Al usar Zcash solo puede usar las direcciones transparentes (que comienzan con t), no las direcciones-z (privadas), porque el mediador o el árbitro no sería capaz de verificar la transacción con direcciones-z. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Al usar Zcoin puede usar únicamente las direcciones transparentes (trazables) y no las no-trazables, porque el mediador o el árbitro no sería capaz de verificar la transacción con direcciones no trazables en el explorador de bloques. +account.crypto.popup.XZC.msg=Al usar Zcoin puede usar únicamente las direcciones transparentes (trazables) y no las no-trazables, porque el mediador o el árbitro no sería capaz de verificar la transacción con direcciones no trazables en el explorador de bloques. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN requiere un proceso interactivo entre el emisor y el receptor para crear la transacción. Asegúrese de seguir las instrucciones de la web del proyecto GRIN para enviar y recibir GRIN con seguridad (el receptor necesita estar en línea o al menos estar en línea durante un cierto periodo de tiempo).\nHaveno solo soporta el Grinbox (Wallet713) monedero URL formato.\n\nEl emisor GRIN requiere proveer prueba que ha enviado GRIN correctamente. Si el monedero no puede proveer esa prueba, una posible controversia será resuelta a favor del GRIN receptor. Por favor asegúrese que usa el último Grinbox software que soporta la prueba de transacción y que usted entiende el proceso de transferir y recibir GRIN así como la forma de crear la prueba.\n\nVer https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only para más información sobre la herramienta de prueba Grinbox. +account.crypto.popup.grin.msg=GRIN requiere un proceso interactivo entre el emisor y el receptor para crear la transacción. Asegúrese de seguir las instrucciones de la web del proyecto GRIN para enviar y recibir GRIN con seguridad (el receptor necesita estar en línea o al menos estar en línea durante un cierto periodo de tiempo).\nHaveno solo soporta el Grinbox (Wallet713) monedero URL formato.\n\nEl emisor GRIN requiere proveer prueba que ha enviado GRIN correctamente. Si el monedero no puede proveer esa prueba, una posible controversia será resuelta a favor del GRIN receptor. Por favor asegúrese que usa el último Grinbox software que soporta la prueba de transacción y que usted entiende el proceso de transferir y recibir GRIN así como la forma de crear la prueba.\n\nVer https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only para más información sobre la herramienta de prueba Grinbox. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM requiere un proceso interactivo entre el emisor y el receptor para crear la transacción.\n\nAsegúrese de seguir la instrucciones de la página web del proyecto BEAM para enviar y recibir BEAM con seguridad (el receptor necesita estar el línea o por lo menos estar en línea durante cierto periodo de tiempo).\n\nEl emisor BEAM requiere proveer prueba de que envió BEAM correctamente. Asegúrese de usar software de monedero que pueda producir tal prueba. Si el monedero no provee la prueba, una posible controversia será resuelta en favor del BEAM receptor. +account.crypto.popup.beam.msg=BEAM requiere un proceso interactivo entre el emisor y el receptor para crear la transacción.\n\nAsegúrese de seguir la instrucciones de la página web del proyecto BEAM para enviar y recibir BEAM con seguridad (el receptor necesita estar el línea o por lo menos estar en línea durante cierto periodo de tiempo).\n\nEl emisor BEAM requiere proveer prueba de que envió BEAM correctamente. Asegúrese de usar software de monedero que pueda producir tal prueba. Si el monedero no provee la prueba, una posible controversia será resuelta en favor del BEAM receptor. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Intercambiar ParsiCoin en Haveno requiere que usted comprenda y cumpla con los siguientes requisitos:\n\nPara enviar PARS, debe usar la cartera oficial ParsiCoin version 3.0.0 o superior.\n\nPuede comprobar su hash de transacción y la clave de la transacción en la sección de Transacciones en su cartera GUI (ParsiPay). Necesita pulsar el botón derecho en la transacción y pulsar mostrar detalles.\n\nEn el caso de que sea necesario arbitraje, debe presentar lo siguiente al mediador o al árbitro: 1) El hash de transacción, 2) La llave de la transacción, y 3) La dirección del receptor PARS. El árbitro entonces verificará la transferencia PARS usando el ParsiCoin Explorador de Bloques (http://explorer.parsicoin.net/#check_payment).\n\nSi no se proporciona la información requerida al mediador o al árbitro, se perderá el caso de disputa. En todos los casos de disputa, el remitente de ParsiCoin lleva 100% de la carga de la responsabilidad de verificar las transacciones a un mediador o un árbitro\n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Intercambiar ParsiCoin en Haveno requiere que usted comprenda y cumpla con los siguientes requisitos:\n\nPara enviar PARS, debe usar la cartera oficial ParsiCoin version 3.0.0 o superior.\n\nPuede comprobar su hash de transacción y la clave de la transacción en la sección de Transacciones en su cartera GUI (ParsiPay). Necesita pulsar el botón derecho en la transacción y pulsar mostrar detalles.\n\nEn el caso de que sea necesario arbitraje, debe presentar lo siguiente al mediador o al árbitro: 1) El hash de transacción, 2) La llave de la transacción, y 3) La dirección del receptor PARS. El árbitro entonces verificará la transferencia PARS usando el ParsiCoin Explorador de Bloques (http://explorer.parsicoin.net/#check_payment).\n\nSi no se proporciona la información requerida al mediador o al árbitro, se perderá el caso de disputa. En todos los casos de disputa, el remitente de ParsiCoin lleva 100% de la carga de la responsabilidad de verificar las transacciones a un mediador o un árbitro\n\nSi no comprende estos requisitos, no realice transacciones en Haveno. Primero, busque ayuda en ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=Para intercambiar blackcoins quemados. usted necesita saber lo siguiente:\n\nBlackcoins quemados son indestructibles. Para intercambiarlos en Haveno, los guiones de output tienen que estar en la forma: OP_RETURN OP_PUSHDATA, seguidos por bytes de datos asociados que, después de codificarlos en hexadecimal, construyen direcciones. Por ejemplo, blackcoins quemados con una dirección 666f6f ("foo" en UTF-8) tendrán el siguiente guion:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nPara crear blackcoins quemados, uno puede usar el comando RPC "quemar" disponible en algunas carteras.\n\nPara posibles casos de uso, uno puede mirar en https://ibo.laboratorium.ee .\n\nComo los blackcoins quemados son undestructibles, no pueden ser revendidos. "Vender" blackcoins quemados significa quemar blackcoins comunes (con datos asociados igual a la dirección de destino).\n\nEn caso de una disputa, el vendedor BLK necesita proveer el hash de transacción. +account.crypto.popup.blk-burnt.msg=Para intercambiar blackcoins quemados. usted necesita saber lo siguiente:\n\nBlackcoins quemados son indestructibles. Para intercambiarlos en Haveno, los guiones de output tienen que estar en la forma: OP_RETURN OP_PUSHDATA, seguidos por bytes de datos asociados que, después de codificarlos en hexadecimal, construyen direcciones. Por ejemplo, blackcoins quemados con una dirección 666f6f ("foo" en UTF-8) tendrán el siguiente guion:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nPara crear blackcoins quemados, uno puede usar el comando RPC "quemar" disponible en algunas carteras.\n\nPara posibles casos de uso, uno puede mirar en https://ibo.laboratorium.ee .\n\nComo los blackcoins quemados son undestructibles, no pueden ser revendidos. "Vender" blackcoins quemados significa quemar blackcoins comunes (con datos asociados igual a la dirección de destino).\n\nEn caso de una disputa, el vendedor BLK necesita proveer el hash de transacción. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Comerciar L-BTC en Haveno requiere que entienda lo siguiente:\n\nAl recibir L-BTC de un intercambio en Haveno, no puede usar la app de monedero móvil Blockstream Green Wallet o un exchange/monedero que custodie sus fondos. Solo debe recibir L-BTC en el monedero Liquid Elements Core, u otro monedero L-BTC que le permita obtener la clave cegadora para su dirección L-BTC cegada.\n\nEn caso de ser necesaria mediación, o si se lleva a cabo una disputa, debe entregar la clave cegadora para su dirección receptora de L-BTC al mediador o agente de devolución de fondos Haveno para que verifique los detalles de su Transacción Confidencial en su nodo completo Elements Core.\n\nSi no entrega la información requerida al mediador o al agente de devolución de fondos se resolverá en una pérdida del caso en disputa. En todos los casos de disputa, el receptor de L-BTC es responsable del 100% de la carga de aportar la prueba criptográfica al mediador o agente de devolución de fondos.\n\nSi no entiende estos requerimientos, no intercambio L-BTC en Haveno. +account.crypto.popup.liquidbitcoin.msg=Comerciar L-BTC en Haveno requiere que entienda lo siguiente:\n\nAl recibir L-BTC de un intercambio en Haveno, no puede usar la app de monedero móvil Blockstream Green Wallet o un exchange/monedero que custodie sus fondos. Solo debe recibir L-BTC en el monedero Liquid Elements Core, u otro monedero L-BTC que le permita obtener la clave cegadora para su dirección L-BTC cegada.\n\nEn caso de ser necesaria mediación, o si se lleva a cabo una disputa, debe entregar la clave cegadora para su dirección receptora de L-BTC al mediador o agente de devolución de fondos Haveno para que verifique los detalles de su Transacción Confidencial en su nodo completo Elements Core.\n\nSi no entrega la información requerida al mediador o al agente de devolución de fondos se resolverá en una pérdida del caso en disputa. En todos los casos de disputa, el receptor de L-BTC es responsable del 100% de la carga de aportar la prueba criptográfica al mediador o agente de devolución de fondos.\n\nSi no entiende estos requerimientos, no intercambio L-BTC en Haveno. -account.fiat.yourFiatAccounts=Sus cuentas de moneda nacional: +account.traditional.yourTraditionalAccounts=Sus cuentas de moneda nacional: account.backup.title=Copia de seguridad del monedero account.backup.location=Ubicación de la copia de seguridad @@ -1580,7 +1580,7 @@ popup.warning.startupFailed.twoInstances=Ya está ejecutando Haveno. No puede ej popup.warning.tradePeriod.halfReached=Su intercambio con ID {0} ha alcanzado la mitad de el periodo máximo permitido de intercambio y aún no está completada.\n\nEl periodo de intercambio termina el {1}\n\nPor favor, compruebe el estado de su intercambio en \"Portafolio/Intercambios abiertos\" para más información. popup.warning.tradePeriod.ended=Su intercambio con ID {0} ha alcanzado el periodo máximo de intercambio y no se ha completado.\n\nEl periodo de intercambio finalizó en {1}\n\nPor favor, compruebe su intrecambio en \"Portafolio/Intercambios abiertos\" para contactar con el mediador. popup.warning.noTradingAccountSetup.headline=No ha configurado una cuenta de intercambio -popup.warning.noTradingAccountSetup.msg=Necesita configurar una moneda nacional o cuenta de altcoin antes de crear una oferta.\n¿Quiere configurar una cuenta? +popup.warning.noTradingAccountSetup.msg=Necesita configurar una moneda nacional o cuenta de crypto antes de crear una oferta.\n¿Quiere configurar una cuenta? popup.warning.noArbitratorsAvailable=No hay árbitros disponibles. popup.warning.noMediatorsAvailable=No hay mediadores disponibles. popup.warning.notFullyConnected=Necesita esperar hasta que esté completamente conectado a la red.\nPuede llevar hasta 2 minutos al inicio. @@ -1803,8 +1803,8 @@ formatter.makerTaker=Creador como {0} {1} / Tomador como {2} {3} formatter.youAreAsMaker=Usted es: {1} {0} (creador) / El tomador es: {3} {2} formatter.youAreAsTaker=Usted es: {1} {0} (tomador) / Creador es: {3} {2} formatter.youAre=Usted es {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Está creando una oferta a {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Está creando una oferta a {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=Está creando una oferta a {0} {1} +formatter.youAreCreatingAnOffer.crypto=Está creando una oferta a {0} {1} ({2} {3}) formatter.asMaker={0} {1} como creador formatter.asTaker={0} {1} como tomador @@ -1896,11 +1896,11 @@ payment.email=Email payment.country=País payment.extras=Requerimientos extra payment.email.mobile=Email o número de móvil -payment.altcoin.address=Dirección altcoin -payment.altcoin.tradeInstantCheckbox=Intercambio instantáneo (en una hora) con esta altcoin -payment.altcoin.tradeInstant.popup=Para intercambios instantáneos se requiere que ambos pares estén en linea para poder completar el intercambio en menos de 1 hora.\n\nSi tiene ofertas abiertas y no está disponible, por favor deshabilite esas ofertas en la pantalla 'Portafolio'. -payment.altcoin=Altcoin -payment.select.altcoin=Seleccionar o buscar altcoin +payment.crypto.address=Dirección crypto +payment.crypto.tradeInstantCheckbox=Intercambio instantáneo (en una hora) con esta crypto +payment.crypto.tradeInstant.popup=Para intercambios instantáneos se requiere que ambos pares estén en linea para poder completar el intercambio en menos de 1 hora.\n\nSi tiene ofertas abiertas y no está disponible, por favor deshabilite esas ofertas en la pantalla 'Portafolio'. +payment.crypto=Crypto +payment.select.crypto=Seleccionar o buscar crypto payment.secret=Pregunta secreta payment.answer=Respuesta payment.wallet=ID de cartera: @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=Número CBU shared.accountSigningState=Status de firmado de cuentas #new -payment.altcoin.address.dyn=Dirección {0}: -payment.altcoin.receiver.address=Dirección altcoin del receptor +payment.crypto.address.dyn=Dirección {0}: +payment.crypto.receiver.address=Dirección crypto del receptor payment.accountNr=Número de cuenta payment.emailOrMobile=Email o número de móvil payment.useCustomAccountName=Utilizar nombre de cuenta personalizado @@ -2070,7 +2070,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoins +BLOCK_CHAINS=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2080,7 +2080,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Tarjeta Amazon eGift # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins instant +BLOCK_CHAINS_INSTANT=Cryptos instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2122,7 +2122,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoins +BLOCK_CHAINS_SHORT=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2132,7 +2132,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Tarjeta Amazon eGift # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2152,8 +2152,8 @@ validation.NaN=El valor introducido no es válido validation.notAnInteger=El valor introducido no es entero validation.zero=El 0 no es un valor permitido. validation.negative=No se permiten entradas negativas. -validation.fiat.tooSmall=No se permite introducir un valor menor que el mínimo posible -validation.fiat.tooLarge=No se permiten entradas más grandes que la mayor posible. +validation.traditional.tooSmall=No se permite introducir un valor menor que el mínimo posible +validation.traditional.tooLarge=No se permiten entradas más grandes que la mayor posible. validation.xmr.fraction=El valor introducido resulta en un valor de bitcoin menor a 1 satoshi validation.xmr.tooLarge=No se permiten valores mayores que {0}. validation.xmr.tooSmall=Valores menores que {0} no se permiten. @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} debe consistir de {1} número(s). validation.invalidInput=Entrada inválida: {0} validation.accountNrFormat=El número de cuenta debe ser del formato: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=La validación de dirección falló porque no se corresponde con la estructura de una dirección {0}. +validation.crypto.wrongStructure=La validación de dirección falló porque no se corresponde con la estructura de una dirección {0}. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=Las drecciones LTZ deben empezar con L. Las direcciones que empiecen por z no están soportadas. +validation.crypto.ltz.zAddressesNotSupported=Las drecciones LTZ deben empezar con L. Las direcciones que empiecen por z no están soportadas. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=Las direcciones ZEC deben empezar con t. Las direcciones empezando con z no están soportadas. +validation.crypto.zAddressesNotSupported=Las direcciones ZEC deben empezar con t. Las direcciones empezando con z no están soportadas. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=La dirección no es una dirección {0} válida! {1} +validation.crypto.invalidAddress=La dirección no es una dirección {0} válida! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Direcciones de segwit nativas (las que empiezan con 'lq') no son compatibles. +validation.crypto.liquidBitcoin.invalidAddress=Direcciones de segwit nativas (las que empiezan con 'lq') no son compatibles. validation.bic.invalidLength=La longitud del valor introducido debe ser 8 u 11. validation.bic.letters=El código de banco y país deben ser letras validation.bic.invalidLocationCode=BIC contiene un código de localización inválido diff --git a/core/src/main/resources/i18n/displayStrings_fa.properties b/core/src/main/resources/i18n/displayStrings_fa.properties index 51958a64..04f0d147 100644 --- a/core/src/main/resources/i18n/displayStrings_fa.properties +++ b/core/src/main/resources/i18n/displayStrings_fa.properties @@ -190,7 +190,7 @@ shared.makerTxFee=سفارش گذار: {0} shared.takerTxFee=پذیرنده سفارش: {0} shared.iConfirm=تایید می‌کنم shared.openURL=باز {0} -shared.fiat=فیات +shared.traditional=فیات shared.crypto=کریپتو shared.all=همه shared.edit=ویرایش @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=معاملات # OfferBookChartView -market.offerBook.buyAltcoin=خرید {0} (فروش {1}) -market.offerBook.sellAltcoin=فروش {1} (خرید {0}) -market.offerBook.buyWithFiat=خرید {0} -market.offerBook.sellWithFiat=فروش {0} +market.offerBook.buyCrypto=خرید {0} (فروش {1}) +market.offerBook.sellCrypto=فروش {1} (خرید {0}) +market.offerBook.buyWithTraditional=خرید {0} +market.offerBook.sellWithTraditional=فروش {0} market.offerBook.sellOffersHeaderLabel=فروش {0} به market.offerBook.buyOffersHeaderLabel=خرید {0} از market.offerBook.buy=می‌خواهم بیتکوین بخرم. @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=بدون پاسخ shared.notSigned=This account has not been signed yet and was created {0} days ago shared.notSigned.noNeed=This account type does not require signing shared.notSigned.noNeedDays=This account type does not require signing and was created {0} days ago -shared.notSigned.noNeedAlts=Altcoin accounts do not feature signing or aging +shared.notSigned.noNeedAlts=Crypto accounts do not feature signing or aging offerbook.nrOffers=تعداد پیشنهادها: {0} offerbook.volume={0} (حداقل - حداکثر) @@ -361,8 +361,8 @@ offerbook.deposit.help=Deposit paid by each trader to guarantee the trade. Will offerbook.createOfferToBuy=پیشنهاد جدید برای خرید {0} ایجاد کن offerbook.createOfferToSell=پیشنهاد جدید برای فروش {0} ایجاد کن -offerbook.createOfferToBuy.withFiat=پیشنهاد جدید برای خرید {0} با {1} ایجاد کن -offerbook.createOfferToSell.forFiat=پیشنهاد جدید برای فروش {0} به ازای {1} ایجاد کن +offerbook.createOfferToBuy.withTraditional=پیشنهاد جدید برای خرید {0} با {1} ایجاد کن +offerbook.createOfferToSell.forTraditional=پیشنهاد جدید برای فروش {0} به ازای {1} ایجاد کن offerbook.createOfferToBuy.withCrypto=پیشنهاد جدید برای فروش {0} (خرید {1}) offerbook.createOfferToSell.forCrypto=پیشنهاد جدید برای خرید {0} (فروش {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=ویرایش پیشنهاد portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=برای تأییدیه بلاک چین منتظر باشید portfolio.pending.step2_buyer.startPayment=آغاز پرداخت @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=لطفاً از کیف پول {0} خارجی شما انتقال دهید.\n{1} به فروشنده بیتکوین\n\n +portfolio.pending.step2_buyer.crypto=لطفاً از کیف پول {0} خارجی شما انتقال دهید.\n{1} به فروشنده بیتکوین\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=لطفاً به یک بانک بروید و {0} را به فروشنده ی بیتکوین پرداخت نمایید.\n\n portfolio.pending.step2_buyer.cash.extra=مورد الزامی مهم:\nبعد از اینکه پرداخت را انجام دادید، روی کاغذ رسید بنویسید: بدون استرداد.\nسپس آن را به 2 قسمت پاره کنید، از آن ها عکس بگیرید و به آدرس ایمیل فروشنده‌ی بیتکوین ارسال نمایید. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed portfolio.pending.step3_buyer.openForDispute=The BTC seller has not confirmed your payment! The max. period for the trade has elapsed. You can wait longer and give the trading peer more time or request assistance from the mediator. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=شریک معاملاتی شما تأیید کرده که پرداخت {0} را آغاز نموده است.\n\n -portfolio.pending.step3_seller.altcoin.explorer=در کاوشگر بلاکچین محبوبتان {0} -portfolio.pending.step3_seller.altcoin.wallet=در کیف‌پول {0} شما -portfolio.pending.step3_seller.altcoin={0} لطفا بررسی کنید {1} که آیا تراکنش مربوط به آدرس شما\n{2}\n تعداد تاییدیه‌های کافی بر روی بلاکچین دریافت کرده است یا خیر.\nمبلغ پرداخت باید {3} باشد\nشما می‌توانید آدرس {4} خود را پس از بستن پنجره از صفحه اصلی کپی کنید. +portfolio.pending.step3_seller.crypto.explorer=در کاوشگر بلاکچین محبوبتان {0} +portfolio.pending.step3_seller.crypto.wallet=در کیف‌پول {0} شما +portfolio.pending.step3_seller.crypto={0} لطفا بررسی کنید {1} که آیا تراکنش مربوط به آدرس شما\n{2}\n تعداد تاییدیه‌های کافی بر روی بلاکچین دریافت کرده است یا خیر.\nمبلغ پرداخت باید {3} باشد\nشما می‌توانید آدرس {4} خود را پس از بستن پنجره از صفحه اصلی کپی کنید. portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=تأیید رسید پرداخت portfolio.pending.step3_seller.buyerStartedPayment=خریدار بیتکوین پرداخت {0} را آغاز کرده است.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=تأییدیه‌های بلاکچین را در کیف پول آلتکوین خود یا بلاکچین اکسپلورر بررسی کنید و هنگامی که تأییدیه های بلاکچین کافی دارید، پرداخت را تأیید کنید. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=حساب معاملاتی خود را بررسی کنید (برای مثال بانک) و وقتی وجه را دریافت کردید، تأیید نمایید. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=تأییدیه‌های بلاکچین را در کیف پول آلتکوین خود یا بلاکچین اکسپلورر بررسی کنید و هنگامی که تأییدیه های بلاکچین کافی دارید، پرداخت را تأیید کنید. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=حساب معاملاتی خود را بررسی کنید (برای مثال بانک) و وقتی وجه را دریافت کردید، تأیید نمایید. portfolio.pending.step3_seller.warn.part1a=در بلاکچین {0} portfolio.pending.step3_seller.warn.part1b=در ارائه دهنده‌ی پرداخت شما (برای مثال بانک) portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment. Please check {0} if you have received the payment. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=You've already accepted portfolio.pending.failedTrade.taker.missingTakerFeeTx=The taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked and no trade fee has been paid. You can move this trade to failed trades. portfolio.pending.failedTrade.maker.missingTakerFeeTx=The peer's taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked. Your offer is still available to other traders, so you have not lost the maker fee. You can move this trade to failed trades. portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of-2 multisig transaction) is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked but your trade fee has been paid. You can make a request to be reimbursed the trade fee here: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nFeel free to move this trade to failed trades. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the fiat or altcoin payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the traditional or crypto payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing but funds have been locked in the deposit transaction.\n\nIf the buyer is also missing the delayed payout transaction, they will be instructed to NOT send the payment and open a mediation ticket instead. You should also open a mediation ticket with Cmd/Ctrl+o. \n\nIf the buyer has not sent payment yet, the mediator should suggest that both peers each get back the full amount of their security deposits (with seller receiving full trade amount back as well). Otherwise the trade amount should go to the buyer. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=There was an error during trade protocol execution.\n\nError: {0}\n\nIt might be that this error is not critical, and the trade can be completed normally. If you are unsure, open a mediation ticket to get advice from Haveno mediators. \n\nIf the error was critical and the trade cannot be completed, you might have lost your trade fee. Request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=The trade contract is not set.\n\nThe trade cannot be completed and you might have lost your trade fee. If so, you can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -954,7 +954,7 @@ support.buyerTaker=خریدار/پذیرنده‌ی بیتکوین support.sellerTaker=فروشنده/پذیرنده‌ی بیتکوین support.backgroundInfo=Haveno is not a company, so it handles disputes differently.\n\nTraders can communicate within the application via secure chat on the open trades screen to try solving disputes on their own. If that is not sufficient, a mediator can step in to help. The mediator will evaluate the situation and suggest a payout of trade funds. If both traders accept this suggestion, the payout transaction is completed and the trade is closed. If one or both traders do not agree to the mediator's suggested payout, they can request arbitration.The arbitrator will re-evaluate the situation and, if warranted, personally pay the trader back and request reimbursement for this payment from the Haveno DAO. -support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Altcoin transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Altcoin payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} +support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Crypto transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Crypto payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} support.systemMsg=پیغام سیستم: {0} support.youOpenedTicket=شما یک درخواست برای پشتیبانی باز کردید.\n\n{0}\n\nنسخه Haveno شما: {1} support.youOpenedDispute=شما یک درخواست برای یک اختلاف باز کردید.\n\n{0}\n\nنسخه Haveno شما: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=ارز مطلوب setting.preferences.displayFiat=نمایش ارزهای ملی setting.preferences.noFiat=هیچ ارز ملی انتخاب نشده است setting.preferences.cannotRemovePrefCurrency=شما نمی‌توانید ارز مطلوب انتخاب شده‌ی خود را حذف کنید -setting.preferences.displayAltcoins=نمایش آلت‌کوین‌ها -setting.preferences.noAltcoins=هیچ آلتکوینی انتخاب نشده است +setting.preferences.displayCryptos=نمایش آلت‌کوین‌ها +setting.preferences.noCryptos=هیچ آلتکوینی انتخاب نشده است setting.preferences.addFiat=افزودن ارز ملی -setting.preferences.addAltcoin=افزودن آلتکوین +setting.preferences.addCrypto=افزودن آلتکوین setting.preferences.displayOptions=نمایش گزینه‌ها setting.preferences.showOwnOffers=نمایش پیشنهادهای من در دفتر پیشنهاد setting.preferences.useAnimations=استفاده از انیمیشن‌ها @@ -1081,8 +1081,8 @@ setting.about.support=پشتیبانی از Haveno setting.about.def=Haveno یک شرکت نیست — یک پروژه اجتماعی است و برای مشارکت آزاد است. اگر می‌خواهید در آن مشارکت کنید یا از آن حمایت نمایید، لینک‌‌های زیر را دنبال کنید. setting.about.contribute=مشارکت setting.about.providers=ارائه دهندگان داده -setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices, and Haveno Mempool Nodes for mining fee estimation. -setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices. +setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Crypto market prices, and Haveno Mempool Nodes for mining fee estimation. +setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Crypto market prices. setting.about.pricesProvided=قیمت‌های بازار ارائه شده توسط setting.about.feeEstimation.label=برآورد کارمزد استخراج ارائه شده توسط setting.about.versionDetails=جزئیات نسخه @@ -1145,7 +1145,7 @@ account.tab.mediatorRegistration=Mediator registration account.tab.refundAgentRegistration=Refund agent registration account.tab.signing=Signing account.info.headline=به حساب Haveno خود خوش آمدید -account.info.msg=Here you can add trading accounts for national currencies & altcoins and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). +account.info.msg=Here you can add trading accounts for national currencies & cryptos and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, crypto & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). account.menu.paymentAccount=حساب های ارز ملی account.menu.altCoinsAccountView=حساب های آلت کوین @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=Could not remove registration.{0} account.arbitratorRegistration.registerSuccess=You have successfully registered to the Haveno network. account.arbitratorRegistration.registerFailed=Could not complete registration.{0} -account.altcoin.yourAltcoinAccounts=حساب‌های آلت‌کوین شما -account.altcoin.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. -account.altcoin.popup.wallet.confirm=من می فهمم و تأیید می کنم که می دانم از کدام کیف پول باید استفاده کنم. +account.crypto.yourCryptoAccounts=حساب‌های آلت‌کوین شما +account.crypto.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. +account.crypto.popup.wallet.confirm=من می فهمم و تأیید می کنم که می دانم از کدام کیف پول باید استفاده کنم. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. +account.crypto.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. +account.crypto.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. +account.crypto.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. +account.crypto.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN requires an interactive process between the sender and receiver to create the transaction. Be sure to follow the instructions from the GRIN project web page to reliably send and receive GRIN (the receiver needs to be online or at least be online during a certain time frame). \n\nHaveno supports only the Grinbox (Wallet713) wallet URL format. \n\nThe GRIN sender is required to provide proof that they have sent GRIN successfully. If the wallet cannot provide that proof, a potential dispute will be resolved in favor of the GRIN receiver. Please be sure that you use the latest Grinbox software which supports the transaction proof and that you understand the process of transferring and receiving GRIN as well as how to create the proof. \n\nSee https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only for more information about the Grinbox proof tool. +account.crypto.popup.grin.msg=GRIN requires an interactive process between the sender and receiver to create the transaction. Be sure to follow the instructions from the GRIN project web page to reliably send and receive GRIN (the receiver needs to be online or at least be online during a certain time frame). \n\nHaveno supports only the Grinbox (Wallet713) wallet URL format. \n\nThe GRIN sender is required to provide proof that they have sent GRIN successfully. If the wallet cannot provide that proof, a potential dispute will be resolved in favor of the GRIN receiver. Please be sure that you use the latest Grinbox software which supports the transaction proof and that you understand the process of transferring and receiving GRIN as well as how to create the proof. \n\nSee https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only for more information about the Grinbox proof tool. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM requires an interactive process between the sender and receiver to create the transaction. \n\nBe sure to follow the instructions from the BEAM project web page to reliably send and receive BEAM (the receiver needs to be online or at least be online during a certain time frame). \n\nThe BEAM sender is required to provide proof that they sent BEAM successfully. Be sure to use wallet software which can produce such a proof. If the wallet cannot provide the proof a potential dispute will be resolved in favor of the BEAM receiver. +account.crypto.popup.beam.msg=BEAM requires an interactive process between the sender and receiver to create the transaction. \n\nBe sure to follow the instructions from the BEAM project web page to reliably send and receive BEAM (the receiver needs to be online or at least be online during a certain time frame). \n\nThe BEAM sender is required to provide proof that they sent BEAM successfully. Be sure to use wallet software which can produce such a proof. If the wallet cannot provide the proof a potential dispute will be resolved in favor of the BEAM receiver. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. +account.crypto.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. -account.fiat.yourFiatAccounts=حساب‌های ارزهای ملی شما +account.traditional.yourTraditionalAccounts=حساب‌های ارزهای ملی شما account.backup.title=کیف پول پشتیبان account.backup.location=محل پشتیبان‌گیری @@ -1803,8 +1803,8 @@ formatter.makerTaker=سفارش گذار به عنوان {0} {1} / پذیرند formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=شما {0} {1} ({2} {3}) هستید -formatter.youAreCreatingAnOffer.fiat=شما در حال ایجاد یک پیشنهاد به {0} {1} هستید -formatter.youAreCreatingAnOffer.altcoin=شما در حال ایجاد یک پیشنهاد به {0} {1} ({2} {3}) هستید +formatter.youAreCreatingAnOffer.traditional=شما در حال ایجاد یک پیشنهاد به {0} {1} هستید +formatter.youAreCreatingAnOffer.crypto=شما در حال ایجاد یک پیشنهاد به {0} {1} ({2} {3}) هستید formatter.asMaker={0} {1} به عنوان سفارش گذار formatter.asTaker={0} {1} به عنوان پذیرنده @@ -1896,11 +1896,11 @@ payment.email=ایمیل payment.country=کشور payment.extras=الزامات اضافی payment.email.mobile=ایمیل یا شماره موبایل -payment.altcoin.address=آدرس آلت‌کوین -payment.altcoin.tradeInstantCheckbox=Trade instant (within 1 hour) with this Altcoin -payment.altcoin.tradeInstant.popup=For instant trading it is required that both trading peers are online to be able to complete the trade in less than 1 hour.\n\nIf you have offers open and you are not available please disable those offers under the 'Portfolio' screen. -payment.altcoin=آلت‌کوین -payment.select.altcoin=Select or search Altcoin +payment.crypto.address=آدرس آلت‌کوین +payment.crypto.tradeInstantCheckbox=Trade instant (within 1 hour) with this Crypto +payment.crypto.tradeInstant.popup=For instant trading it is required that both trading peers are online to be able to complete the trade in less than 1 hour.\n\nIf you have offers open and you are not available please disable those offers under the 'Portfolio' screen. +payment.crypto=آلت‌کوین +payment.select.crypto=Select or search Crypto payment.secret=سوال محرمانه payment.answer=پاسخ payment.wallet=شناسه کیف پول @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=شماره CBU shared.accountSigningState=Account signing status #new -payment.altcoin.address.dyn=آدرس {0} -payment.altcoin.receiver.address=آدرس آلت‌کوین گیرنده +payment.crypto.address.dyn=آدرس {0} +payment.crypto.receiver.address=آدرس آلت‌کوین گیرنده payment.accountNr=شماره حساب payment.emailOrMobile=ایمیل یا شماره موبایل payment.useCustomAccountName=استفاده از نام حساب سفارشی @@ -1973,7 +1973,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=Trading using US Postal Money Orders (USPMO) on Haveno requires that you understand the following:\n\n- BTC buyers must write the BTC Seller’s name in both the Payer and the Payee’s fields & take a high-resolution photo of the USPMO and envelope with proof of tracking before sending.\n- BTC buyers must send the USPMO to the BTC seller with Delivery Confirmation.\n\nIn the event mediation is necessary, or if there is a trade dispute, you will be required to send the photos to the Haveno mediator or refund agent, together with the USPMO Serial Number, Post Office Number, and dollar amount, so they can verify the details on the US Post Office website.\n\nFailure to provide the required information to the Mediator or Arbitrator will result in losing the dispute case.\n\nIn all dispute cases, the USPMO sender bears 100% of the burden of responsibility in providing evidence/proof to the Mediator or Arbitrator.\n\nIf you do not understand these requirements, do not trade using USPMO on Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=اطلاعات تماس payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2080,7 +2080,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins Instant +BLOCK_CHAINS_INSTANT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2132,7 +2132,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins Instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2152,8 +2152,8 @@ validation.NaN=ورودی، یک عدد معتبر نیست. validation.notAnInteger=ورودی یک مقدار صحیح نیست. validation.zero=ورودی 0 مجاز نیست. validation.negative=یک مقدار منفی مجاز نیست. -validation.fiat.tooSmall=ورودی کوچکتر از حداقل مقدار ممکن مجاز نیست. -validation.fiat.tooLarge=ورودی بزرگتر از حداکثر مقدار ممکن مجاز نیست. +validation.traditional.tooSmall=ورودی کوچکتر از حداقل مقدار ممکن مجاز نیست. +validation.traditional.tooLarge=ورودی بزرگتر از حداکثر مقدار ممکن مجاز نیست. validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=ورودی بزرگتر از {0} مجاز نیست. validation.xmr.tooSmall=ورودی کوچکتر از {0} مجاز نیست. @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} باید شامل {1} عدد باشد. validation.invalidInput=ورودی نامعتبر: {0} validation.accountNrFormat=شماره حساب باید از فرمت {0} باشد # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=تأیید آدرس ناموفق بود زیرا آن با ساختار یک آدرس {0} مطابقت ندارد. +validation.crypto.wrongStructure=تأیید آدرس ناموفق بود زیرا آن با ساختار یک آدرس {0} مطابقت ندارد. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=آدرس یک آدرس {0} معتبر نیست! {1} +validation.crypto.invalidAddress=آدرس یک آدرس {0} معتبر نیست! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. +validation.crypto.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=کد بانک و کد کشور باید حروف باشند validation.bic.invalidLocationCode=BIC حاوی کد مکان نامعتبر است diff --git a/core/src/main/resources/i18n/displayStrings_fr.properties b/core/src/main/resources/i18n/displayStrings_fr.properties index 2774d7d9..be01eff4 100644 --- a/core/src/main/resources/i18n/displayStrings_fr.properties +++ b/core/src/main/resources/i18n/displayStrings_fr.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Maker: {0} shared.takerTxFee=Taker: {0} shared.iConfirm=Je confirme shared.openURL=Ouvert {0} -shared.fiat=Fiat +shared.traditional=Traditional shared.crypto=Crypto shared.all=Tout shared.edit=Modifier @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offres par mode de paiement market.tabs.trades=Échanges # OfferBookChartView -market.offerBook.buyAltcoin=Achat {0} (vente {1}) -market.offerBook.sellAltcoin=Vente {0} (achat {1}) -market.offerBook.buyWithFiat=Achat {0} -market.offerBook.sellWithFiat=Vente {0} +market.offerBook.buyCrypto=Achat {0} (vente {1}) +market.offerBook.sellCrypto=Vente {0} (achat {1}) +market.offerBook.buyWithTraditional=Achat {0} +market.offerBook.sellWithTraditional=Vente {0} market.offerBook.sellOffersHeaderLabel=Vendre des {0} à market.offerBook.buyOffersHeaderLabel=Acheter des {0} à market.offerBook.buy=Je veux acheter des Bitcoins @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=N/A shared.notSigned=Ce compte n'a pas encore été signé et a été créée il y'a {0} jours shared.notSigned.noNeed=Ce type de compte ne nécessite pas de signature shared.notSigned.noNeedDays=Ce type de compte ne nécessite pas de signature et a été créée il y'a {0} jours -shared.notSigned.noNeedAlts=Les comptes pour altcoin ne supportent pas la signature ou le vieillissement +shared.notSigned.noNeedAlts=Les comptes pour crypto ne supportent pas la signature ou le vieillissement offerbook.nrOffers=Nombre d''ordres: {0} offerbook.volume={0} (min - max) @@ -361,8 +361,8 @@ offerbook.deposit.help=Les deux parties à la transaction ont payé un dépôt p offerbook.createOfferToBuy=Créer un nouvel ordre d''achat pour {0} offerbook.createOfferToSell=Créer un nouvel ordre de vente pour {0} -offerbook.createOfferToBuy.withFiat=Créer un nouvel ordre d''achat pour {0} avec {1} -offerbook.createOfferToSell.forFiat=Créer un nouvel ordre de vente pour {0} for {1} +offerbook.createOfferToBuy.withTraditional=Créer un nouvel ordre d''achat pour {0} avec {1} +offerbook.createOfferToSell.forTraditional=Créer un nouvel ordre de vente pour {0} for {1} offerbook.createOfferToBuy.withCrypto=Créer un nouvel ordre de vente pour {0} (achat{1}) offerbook.createOfferToSell.forCrypto=Créer un nouvel ordre d''achat pour {0} (vente{1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Éditer l'ordre portfolio.closedTrades.deviation.help=Pourcentage de déviation du prix par rapport au marché -portfolio.pending.invalidTx=Il y'a un problème avec une transaction manquante ou invalide.\n\nVeuillez NE PAS envoyer le payement Fiat ou altcoin.\n\nOuvrez un ticket de support pour avoir l'aide d'un médiateur.\n\nMessage d'erreur: {0} +portfolio.pending.invalidTx=Il y'a un problème avec une transaction manquante ou invalide.\n\nVeuillez NE PAS envoyer le payement Traditional ou crypto.\n\nOuvrez un ticket de support pour avoir l'aide d'un médiateur.\n\nMessage d'erreur: {0} portfolio.pending.step1.waitForConf=Attendre la confirmation de la blockchain portfolio.pending.step2_buyer.startPayment=Initier le paiement @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: Quand vous effectuez le pai # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=Si votre banque vous facture des frais pour effectuer le transfert, vous êtes responsable de payer ces frais. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Veuillez transférer à partir de votre portefeuille externe {0}.\n{1} au vendeur de BTC.\n\n\n +portfolio.pending.step2_buyer.crypto=Veuillez transférer à partir de votre portefeuille externe {0}.\n{1} au vendeur de BTC.\n\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Veuillez vous rendre dans une banque et payer {0} au vendeur de BTC.\n portfolio.pending.step2_buyer.cash.extra=CONDITIONS REQUISES: \nAprès avoir effectué le paiement veuillez écrire sur le reçu papier : PAS DE REMBOURSEMENT.\nPuis déchirer le en 2, prenez en une photo et envoyer le à l'adresse email du vendeur de BTC. @@ -675,9 +675,9 @@ portfolio.pending.step3_buyer.warn.part2=Le vendeur de BTC n''a toujours pas con portfolio.pending.step3_buyer.openForDispute=Le vendeur de BTC n'a pas confirmé votre paiement ! Le délai maximal alloué pour ce trade est écoulé. Vous pouvez attendre plus longtemps et accorder plus de temps à votre pair de trading ou contacter le médiateur pour obtenir de l'aide. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Votre partenaire de trading a confirmé qu''il a initié le paiement {0}.\n -portfolio.pending.step3_seller.altcoin.explorer=Sur votre explorateur blockchain {0} favori -portfolio.pending.step3_seller.altcoin.wallet=Dans votre portefeuille {0} -portfolio.pending.step3_seller.altcoin={0}Veuillez s''il vous plaît vérifier {1} que la transaction vers votre adresse de réception\n{2}\ndispose de suffisamment de confirmations sur la blockchain.\nLe montant du paiement doit être {3}\n\nVous pouvez copier & coller votre adresse {4} à partir de l''écran principal après avoir fermé ce popup. +portfolio.pending.step3_seller.crypto.explorer=Sur votre explorateur blockchain {0} favori +portfolio.pending.step3_seller.crypto.wallet=Dans votre portefeuille {0} +portfolio.pending.step3_seller.crypto={0}Veuillez s''il vous plaît vérifier {1} que la transaction vers votre adresse de réception\n{2}\ndispose de suffisamment de confirmations sur la blockchain.\nLe montant du paiement doit être {3}\n\nVous pouvez copier & coller votre adresse {4} à partir de l''écran principal après avoir fermé ce popup. portfolio.pending.step3_seller.postal={0}Veuillez vérifier si vous avez reçu {1} avec \"US Postal Money Order\" de la part de l'acheteur de BTC. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Veuillez vérifier si vous avez reçu {1} avec \"Cash by Mail\" de la part de l'acheteur de BTC @@ -702,8 +702,8 @@ portfolio.pending.step3_seller.xmrTxKey=Clé de Transaction portfolio.pending.step3_seller.buyersAccount=Données du compte de l'acheteur portfolio.pending.step3_seller.confirmReceipt=Confirmer la réception du paiement portfolio.pending.step3_seller.buyerStartedPayment=L''acheteur BTC a commencé le {0} paiement.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Vérifiez la présence de confirmations par la blockchain dans votre portefeuille altcoin ou sur un explorateur de blocs et confirmez le paiement lorsque vous aurez suffisamment de confirmations sur la blockchain. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Vérifiez sur votre compte de trading (par ex. compte bancaire) et confirmez quand vous avez reçu le paiement. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Vérifiez la présence de confirmations par la blockchain dans votre portefeuille crypto ou sur un explorateur de blocs et confirmez le paiement lorsque vous aurez suffisamment de confirmations sur la blockchain. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Vérifiez sur votre compte de trading (par ex. compte bancaire) et confirmez quand vous avez reçu le paiement. portfolio.pending.step3_seller.warn.part1a=sur la {0} blockchain portfolio.pending.step3_seller.warn.part1b=Auprès de votre prestataire de paiement (par ex. banque) portfolio.pending.step3_seller.warn.part2=Vous n''avez toujours pas confirmé la réception du paiement. Veuillez vérifier {0} si vous avez reçu le paiement. @@ -794,7 +794,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=Vous avez déjà accept portfolio.pending.failedTrade.taker.missingTakerFeeTx=Le frais de transaction du preneur est manquant.\n\nSans ce tx, le trade ne peut être complété. Aucun fonds ont été verrouillés et aucun frais de trade a été payé. Vous pouvez déplacer ce trade vers les trade échoués. portfolio.pending.failedTrade.maker.missingTakerFeeTx=Le frais de transaction du pair preneur est manquant.\n\nSans ce tx, le trade ne peut être complété. Aucun fonds ont été verrouillés. Votre offre est toujours valable pour les autres traders, vous n'avez donc pas perdu le frais de maker. Vous pouvez déplacer ce trade vers les trades échoués. portfolio.pending.failedTrade.missingDepositTx=Cette transaction de marge (transaction multi-signature de 2 à 2) est manquante.\n\nSans ce tx, la transaction ne peut pas être complétée. Aucun fonds n'est bloqué, mais vos frais de transaction sont toujours payés. Vous pouvez lancer une demande de compensation des frais de transaction ici: [HYPERLINK:https://github.com/bisq-network/support/issues] \nN'hésitez pas à déplacer la transaction vers la transaction échouée. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=La transaction de paiement différée est manquante, mais les fonds ont été verrouillés dans la transaction de dépôt.\n\nVeuillez NE PAS envoyer de Fiat ou d'altcoin au vendeur de BTC, car avec le tx de paiement différé, le jugemenbt ne peut être ouvert. À la place, ouvrez un ticket de médiation avec Cmd/Ctrl+O. Le médiateur devrait suggérer que les deux pair reçoivent tous les deux le montant total de leurs dépôts de sécurité (le vendeur aussi doit reçevoir le montant total du trade). De cette manière, il n'y a pas de risque de non sécurité, et seuls les frais du trade sont perdus.\n\nVous pouvez demander le remboursement des frais de trade perdus ici;\n[LIEN:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=La transaction de paiement différée est manquante, mais les fonds ont été verrouillés dans la transaction de dépôt.\n\nVeuillez NE PAS envoyer de Fiat ou d'crypto au vendeur de BTC, car avec le tx de paiement différé, le jugemenbt ne peut être ouvert. À la place, ouvrez un ticket de médiation avec Cmd/Ctrl+O. Le médiateur devrait suggérer que les deux pair reçoivent tous les deux le montant total de leurs dépôts de sécurité (le vendeur aussi doit reçevoir le montant total du trade). De cette manière, il n'y a pas de risque de non sécurité, et seuls les frais du trade sont perdus.\n\nVous pouvez demander le remboursement des frais de trade perdus ici;\n[LIEN:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=La transaction de paiement différée est manquante, mais les fonds ont été verrouillés dans la transaction de dépôt.\n\nSi l'acheteur n'a pas non plus la transaction de paiement différée, il sera informé du fait de ne PAS envoyer le paiement et d'ouvrir un ticket de médiation à la place. Vous devriez aussi ouvrir un ticket de médiation avec Cmd/Ctrl+o.\n\nSi l'acheteur n'a pas encore envoyé le paiement, le médiateur devrait suggérer que les deux pairs reçoivent le montant total de leurs dépôts de sécurité (le vendeur doit aussi reçevoir le montant total du trade). Sinon, le montant du trade revient à l'acheteur.\n\nVous pouvez effectuer une demande de remboursement pour les frais de trade perdus ici: [LIEN:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=Il y'a eu une erreur durant l'exécution du protocole de trade.\n\nErreur: {0}\n\nIl est possible que cette erreur ne soit pas critique, et que le trade puisse être complété normalement. Si vous n'en êtes pas sûr, ouvrez un ticket de médiation pour avoir des conseils de la part des médiateurs de Haveno.\n\nSi cette erreur est critique et que le trade ne peut être complété, il est possible que vous ayez perdu le frais du trade. Effectuez une demande de remboursement ici: [LIEN:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=Le contrat de trade n'est pas complété.\n\nCe trade ne peut être complété et il est possible que vous ayiez perdu votre frais de trade. Dans ce cas, vous pouvez demander un remboursement des frais de trade perdus ici: [LIEN:https://github.com/bisq-network/support/issues] @@ -955,7 +955,7 @@ support.buyerTaker=Acheteur BTC/Taker support.sellerTaker=Vendeur BTC/Taker support.backgroundInfo=Haveno n'est pas une entreprise, donc elle traite les litiges différemment.\n\nLes traders peuvent communiquer au sein de l'application via un chat sécurisé sur l'écran des transactions ouvertes pour essayer de résoudre les litiges par eux-mêmes. Si cela ne suffit pas, un médiateur peut intervenir pour les aider. Le médiateur évaluera la situation et suggérera un paiement des fonds de transaction. Si les deux traders acceptent cette suggestion, la transaction de paiement est réalisée et l'échange est clos. Si un ou les deux traders n'acceptent pas le paiement suggéré par le médiateur, ils peuvent demander un arbitrage. L'arbitre réévaluera la situation et, si cela est justifié, remboursera personnellement le négociateur et demandera le remboursement de ce paiement à la DAO Haveno. -support.initialInfo=Veuillez entrer une description de votre problème dans le champ texte ci-dessous. Ajoutez autant d''informations que possible pour accélérer le temps de résolution du litige.\n\nVoici une check list des informations que vous devez fournir :\n● Si vous êtes l''acheteur BTC : Avez-vous effectué le paiement Fiat ou Altcoin ? Si oui, avez-vous cliqué sur le bouton "paiement commencé" dans l''application ?\n● Si vous êtes le vendeur BTC : Avez-vous reçu le paiement Fiat ou Altcoin ? Si oui, avez-vous cliqué sur le bouton "paiement reçu" dans l''application ?\n● Quelle version de Haveno utilisez-vous ?\n● Quel système d''exploitation utilisez-vous ?\n● Si vous avez rencontré un problème avec des transactions qui ont échoué, veuillez envisager de passer à un nouveau répertoire de données.\nParfois, le répertoire de données est corrompu et conduit à des bogues étranges. \nVoir : https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nVeuillez vous familiariser avec les règles de base du processus de règlement des litiges :\n● Vous devez répondre aux demandes des {0} dans les 2 jours.\n● Les médiateurs répondent dans un délai de 2 jours. Les arbitres répondent dans un délai de 5 jours ouvrables.\n● Le délai maximum pour un litige est de 14 jours.\n● Vous devez coopérer avec les {1} et fournir les renseignements qu''ils demandent pour faire valoir votre cause.\n● Vous avez accepté les règles décrites dans le document de litige dans l''accord d''utilisation lorsque vous avez lancé l''application pour la première fois.\n\nVous pouvez en apprendre davantage sur le processus de litige à l''adresse suivante {2} +support.initialInfo=Veuillez entrer une description de votre problème dans le champ texte ci-dessous. Ajoutez autant d''informations que possible pour accélérer le temps de résolution du litige.\n\nVoici une check list des informations que vous devez fournir :\n● Si vous êtes l''acheteur BTC : Avez-vous effectué le paiement Fiat ou Crypto ? Si oui, avez-vous cliqué sur le bouton "paiement commencé" dans l''application ?\n● Si vous êtes le vendeur BTC : Avez-vous reçu le paiement Fiat ou Crypto ? Si oui, avez-vous cliqué sur le bouton "paiement reçu" dans l''application ?\n● Quelle version de Haveno utilisez-vous ?\n● Quel système d''exploitation utilisez-vous ?\n● Si vous avez rencontré un problème avec des transactions qui ont échoué, veuillez envisager de passer à un nouveau répertoire de données.\nParfois, le répertoire de données est corrompu et conduit à des bogues étranges. \nVoir : https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nVeuillez vous familiariser avec les règles de base du processus de règlement des litiges :\n● Vous devez répondre aux demandes des {0} dans les 2 jours.\n● Les médiateurs répondent dans un délai de 2 jours. Les arbitres répondent dans un délai de 5 jours ouvrables.\n● Le délai maximum pour un litige est de 14 jours.\n● Vous devez coopérer avec les {1} et fournir les renseignements qu''ils demandent pour faire valoir votre cause.\n● Vous avez accepté les règles décrites dans le document de litige dans l''accord d''utilisation lorsque vous avez lancé l''application pour la première fois.\n\nVous pouvez en apprendre davantage sur le processus de litige à l''adresse suivante {2} support.systemMsg=Message du système: {0} support.youOpenedTicket=Vous avez ouvert une demande de support.\n\n{0}\n\nHaveno version: {1} support.youOpenedDispute=Vous avez ouvert une demande de litige.\n\n{0}\n\nHaveno version: {1} @@ -999,10 +999,10 @@ setting.preferences.prefCurrency=Devise privilégiée setting.preferences.displayFiat=Afficher les monnaies nationales setting.preferences.noFiat=Il n'y a pas de devise nationale sélectionnée setting.preferences.cannotRemovePrefCurrency=Vous ne pouvez pas enlever la devise choisie pour l'affichage. -setting.preferences.displayAltcoins=Afficher les altcoins -setting.preferences.noAltcoins=Il n'y a pas d'altcoins sélectionnés +setting.preferences.displayCryptos=Afficher les cryptos +setting.preferences.noCryptos=Il n'y a pas d'cryptos sélectionnés setting.preferences.addFiat=Ajouter une devise nationale -setting.preferences.addAltcoin=Ajouter un altcoin +setting.preferences.addCrypto=Ajouter un crypto setting.preferences.displayOptions=Afficher les options setting.preferences.showOwnOffers=Montrer mes ordres dans le livre des ordres setting.preferences.useAnimations=Utiliser des animations @@ -1082,8 +1082,8 @@ setting.about.support=Soutenir Haveno setting.about.def=Haveno n'est pas une entreprise, c'est un projet ouvert vers la communauté. Si vous souhaitez participer ou soutenir Haveno, veuillez suivre les liens ci-dessous. setting.about.contribute=Contribuer setting.about.providers=Fournisseurs de données -setting.about.apisWithFee=Haveno utilise les indices de prix Haveno pour les prix des marchés Fiat et Altcoin, et Haveno utilise les noeuds du Mempool pour estimer les frais de minage. -setting.about.apis=Haveno utilise les indices de prix Haveno pour les prix des marchés Fiat et Altcoin. +setting.about.apisWithFee=Haveno utilise les indices de prix Haveno pour les prix des marchés Traditional et Crypto, et Haveno utilise les noeuds du Mempool pour estimer les frais de minage. +setting.about.apis=Haveno utilise les indices de prix Haveno pour les prix des marchés Traditional et Crypto. setting.about.pricesProvided=Prix de marché fourni par setting.about.feeEstimation.label=Estimation des frais de minage fournie par setting.about.versionDetails=Détails sur la version @@ -1146,10 +1146,10 @@ account.tab.mediatorRegistration=Enregistrement du médiateur account.tab.refundAgentRegistration=Enregistrement de l'agent de remboursement account.tab.signing=Signature en cours account.info.headline=Bienvenue sur votre compte Haveno -account.info.msg=Ici, vous pouvez ajouter des comptes de trading en devises nationales et en altcoins et créer une sauvegarde de votre portefeuille ainsi que des données de votre compte.\n\nUn nouveau portefeuille Bitcoin a été créé un premier lancement de Haveno.\n\nNous vous recommandons vivement d'écrire les mots-clés de votre seed de portefeuille Bitcoin (voir l'onglet en haut) et d'envisager d'ajouter un mot de passe avant le transfert de fonds. Les dépôts et retraits de Bitcoin sont gérés dans la section \"Fonds\".\n\nNotice de confidentialité et de sécurité : Haveno étant une plateforme d'échange décentralisée, toutes vos données sont conservées sur votre ordinateur. Il n'y a pas de serveurs, nous n'avons donc pas accès à vos informations personnelles, à vos fonds ou même à votre adresse IP. Les données telles que les numéros de compte bancaire, les adresses altcoin & Bitcoin, etc ne sont partagées avec votre pair de trading que pour effectuer les transactions que vous initiez (en cas de litige, le médiateur et l’arbitre verront les mêmes données que votre pair de trading). +account.info.msg=Ici, vous pouvez ajouter des comptes de trading en devises nationales et en cryptos et créer une sauvegarde de votre portefeuille ainsi que des données de votre compte.\n\nUn nouveau portefeuille Bitcoin a été créé un premier lancement de Haveno.\n\nNous vous recommandons vivement d'écrire les mots-clés de votre seed de portefeuille Bitcoin (voir l'onglet en haut) et d'envisager d'ajouter un mot de passe avant le transfert de fonds. Les dépôts et retraits de Bitcoin sont gérés dans la section \"Fonds\".\n\nNotice de confidentialité et de sécurité : Haveno étant une plateforme d'échange décentralisée, toutes vos données sont conservées sur votre ordinateur. Il n'y a pas de serveurs, nous n'avons donc pas accès à vos informations personnelles, à vos fonds ou même à votre adresse IP. Les données telles que les numéros de compte bancaire, les adresses crypto & Bitcoin, etc ne sont partagées avec votre pair de trading que pour effectuer les transactions que vous initiez (en cas de litige, le médiateur et l’arbitre verront les mêmes données que votre pair de trading). account.menu.paymentAccount=Comptes en devise nationale -account.menu.altCoinsAccountView=Compte Altcoins +account.menu.altCoinsAccountView=Compte Cryptos account.menu.password=Mot de passe du portefeuille account.menu.seedWords=Seed du portefeuille account.menu.walletInfo=Information du portefeuille @@ -1178,45 +1178,45 @@ account.arbitratorRegistration.removedFailed=Impossible de supprimer l''enregist account.arbitratorRegistration.registerSuccess=Vous vous êtes inscrit au réseau Haveno avec succès. account.arbitratorRegistration.registerFailed=Impossible de terminer l''enregistrement.{0} -account.altcoin.yourAltcoinAccounts=Vos comptes altcoin -account.altcoin.popup.wallet.msg=Veuillez vous assurer que vous respectez les exigences relatives à l''utilisation des {0} portefeuilles, selon les conditions présentées sur la page {1} du site.\nL''utilisation des portefeuilles provenant de plateformes de trading centralisées où (a) vous ne contrôlez pas vos clés ou (b) qui ne disposent pas d''un portefeuille compatible est risquée : cela peut entraîner la perte des fonds échangés!\nLe médiateur et l''arbitre ne sont pas des spécialistes {2} et ne pourront pas intervenir dans ce cas. -account.altcoin.popup.wallet.confirm=Je comprends et confirme que je sais quel portefeuille je dois utiliser. +account.crypto.yourCryptoAccounts=Vos comptes crypto +account.crypto.popup.wallet.msg=Veuillez vous assurer que vous respectez les exigences relatives à l''utilisation des {0} portefeuilles, selon les conditions présentées sur la page {1} du site.\nL''utilisation des portefeuilles provenant de plateformes de trading centralisées où (a) vous ne contrôlez pas vos clés ou (b) qui ne disposent pas d''un portefeuille compatible est risquée : cela peut entraîner la perte des fonds échangés!\nLe médiateur et l''arbitre ne sont pas des spécialistes {2} et ne pourront pas intervenir dans ce cas. +account.crypto.popup.wallet.confirm=Je comprends et confirme que je sais quel portefeuille je dois utiliser. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Pour échanger UPX sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nPour envoyer UPX, vous devez utiliser le portefeuille officiel UPXmA GUI ou le portefeuille UPXmA CLI avec le logo store-tx-info activé (valeur par défaut dans la nouvelle version) . Assurez-vous d'avoir accès à la clé tx, car elle est nécessaire dans l'état du litige. monero-wallet-cli (à l'aide de la commande get_Tx_key) monero-wallet-gui: sur la page Avancé> Preuve / Vérification. \n\nCes transactions ne sont pas vérifiables dans le navigateur blockchain ordinaire. \n\nEn cas de litige, vous devez fournir à l'arbitre les informations suivantes: \n\n- Clé privée Tx- hachage de transaction- adresse publique du destinataire \n\nSi vous ne fournissez pas les informations ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. En cas de litige, l'expéditeur UPX est responsable de fournir la vérification du transfert UPX à l'arbitre. \n\nAucun paiement d'identité n'est requis, juste une adresse publique commune. \n\nSi vous n'êtes pas sûr du processus, veuillez visiter le canal UPXmA Discord (https://discord.gg/vhdNSrV) ou le groupe d'échanges Telegram (https://t.me/uplexaOfficial) pour plus d'informations. +account.crypto.popup.upx.msg=Pour échanger UPX sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nPour envoyer UPX, vous devez utiliser le portefeuille officiel UPXmA GUI ou le portefeuille UPXmA CLI avec le logo store-tx-info activé (valeur par défaut dans la nouvelle version) . Assurez-vous d'avoir accès à la clé tx, car elle est nécessaire dans l'état du litige. monero-wallet-cli (à l'aide de la commande get_Tx_key) monero-wallet-gui: sur la page Avancé> Preuve / Vérification. \n\nCes transactions ne sont pas vérifiables dans le navigateur blockchain ordinaire. \n\nEn cas de litige, vous devez fournir à l'arbitre les informations suivantes: \n\n- Clé privée Tx- hachage de transaction- adresse publique du destinataire \n\nSi vous ne fournissez pas les informations ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. En cas de litige, l'expéditeur UPX est responsable de fournir la vérification du transfert UPX à l'arbitre. \n\nAucun paiement d'identité n'est requis, juste une adresse publique commune. \n\nSi vous n'êtes pas sûr du processus, veuillez visiter le canal UPXmA Discord (https://discord.gg/vhdNSrV) ou le groupe d'échanges Telegram (https://t.me/uplexaOfficial) pour plus d'informations. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Le trading d'ARQ sur Haveno exige que vous compreniez et remplissiez les exigences suivantes:\n\nPour envoyer des ARQ, vous devez utiliser soit le portefeuille officiel ArQmA GUI soit le portefeuille ArQmA CLI avec le flag store-tx-info activé (par défaut dans les nouvelles versions). Veuillez vous assurer que vous pouvez accéder à la tx key car cela pourrait être nécessaire en cas de litige.\narqma-wallet-cli (utiliser la commande get_tx_key)\narqma-wallet-gui (allez dans l'onglet historique et cliquez sur le bouton (P) pour accéder à la preuve de paiement).\n\nAvec un l'explorateur de bloc normal, le transfert n'est pas vérifiable.\n\nVous devez fournir au médiateur ou à l'arbitre les données suivantes en cas de litige:\n- Le tx de la clé privée\n- Le hash de la transaction\n- L'adresse publique du destinataire\n\nSi vous manquez de communiquer les données ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. L'expéditeur des ARQ est responsable de la transmission au médiateur ou à l'arbitre de la vérification du transfert ces informations relatives au litige.\n\nIl n'est pas nécessaire de fournir l'ID du paiement, seulement l'adresse publique normale.\nSi vous n'êtes pas sûr de ce processus, visitez le canal discord ArQmA (https://discord.gg/s9BQpJT) ou le forum ArQmA (https://labs.arqma.com) pour obtenir plus d'informations. +account.crypto.popup.arq.msg=Le trading d'ARQ sur Haveno exige que vous compreniez et remplissiez les exigences suivantes:\n\nPour envoyer des ARQ, vous devez utiliser soit le portefeuille officiel ArQmA GUI soit le portefeuille ArQmA CLI avec le flag store-tx-info activé (par défaut dans les nouvelles versions). Veuillez vous assurer que vous pouvez accéder à la tx key car cela pourrait être nécessaire en cas de litige.\narqma-wallet-cli (utiliser la commande get_tx_key)\narqma-wallet-gui (allez dans l'onglet historique et cliquez sur le bouton (P) pour accéder à la preuve de paiement).\n\nAvec un l'explorateur de bloc normal, le transfert n'est pas vérifiable.\n\nVous devez fournir au médiateur ou à l'arbitre les données suivantes en cas de litige:\n- Le tx de la clé privée\n- Le hash de la transaction\n- L'adresse publique du destinataire\n\nSi vous manquez de communiquer les données ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. L'expéditeur des ARQ est responsable de la transmission au médiateur ou à l'arbitre de la vérification du transfert ces informations relatives au litige.\n\nIl n'est pas nécessaire de fournir l'ID du paiement, seulement l'adresse publique normale.\nSi vous n'êtes pas sûr de ce processus, visitez le canal discord ArQmA (https://discord.gg/s9BQpJT) ou le forum ArQmA (https://labs.arqma.com) pour obtenir plus d'informations. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Pour échanger XMR sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nSi vous vendez XMR, en cas de litige, vous devez fournir au médiateur ou à l'arbitre les informations suivantes: - clé de transaction (clé publique Tx, clé Tx, clé privée Tx) - ID de transaction (ID Tx Ou hachage Tx) - Adresse de destination de la transaction (adresse du destinataire) \n\nConsultez plus d'informations sur le portefeuille Monero dans le wiki: https: //bisq.wiki/Trading_Monero#Proving_payments \n\nSi vous ne fournissez pas les données de transaction requises, vous serez directement jugé échoue dans le litige. \n\nNotez également que Haveno fournit désormais la fonction de confirmation automatique des transactions XMR pour effectuer plus rapidement des transactions, mais vous devez l'activer dans les paramètres. \n\nPour plus d'informations sur la fonction de confirmation automatique, veuillez consulter le Wiki: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades] +account.crypto.popup.xmr.msg=Pour échanger XMR sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nSi vous vendez XMR, en cas de litige, vous devez fournir au médiateur ou à l'arbitre les informations suivantes: - clé de transaction (clé publique Tx, clé Tx, clé privée Tx) - ID de transaction (ID Tx Ou hachage Tx) - Adresse de destination de la transaction (adresse du destinataire) \n\nConsultez plus d'informations sur le portefeuille Monero dans le wiki: https: //bisq.wiki/Trading_Monero#Proving_payments \n\nSi vous ne fournissez pas les données de transaction requises, vous serez directement jugé échoue dans le litige. \n\nNotez également que Haveno fournit désormais la fonction de confirmation automatique des transactions XMR pour effectuer plus rapidement des transactions, mais vous devez l'activer dans les paramètres. \n\nPour plus d'informations sur la fonction de confirmation automatique, veuillez consulter le Wiki: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades] # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Le navigateur blockchain pour échanger MSR sur Haveno vous oblige à comprendre et à respecter les exigences suivantes: \n\nLors de l'envoi de MSR, vous devez utiliser le portefeuille officiel Masari GUI, le portefeuille Masari CLI avec le logo store-tx-info activé (activé par défaut) ou le portefeuille web Masari (https://wallet.getmasari.org). Assurez-vous d'avoir accès à la clé tx, car cela est nécessaire en cas de litige. monero-wallet-cli (à l'aide de la commande get_Tx_key) monero-wallet-gui: sur la page Avancé> Preuve / Vérification. \n\nLe portefeuille web Masari (accédez à Compte-> Historique des transactions et vérifiez les détails de la transaction que vous avez envoyés) \n\nLa vérification peut être effectuée dans le portefeuille. monero-wallet-cli: utilisez la commande (check_tx_key). monero-wallet-gui: sur la page Avancé> Preuve / Vérification La vérification peut être effectuée dans le navigateur blockchain. Ouvrez le navigateur blockchain (https://explorer.getmasari.org) et utilisez la barre de recherche pour trouver votre hachage de transaction. Une fois que vous avez trouvé la transaction, faites défiler jusqu'à la zone «certificat à envoyer» en bas et remplissez les détails requis. En cas de litige, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: - Clé privée Tx- Hachage de transaction- Adresse publique du destinataire \n\nAucun ID de transaction n'est requis, seule une adresse publique normale est requise. Si vous ne fournissez pas les informations ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. En cas de litige, l'expéditeur XMR est responsable de fournir la vérification du transfert XMR au médiateur ou un arbitre. \n\nSi vous n'êtes pas sûr du processus, veuillez visiter le Masari Discord officiel (https://discord.gg/sMCwMqs) pour obtenir de l'aide. +account.crypto.popup.msr.msg=Le navigateur blockchain pour échanger MSR sur Haveno vous oblige à comprendre et à respecter les exigences suivantes: \n\nLors de l'envoi de MSR, vous devez utiliser le portefeuille officiel Masari GUI, le portefeuille Masari CLI avec le logo store-tx-info activé (activé par défaut) ou le portefeuille web Masari (https://wallet.getmasari.org). Assurez-vous d'avoir accès à la clé tx, car cela est nécessaire en cas de litige. monero-wallet-cli (à l'aide de la commande get_Tx_key) monero-wallet-gui: sur la page Avancé> Preuve / Vérification. \n\nLe portefeuille web Masari (accédez à Compte-> Historique des transactions et vérifiez les détails de la transaction que vous avez envoyés) \n\nLa vérification peut être effectuée dans le portefeuille. monero-wallet-cli: utilisez la commande (check_tx_key). monero-wallet-gui: sur la page Avancé> Preuve / Vérification La vérification peut être effectuée dans le navigateur blockchain. Ouvrez le navigateur blockchain (https://explorer.getmasari.org) et utilisez la barre de recherche pour trouver votre hachage de transaction. Une fois que vous avez trouvé la transaction, faites défiler jusqu'à la zone «certificat à envoyer» en bas et remplissez les détails requis. En cas de litige, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: - Clé privée Tx- Hachage de transaction- Adresse publique du destinataire \n\nAucun ID de transaction n'est requis, seule une adresse publique normale est requise. Si vous ne fournissez pas les informations ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. En cas de litige, l'expéditeur XMR est responsable de fournir la vérification du transfert XMR au médiateur ou un arbitre. \n\nSi vous n'êtes pas sûr du processus, veuillez visiter le Masari Discord officiel (https://discord.gg/sMCwMqs) pour obtenir de l'aide. # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=ntes: \n\nPour envoyer des informations anonymes, vous devez utiliser un portefeuille CLI ou GUI de réseau anonyme. Si vous utilisez un portefeuille CLI, le hachage de la transaction (tx ID) sera affiché après la transmission. Vous devez enregistrer ces informations. Après l'envoi de la transmission, vous devez immédiatement utiliser la commande «get_tx_key» pour récupérer la clé privée de la transaction. Si vous ne parvenez pas à effectuer cette étape, vous ne pourrez peut-être pas récupérer la clé ultérieurement. \n\nSi vous utilisez le portefeuille Blur Network GUI, vous pouvez facilement trouver la clé privée de transaction et l'ID de transaction dans l'onglet «Historique». Localisez la transaction d'intérêt immédiatement après l'envoi. Cliquez sur le symbole «?» dans le coin inférieur droit de la boîte contenant la transaction. Vous devez enregistrer ces informations. \n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1.) ID de transaction, 2.) clé privée de transaction, 3.) adresse du destinataire. Le processus de médiation ou d'arbitrage utilisera le visualiseur de transactions BLUR (https://blur.cash/#tx-viewer) pour vérifier les transferts BLUR. \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte du litige. Dans tous les litiges, l'expéditeur anonyme porte à 100% la responsabilité de vérifier la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=ntes: \n\nPour envoyer des informations anonymes, vous devez utiliser un portefeuille CLI ou GUI de réseau anonyme. Si vous utilisez un portefeuille CLI, le hachage de la transaction (tx ID) sera affiché après la transmission. Vous devez enregistrer ces informations. Après l'envoi de la transmission, vous devez immédiatement utiliser la commande «get_tx_key» pour récupérer la clé privée de la transaction. Si vous ne parvenez pas à effectuer cette étape, vous ne pourrez peut-être pas récupérer la clé ultérieurement. \n\nSi vous utilisez le portefeuille Blur Network GUI, vous pouvez facilement trouver la clé privée de transaction et l'ID de transaction dans l'onglet «Historique». Localisez la transaction d'intérêt immédiatement après l'envoi. Cliquez sur le symbole «?» dans le coin inférieur droit de la boîte contenant la transaction. Vous devez enregistrer ces informations. \n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1.) ID de transaction, 2.) clé privée de transaction, 3.) adresse du destinataire. Le processus de médiation ou d'arbitrage utilisera le visualiseur de transactions BLUR (https://blur.cash/#tx-viewer) pour vérifier les transferts BLUR. \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte du litige. Dans tous les litiges, l'expéditeur anonyme porte à 100% la responsabilité de vérifier la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Echanger Solo sur Haveno nécessite que vous compreniez et remplissiez les conditions suivantes: \n\nPour envoyer Solo, vous devez utiliser la version 5.1.3 ou supérieure du portefeuille Web Solo CLI. \n\nSi vous utilisez un portefeuille CLI, après l'envoi de la transaction, ID de transaction sera affiché. Vous devez enregistrer ces informations. Après avoir envoyé la transaction, vous devez immédiatement utiliser la commande «get_tx_key» pour récupérer la clé de transaction. Si vous ne parvenez pas à effectuer cette étape, vous ne pourrez peut-être pas récupérer la clé ultérieurement. \n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1) ID de transaction, 2) clé de transaction, 3) adresse du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs Solo (https://explorer.Solo.org) pour rechercher des transactions puis utilisera la fonction «envoyer une preuve» (https://explorer.minesolo.com/). \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte de l'affaire. Dans tous les cas de litige, l'expéditeur de QWC assume à 100% la responsabilité lors de la vérification de la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans Solo Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Echanger Solo sur Haveno nécessite que vous compreniez et remplissiez les conditions suivantes: \n\nPour envoyer Solo, vous devez utiliser la version 5.1.3 ou supérieure du portefeuille Web Solo CLI. \n\nSi vous utilisez un portefeuille CLI, après l'envoi de la transaction, ID de transaction sera affiché. Vous devez enregistrer ces informations. Après avoir envoyé la transaction, vous devez immédiatement utiliser la commande «get_tx_key» pour récupérer la clé de transaction. Si vous ne parvenez pas à effectuer cette étape, vous ne pourrez peut-être pas récupérer la clé ultérieurement. \n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1) ID de transaction, 2) clé de transaction, 3) adresse du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs Solo (https://explorer.Solo.org) pour rechercher des transactions puis utilisera la fonction «envoyer une preuve» (https://explorer.minesolo.com/). \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte de l'affaire. Dans tous les cas de litige, l'expéditeur de QWC assume à 100% la responsabilité lors de la vérification de la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans Solo Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Pour échanger CASH2 sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nPour envoyer CASH2, vous devez utiliser la version 3 ou supérieure du portefeuille CASH2. \n\nAprès l'envoi de la transaction, ID de la transaction s'affiche. Vous devez enregistrer ces informations. Après avoir envoyé la transaction, vous devez utiliser la commande «getTxKey» dans simplewallet pour récupérer immédiatement la clé de transaction.\n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1) ID de transaction, 2) clé de transaction, 3) adresse CASH2 du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs CASH2 (https://blocks.cash2.org) pour vérifier le transfert CASH2. \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte de l'affaire. Dans tous les cas de litige, l'expéditeur de CASH2 assume à 100% la responsabilité lors de la vérification de la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans le Discord Cash2 (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Pour échanger CASH2 sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nPour envoyer CASH2, vous devez utiliser la version 3 ou supérieure du portefeuille CASH2. \n\nAprès l'envoi de la transaction, ID de la transaction s'affiche. Vous devez enregistrer ces informations. Après avoir envoyé la transaction, vous devez utiliser la commande «getTxKey» dans simplewallet pour récupérer immédiatement la clé de transaction.\n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1) ID de transaction, 2) clé de transaction, 3) adresse CASH2 du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs CASH2 (https://blocks.cash2.org) pour vérifier le transfert CASH2. \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte de l'affaire. Dans tous les cas de litige, l'expéditeur de CASH2 assume à 100% la responsabilité lors de la vérification de la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans le Discord Cash2 (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Pour échanger Qwertycoin sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nPour envoyer Qwertycoin, vous devez utiliser la version 5.1.3 ou supérieure du portefeuille Qwertycoin. \n\nAprès l'envoi de la transaction, ID de la transaction s'affiche. Vous devez enregistrer ces informations. Après avoir envoyé la transaction, vous devez utiliser la commande «get_Tx_Key» dans simplewallet pour récupérer immédiatement la clé de transaction. \n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1) ID de transaction, 2) clé de transaction, 3) adresse QWC du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs QWC (https://explorer.qwertycoin.org) pour vérifier les transferts QWC. \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte de l'affaire. Dans tous les cas de litige, l'expéditeur de QWC assume à 100% la responsabilité lors de la vérification de la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Pour échanger Qwertycoin sur Haveno, vous devez comprendre et respecter les exigences suivantes: \n\nPour envoyer Qwertycoin, vous devez utiliser la version 5.1.3 ou supérieure du portefeuille Qwertycoin. \n\nAprès l'envoi de la transaction, ID de la transaction s'affiche. Vous devez enregistrer ces informations. Après avoir envoyé la transaction, vous devez utiliser la commande «get_Tx_Key» dans simplewallet pour récupérer immédiatement la clé de transaction. \n\nSi un arbitrage est nécessaire, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: 1) ID de transaction, 2) clé de transaction, 3) adresse QWC du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs QWC (https://explorer.qwertycoin.org) pour vérifier les transferts QWC. \n\nLe défaut de fournir les informations nécessaires au médiateur ou à l'arbitre entraînera la perte de l'affaire. Dans tous les cas de litige, l'expéditeur de QWC assume à 100% la responsabilité lors de la vérification de la transaction avec le médiateur ou l'arbitre. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide dans QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Echanger Dragonglass sur Haveno vous oblige à comprendre et à respecter les exigences suivantes: ~\n\nComme Dragonglass offre une protection de la confidentialité, les transactions ne peuvent pas être vérifiées sur la blockchain publique. Si nécessaire, vous pouvez prouver votre paiement en utilisant votre TXN-Private-Key. TXN-Private est une clé d'un temps générée automatiquement, utilisée pour chaque transaction qui est accessible uniquement à partir du portefeuille DESP. Soit via DRGL-wallet GUI (boîte de dialogue des détails de transaction interne), soit via Dragonglass CLI simplewallet (en utilisant la commande "get_tx_key"). \n\nLes deux nécessitent la version DRGL de «Oathkeeper» ou supérieure. \n\nEn cas de litige, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: \n\n- txn-Privite-ket- hachage de transaction- adresse publique du destinataire ~\n\nLa vérification du paiement peut utiliser les données ci-dessus comme entrée (http://drgl.info/#check_txn).\n\nSi vous ne fournissez pas les informations ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. L'expéditeur Dragonglass est responsable de fournir la vérification de transfert DRGL au médiateur ou à l'arbitre en cas de litige. Aucun ID de paiement n'est requis. \n\nSi vous n'êtes pas sûr d'une partie de ce processus, veuillez visiter Dragonglass sur (http://discord.drgl.info) pour obtenir de l'aide. +account.crypto.popup.drgl.msg=Echanger Dragonglass sur Haveno vous oblige à comprendre et à respecter les exigences suivantes: ~\n\nComme Dragonglass offre une protection de la confidentialité, les transactions ne peuvent pas être vérifiées sur la blockchain publique. Si nécessaire, vous pouvez prouver votre paiement en utilisant votre TXN-Private-Key. TXN-Private est une clé d'un temps générée automatiquement, utilisée pour chaque transaction qui est accessible uniquement à partir du portefeuille DESP. Soit via DRGL-wallet GUI (boîte de dialogue des détails de transaction interne), soit via Dragonglass CLI simplewallet (en utilisant la commande "get_tx_key"). \n\nLes deux nécessitent la version DRGL de «Oathkeeper» ou supérieure. \n\nEn cas de litige, vous devez fournir les informations suivantes au médiateur ou à l'arbitre: \n\n- txn-Privite-ket- hachage de transaction- adresse publique du destinataire ~\n\nLa vérification du paiement peut utiliser les données ci-dessus comme entrée (http://drgl.info/#check_txn).\n\nSi vous ne fournissez pas les informations ci-dessus ou si vous utilisez un portefeuille incompatible, vous perdrez le litige. L'expéditeur Dragonglass est responsable de fournir la vérification de transfert DRGL au médiateur ou à l'arbitre en cas de litige. Aucun ID de paiement n'est requis. \n\nSi vous n'êtes pas sûr d'une partie de ce processus, veuillez visiter Dragonglass sur (http://discord.drgl.info) pour obtenir de l'aide. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Lors de l'utilisation de Zcash, vous ne pouvez utiliser que les adresses transparentes (commençant par t), et non les z-adresses (privées), car le médiateur ou l'arbitre ne seraient pas en mesure de vérifier la transaction avec les z-adresses. +account.crypto.popup.ZEC.msg=Lors de l'utilisation de Zcash, vous ne pouvez utiliser que les adresses transparentes (commençant par t), et non les z-adresses (privées), car le médiateur ou l'arbitre ne seraient pas en mesure de vérifier la transaction avec les z-adresses. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Lors de l'utilisation de Zcoin, vous ne pouvez utiliser que les adresses transparentes (traçables), et non les adresses intraçables, car le médiateur ou l'arbitre ne seraient pas en mesure de vérifier la transaction avec des adresses intraçables dans un explorateur de blocs. +account.crypto.popup.XZC.msg=Lors de l'utilisation de Zcoin, vous ne pouvez utiliser que les adresses transparentes (traçables), et non les adresses intraçables, car le médiateur ou l'arbitre ne seraient pas en mesure de vérifier la transaction avec des adresses intraçables dans un explorateur de blocs. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN nécessite un échange interactif entre l'émetteur et le récepteur pour créer la transaction. Assurez-vous de suivre les instructions de la page Web du projet GRIN pour envoyer et recevoir des GRIN de façon fiable (le récepteur doit être en ligne au moins pendant un certain temps).\n\nHaveno ne supporte que le portefeuille Grinbox (Wallet713) format URL.\n\nL'expéditeur des GRIN doit fournir la preuve qu'il a envoyé les GRIN avec succès. Si le portefeuille ne peut pas fournir cette preuve, un litige potentiel sera résolu en faveur du destinataire des GRIN. Veuillez vous assurer que vous utilisez le dernier logiciel Grinbox qui supporte la preuve de transaction et que vous comprenez le processus de transfert et de réception des GRIN ainsi que la façon de créer la preuve.\n\nVisitez https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only pour plus d'informations sur l'outil de preuve de Grinbox. +account.crypto.popup.grin.msg=GRIN nécessite un échange interactif entre l'émetteur et le récepteur pour créer la transaction. Assurez-vous de suivre les instructions de la page Web du projet GRIN pour envoyer et recevoir des GRIN de façon fiable (le récepteur doit être en ligne au moins pendant un certain temps).\n\nHaveno ne supporte que le portefeuille Grinbox (Wallet713) format URL.\n\nL'expéditeur des GRIN doit fournir la preuve qu'il a envoyé les GRIN avec succès. Si le portefeuille ne peut pas fournir cette preuve, un litige potentiel sera résolu en faveur du destinataire des GRIN. Veuillez vous assurer que vous utilisez le dernier logiciel Grinbox qui supporte la preuve de transaction et que vous comprenez le processus de transfert et de réception des GRIN ainsi que la façon de créer la preuve.\n\nVisitez https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only pour plus d'informations sur l'outil de preuve de Grinbox. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM nécessite un processus interactif entre l'émetteur et le récepteur pour créer la transaction.\n\nAssurez-vous de suivre les instructions de la page Web du projet BEAM pour envoyer et recevoir les BEAM de façon fiable (le récepteur doit être en ligne pendant au moins un certain temps).\n\nL'expéditeur de BEAM est tenu de fournir la preuve qu'il a envoyé BEAM avec succès. Assurez-vous d'utiliser un portefeuille qui peut produire une telle preuve. Si le portefeuille ne peut fournir la preuve, un litige potentiel sera résolu en faveur du récepteur des BEAM. +account.crypto.popup.beam.msg=BEAM nécessite un processus interactif entre l'émetteur et le récepteur pour créer la transaction.\n\nAssurez-vous de suivre les instructions de la page Web du projet BEAM pour envoyer et recevoir les BEAM de façon fiable (le récepteur doit être en ligne pendant au moins un certain temps).\n\nL'expéditeur de BEAM est tenu de fournir la preuve qu'il a envoyé BEAM avec succès. Assurez-vous d'utiliser un portefeuille qui peut produire une telle preuve. Si le portefeuille ne peut fournir la preuve, un litige potentiel sera résolu en faveur du récepteur des BEAM. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Echanger ParsiCoin sur Haveno nécessite que vous compreniez et remplissiez les conditions suivantes: \n\nPour envoyer PARS, vous devez utiliser la version 3.0.0 ou supérieure du portefeuille ParsiCoin officiel. \n\nVous pouvez vérifier votre hachage de transaction et votre clé de transaction dans la section transaction du portefeuille GUI (ParsiPay). Vous devez cliquer avec le bouton droit de la souris sur «Transaction» puis cliquer sur «Afficher les détails». \n\nSi l'arbitrage est à 100% nécessaire, vous devez fournir au médiateur ou à l'arbitre les éléments suivants: 1) hachage de transaction, 2) clé de transaction et 3) adresse PARS du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs ParsiCoin (http://explorer.parsicoin.net/#check_payment) pour vérifier les transmissions PARS. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide sur le ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Echanger ParsiCoin sur Haveno nécessite que vous compreniez et remplissiez les conditions suivantes: \n\nPour envoyer PARS, vous devez utiliser la version 3.0.0 ou supérieure du portefeuille ParsiCoin officiel. \n\nVous pouvez vérifier votre hachage de transaction et votre clé de transaction dans la section transaction du portefeuille GUI (ParsiPay). Vous devez cliquer avec le bouton droit de la souris sur «Transaction» puis cliquer sur «Afficher les détails». \n\nSi l'arbitrage est à 100% nécessaire, vous devez fournir au médiateur ou à l'arbitre les éléments suivants: 1) hachage de transaction, 2) clé de transaction et 3) adresse PARS du destinataire. Le médiateur ou l'arbitre utilisera l’explorateur de blocs ParsiCoin (http://explorer.parsicoin.net/#check_payment) pour vérifier les transmissions PARS. \n\nSi vous ne comprenez pas ces exigences, n'échangez pas sur Haveno. Tout d'abord, demandez de l'aide sur le ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=Pour échanger les monnaies brûlées, vous devez savoir ce qui suit: \n\nLes monnaies brûlées ne peuvent pas être dépensée. Pour les échanger sur Haveno, le script de sortie doit prendre la forme suivante: OP_RETURN OP_PUSHDATA, suivi des octets de données pertinents, ces octets forment l'adresse après le codage hexadécimal. Par exemple, une devise brûlée avec l'adresse 666f6f ("foo" en UTF-8) aura le script suivant: \n\nOP_RETURN OP_PUSHDATA 666f6f \n\nPour créer de la monnaie brûlée, vous pouvez utiliser la commande RPC «brûler», disponible dans certains portefeuilles. \n\nPour d'éventuelles situations, vous pouvez vérifier https://ibo.laboratorium.ee \n\nPuisque la monnaie brûlée ne peut pas être utilisée, elle ne peut pas être revendue. «Vendre» une devise brûlée signifie brûler la devise d'origine (données associées à l'adresse de destination). \n\nEn cas de litige, le vendeur BLK doit fournir le hachage de la transaction. +account.crypto.popup.blk-burnt.msg=Pour échanger les monnaies brûlées, vous devez savoir ce qui suit: \n\nLes monnaies brûlées ne peuvent pas être dépensée. Pour les échanger sur Haveno, le script de sortie doit prendre la forme suivante: OP_RETURN OP_PUSHDATA, suivi des octets de données pertinents, ces octets forment l'adresse après le codage hexadécimal. Par exemple, une devise brûlée avec l'adresse 666f6f ("foo" en UTF-8) aura le script suivant: \n\nOP_RETURN OP_PUSHDATA 666f6f \n\nPour créer de la monnaie brûlée, vous pouvez utiliser la commande RPC «brûler», disponible dans certains portefeuilles. \n\nPour d'éventuelles situations, vous pouvez vérifier https://ibo.laboratorium.ee \n\nPuisque la monnaie brûlée ne peut pas être utilisée, elle ne peut pas être revendue. «Vendre» une devise brûlée signifie brûler la devise d'origine (données associées à l'adresse de destination). \n\nEn cas de litige, le vendeur BLK doit fournir le hachage de la transaction. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Pour échanger L-BTC sur Haveno, vous devez comprendre les termes suivants: \n\nLorsque vous acceptez des transactions L-BTC sur Haveno, vous ne pouvez pas utiliser Blockstream Green Wallet sur le téléphone mobile ou un portefeuille de dépôt / commercial. Vous ne devez recevoir du L-BTC que dans le portefeuille Liquid Elements Core ou un autre portefeuille L-BTC avec une adresse L-BTC et une clé de sécurité qui vous permettre d'être anonyme. \n\nEn cas de médiation ou en cas de litige de transaction, vous devez divulguer la clé de sécurité de l'adresse L-BTC au médiateur Haveno ou à l'agent de remboursement afin qu'ils puissent vérifier les détails de votre transaction anonyme sur leur propre nœud complet Elements Core. \n\nSi vous ne comprenez pas ou ne comprenez pas ces exigences, n'échangez pas de L-BTC sur Haveno. +account.crypto.popup.liquidbitcoin.msg=Pour échanger L-BTC sur Haveno, vous devez comprendre les termes suivants: \n\nLorsque vous acceptez des transactions L-BTC sur Haveno, vous ne pouvez pas utiliser Blockstream Green Wallet sur le téléphone mobile ou un portefeuille de dépôt / commercial. Vous ne devez recevoir du L-BTC que dans le portefeuille Liquid Elements Core ou un autre portefeuille L-BTC avec une adresse L-BTC et une clé de sécurité qui vous permettre d'être anonyme. \n\nEn cas de médiation ou en cas de litige de transaction, vous devez divulguer la clé de sécurité de l'adresse L-BTC au médiateur Haveno ou à l'agent de remboursement afin qu'ils puissent vérifier les détails de votre transaction anonyme sur leur propre nœud complet Elements Core. \n\nSi vous ne comprenez pas ou ne comprenez pas ces exigences, n'échangez pas de L-BTC sur Haveno. -account.fiat.yourFiatAccounts=Vos comptes en devise nationale +account.traditional.yourTraditionalAccounts=Vos comptes en devise nationale account.backup.title=Sauvegarder le portefeuille account.backup.location=Emplacement de la sauvegarde @@ -1581,7 +1581,7 @@ popup.warning.startupFailed.twoInstances=Haveno est déjà lancé. Vous ne pouve popup.warning.tradePeriod.halfReached=Votre transaction avec ID {0} a atteint la moitié de la période de trading maximale autorisée et n''est toujours pas terminée.\n\nLa période de trade se termine le {1}.\n\nVeuillez vérifier l''état de votre transaction dans \"Portfolio/échanges en cours\" pour obtenir de plus amples informations. popup.warning.tradePeriod.ended=Votre échange avec l''ID {0} a atteint la période de trading maximale autorisée et n''est pas terminé.\n\nLa période d''échange s''est terminée le {1}.\n\nVeuillez vérifier votre transaction sur \"Portfolio/Echanges en cours\" pour contacter le médiateur. popup.warning.noTradingAccountSetup.headline=Vous n'avez pas configuré de compte de trading -popup.warning.noTradingAccountSetup.msg=Vous devez configurer une devise nationale ou un compte altcoin avant de pouvoir créer un ordre.\nVoulez-vous configurer un compte ? +popup.warning.noTradingAccountSetup.msg=Vous devez configurer une devise nationale ou un compte crypto avant de pouvoir créer un ordre.\nVoulez-vous configurer un compte ? popup.warning.noArbitratorsAvailable=Les arbitres ne sont pas disponibles. popup.warning.noMediatorsAvailable=Il n'y a pas de médiateurs disponibles. popup.warning.notFullyConnected=Vous devez attendre d'être complètement connecté au réseau.\nCela peut prendre jusqu'à 2 minutes au démarrage. @@ -1804,8 +1804,8 @@ formatter.makerTaker=Maker comme {0} {1} / Taker comme {2} {3} formatter.youAreAsMaker=Vous êtes {1} {0} (maker) / Le preneur est: {3} {2} formatter.youAreAsTaker=Vous êtes: {1} {0} (preneur) / Le maker est: {3} {2} formatter.youAre=Vous êtes {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Vous êtes en train de créer un ordre pour {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Vous êtes en train de créer un ordre pour {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=Vous êtes en train de créer un ordre pour {0} {1} +formatter.youAreCreatingAnOffer.crypto=Vous êtes en train de créer un ordre pour {0} {1} ({2} {3}) formatter.asMaker={0} {1} en tant que maker formatter.asTaker={0} {1} en tant que taker @@ -1897,11 +1897,11 @@ payment.email=Email payment.country=Pays payment.extras=Exigences particulières payment.email.mobile=Email ou N° de portable -payment.altcoin.address=Adresse Altcoin -payment.altcoin.tradeInstantCheckbox=Échanger instantanément (en 1 heure) avec cet Altcoin -payment.altcoin.tradeInstant.popup=Pour négocier immédiatement, il est nécessaire que les deux pairs de trading soient en ligne afin de pouvoir effectuer l'échange en moins d' 1 heure.\n\nSi vous avez des ordres en cours et que vous n'êtes pas disponible, veuillez désactiver ces ordres sur la page " Portfolio ". -payment.altcoin=Altcoin -payment.select.altcoin=Sélectionner ou chercher l'Altcoin +payment.crypto.address=Adresse Crypto +payment.crypto.tradeInstantCheckbox=Échanger instantanément (en 1 heure) avec cet Crypto +payment.crypto.tradeInstant.popup=Pour négocier immédiatement, il est nécessaire que les deux pairs de trading soient en ligne afin de pouvoir effectuer l'échange en moins d' 1 heure.\n\nSi vous avez des ordres en cours et que vous n'êtes pas disponible, veuillez désactiver ces ordres sur la page " Portfolio ". +payment.crypto=Crypto +payment.select.crypto=Sélectionner ou chercher l'Crypto payment.secret=Question secrète payment.answer=Réponse payment.wallet=ID du portefeuille @@ -1927,8 +1927,8 @@ payment.national.account.id.AR=Numéro CBU shared.accountSigningState=État de la signature du compte #new -payment.altcoin.address.dyn={0} adresse -payment.altcoin.receiver.address=Adresse altcoin du destinataire +payment.crypto.address.dyn={0} adresse +payment.crypto.receiver.address=Adresse crypto du destinataire payment.accountNr=Numéro de compte payment.emailOrMobile=Email ou N° de portable payment.useCustomAccountName=Utiliser un nom de compte personnalisé @@ -2071,7 +2071,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoins +BLOCK_CHAINS=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2081,7 +2081,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=eCarte cadeau Amazon # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins Instant +BLOCK_CHAINS_INSTANT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2123,7 +2123,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoins +BLOCK_CHAINS_SHORT=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2133,7 +2133,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=eCarte cadeau Amazon # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins Instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2153,8 +2153,8 @@ validation.NaN=La valeur saisie n'est pas un nombre valide. validation.notAnInteger=Input is not an integer value. validation.zero=La saisie d'une valeur égale à 0 n'est pas autorisé. validation.negative=Une valeur négative n'est pas autorisée. -validation.fiat.tooSmall=La saisie d'une valeur plus petite que le montant minimal possible n'est pas autorisée. -validation.fiat.tooLarge=La saisie d'une valeur supérieure au montant maximal possible n'est pas autorisée. +validation.traditional.tooSmall=La saisie d'une valeur plus petite que le montant minimal possible n'est pas autorisée. +validation.traditional.tooLarge=La saisie d'une valeur supérieure au montant maximal possible n'est pas autorisée. validation.xmr.fraction=L'entrée résultera dans une valeur bitcoin plus petite qu'1 satoshi validation.xmr.tooLarge=La saisie d''une valeur supérieure à {0} n''est pas autorisée. validation.xmr.tooSmall=La saisie d''une valeur inférieure à {0} n''est pas autorisée. @@ -2175,15 +2175,15 @@ validation.nationalAccountId={0} doit être composé de {1} nombres. validation.invalidInput=La valeur saisie est invalide: {0} validation.accountNrFormat=Le numéro du compte doit être au format: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=La validation de l''adresse a échoué car elle ne concorde pas avec la structure d''une adresse {0}. +validation.crypto.wrongStructure=La validation de l''adresse a échoué car elle ne concorde pas avec la structure d''une adresse {0}. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=L'adresse LTZ doit commencer par L. Les adresses commençant par z ne sont pas supportées. +validation.crypto.ltz.zAddressesNotSupported=L'adresse LTZ doit commencer par L. Les adresses commençant par z ne sont pas supportées. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=L'adresse ZEC doit commencer par un t. Les adresses commençant par un z ne sont pas supportées. +validation.crypto.zAddressesNotSupported=L'adresse ZEC doit commencer par un t. Les adresses commençant par un z ne sont pas supportées. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Address is not a valid {0} address! {1} +validation.crypto.invalidAddress=Address is not a valid {0} address! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Les addresses segwit natives (celles qui commences par 'lq') ne sont pas supportées. +validation.crypto.liquidBitcoin.invalidAddress=Les addresses segwit natives (celles qui commences par 'lq') ne sont pas supportées. validation.bic.invalidLength=La longueur de l'entrée doit être de 8 ou 11 validation.bic.letters=Le code de la banque et le code du pays doivent être constitués de lettres validation.bic.invalidLocationCode=Le BIC contient un code de localisation invalide diff --git a/core/src/main/resources/i18n/displayStrings_it.properties b/core/src/main/resources/i18n/displayStrings_it.properties index f0474a0b..1f0cdb2e 100644 --- a/core/src/main/resources/i18n/displayStrings_it.properties +++ b/core/src/main/resources/i18n/displayStrings_it.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Maker: {0} shared.takerTxFee=Taker: {0} shared.iConfirm=Confermo shared.openURL=Aperti {0} -shared.fiat=Fiat +shared.traditional=Traditional shared.crypto=Crypto shared.all=Tutti shared.edit=Modifica @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=Scambi # OfferBookChartView -market.offerBook.buyAltcoin=Compra {0} (vendi {1}) -market.offerBook.sellAltcoin=Vendi {0} (compra {1}) -market.offerBook.buyWithFiat=Acquista {0} -market.offerBook.sellWithFiat=Vendi {0} +market.offerBook.buyCrypto=Compra {0} (vendi {1}) +market.offerBook.sellCrypto=Vendi {0} (compra {1}) +market.offerBook.buyWithTraditional=Acquista {0} +market.offerBook.sellWithTraditional=Vendi {0} market.offerBook.sellOffersHeaderLabel=Vendi {0} a market.offerBook.buyOffersHeaderLabel=Compra {0} da market.offerBook.buy=Voglio comprare bitcoin @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=N/A shared.notSigned=This account has not been signed yet and was created {0} days ago shared.notSigned.noNeed=This account type does not require signing shared.notSigned.noNeedDays=This account type does not require signing and was created {0} days ago -shared.notSigned.noNeedAlts=Altcoin accounts do not feature signing or aging +shared.notSigned.noNeedAlts=Crypto accounts do not feature signing or aging offerbook.nrOffers=N. di offerte: {0} offerbook.volume={0} (min - max) @@ -361,8 +361,8 @@ offerbook.deposit.help=Deposit paid by each trader to guarantee the trade. Will offerbook.createOfferToBuy=Crea una nuova offerta per comprare {0} offerbook.createOfferToSell=Crea una nuova offerta per vendere {0} -offerbook.createOfferToBuy.withFiat=Crea una nuova offerta per acquistare {0} con {1} -offerbook.createOfferToSell.forFiat=Crea una nuova offerta per vendere {0} per {1} +offerbook.createOfferToBuy.withTraditional=Crea una nuova offerta per acquistare {0} con {1} +offerbook.createOfferToSell.forTraditional=Crea una nuova offerta per vendere {0} per {1} offerbook.createOfferToBuy.withCrypto=Crea una nuova offerta per vendere {0} (acquista {1}) offerbook.createOfferToSell.forCrypto=Crea una nuova offerta per acquistare {0} (vendi {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Modifica offerta portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=Attendi la conferma della blockchain portfolio.pending.step2_buyer.startPayment=Inizia il pagamento @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Trasferisci dal tuo portafoglio esterno {0}\n{1} al venditore BTC.\n\n +portfolio.pending.step2_buyer.crypto=Trasferisci dal tuo portafoglio esterno {0}\n{1} al venditore BTC.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Vai in banca e paga {0} al venditore BTC.\n\n portfolio.pending.step2_buyer.cash.extra=REQUISITI IMPORTANTI:\nDopo aver effettuato il pagamento scrivi sulla ricevuta cartacea: NESSUN RIMBORSO.\nQuindi strappalo in 2 parti, fai una foto e inviala all'indirizzo e-mail del venditore BTC. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=Il venditore BTC non ha ancora conferma portfolio.pending.step3_buyer.openForDispute=Il venditore BTC non ha confermato il tuo pagamento! Il max. periodo per lo scambio è trascorso. Puoi aspettare più a lungo e dare più tempo al peer di trading o richiedere assistenza al mediatore. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Il tuo partner commerciale ha confermato di aver avviato il pagamento {0}.\n\n -portfolio.pending.step3_seller.altcoin.explorer=sul tuo {0} blockchain explorer preferito -portfolio.pending.step3_seller.altcoin.wallet=sul tuo portafoglio {0} -portfolio.pending.step3_seller.altcoin={0}Controlla {1} se la transazione è indirizzata correttamente al tuo indirizzo di ricezione\n{2}\nha già sufficienti conferme sulla blockchain.\nL'importo del pagamento deve essere {3}\n\nPuoi copiare e incollare il tuo indirizzo {4} dalla schermata principale dopo aver chiuso questo popup. +portfolio.pending.step3_seller.crypto.explorer=sul tuo {0} blockchain explorer preferito +portfolio.pending.step3_seller.crypto.wallet=sul tuo portafoglio {0} +portfolio.pending.step3_seller.crypto={0}Controlla {1} se la transazione è indirizzata correttamente al tuo indirizzo di ricezione\n{2}\nha già sufficienti conferme sulla blockchain.\nL'importo del pagamento deve essere {3}\n\nPuoi copiare e incollare il tuo indirizzo {4} dalla schermata principale dopo aver chiuso questo popup. portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=Conferma pagamento ricevuto portfolio.pending.step3_seller.buyerStartedPayment=L'acquirente BTC ha avviato il pagamento {0}.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Controlla le conferme blockchain sul tuo portafoglio altcoin o block explorer e conferma il pagamento quando hai sufficienti conferme blockchain -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Controlla sul tuo conto di trading (ad es. Conto bancario) e conferma quando hai ricevuto il pagamento. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Controlla le conferme blockchain sul tuo portafoglio crypto o block explorer e conferma il pagamento quando hai sufficienti conferme blockchain +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Controlla sul tuo conto di trading (ad es. Conto bancario) e conferma quando hai ricevuto il pagamento. portfolio.pending.step3_seller.warn.part1a=sulla {0} blockchain portfolio.pending.step3_seller.warn.part1b=presso il tuo fornitore di servizi di pagamento (ad es. banca) portfolio.pending.step3_seller.warn.part2=Non hai ancora confermato la ricevuta del pagamento. Controlla {0} se hai ricevuto il pagamento. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=Hai già accettato portfolio.pending.failedTrade.taker.missingTakerFeeTx=The taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked and no trade fee has been paid. You can move this trade to failed trades. portfolio.pending.failedTrade.maker.missingTakerFeeTx=The peer's taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked. Your offer is still available to other traders, so you have not lost the maker fee. You can move this trade to failed trades. portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of-2 multisig transaction) is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked but your trade fee has been paid. You can make a request to be reimbursed the trade fee here: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nFeel free to move this trade to failed trades. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the fiat or altcoin payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the traditional or crypto payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing but funds have been locked in the deposit transaction.\n\nIf the buyer is also missing the delayed payout transaction, they will be instructed to NOT send the payment and open a mediation ticket instead. You should also open a mediation ticket with Cmd/Ctrl+o. \n\nIf the buyer has not sent payment yet, the mediator should suggest that both peers each get back the full amount of their security deposits (with seller receiving full trade amount back as well). Otherwise the trade amount should go to the buyer. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=There was an error during trade protocol execution.\n\nError: {0}\n\nIt might be that this error is not critical, and the trade can be completed normally. If you are unsure, open a mediation ticket to get advice from Haveno mediators. \n\nIf the error was critical and the trade cannot be completed, you might have lost your trade fee. Request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=The trade contract is not set.\n\nThe trade cannot be completed and you might have lost your trade fee. If so, you can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -954,7 +954,7 @@ support.buyerTaker=Acquirente/Taker BTC support.sellerTaker=Venditore/Taker BTC support.backgroundInfo=Haveno non è una società, quindi gestisce le controversie in modo diverso.\n\nI trader possono comunicare all'interno dell'applicazione tramite chat sicura nella schermata degli scambi aperti per provare a risolvere le controversie da soli. Se ciò non è sufficiente, un mediatore può intervenire per aiutare. Il mediatore valuterà la situazione e suggerirà un pagamento di fondi commerciali. Se entrambi i trader accettano questo suggerimento, la transazione di pagamento è completata e lo scambio è chiuso. Se uno o entrambi i trader non accettano il pagamento suggerito dal mediatore, possono richiedere l'arbitrato. L'arbitro rivaluterà la situazione e, se garantito, ripagherà personalmente il trader e chiederà il rimborso per questo pagamento dal DAO Haveno. -support.initialInfo=Inserisci una descrizione del tuo problema nel campo di testo qui sotto. Aggiungi quante più informazioni possibili per accelerare i tempi di risoluzione della disputa.\n\nEcco una lista delle informazioni che dovresti fornire:\n● Se sei l'acquirente BTC: hai effettuato il trasferimento Fiat o Altcoin? In tal caso, hai fatto clic sul pulsante "pagamento avviato" nell'applicazione?\n● Se sei il venditore BTC: hai ricevuto il pagamento Fiat o Altcoin? In tal caso, hai fatto clic sul pulsante "pagamento ricevuto" nell'applicazione?\n● Quale versione di Haveno stai usando?\n● Quale sistema operativo stai usando?\n● Se si è verificato un problema con transazioni non riuscite, prendere in considerazione la possibilità di passare a una nuova directory di dati.\n  A volte la directory dei dati viene danneggiata e porta a strani bug.\n  Vedi: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nAcquisire familiarità con le regole di base per la procedura di disputa:\n● È necessario rispondere alle richieste di {0} entro 2 giorni.\n● I mediatori rispondono entro 2 giorni. Gli arbitri rispondono entro 5 giorni lavorativi.\n● Il periodo massimo per una disputa è di 14 giorni.\n● È necessario collaborare con {1} e fornire le informazioni richieste per presentare il proprio caso.\n● Hai accettato le regole delineate nel documento di contestazione nel contratto con l'utente al primo avvio dell'applicazione.\n\nPuoi leggere ulteriori informazioni sulla procedura di contestazione all'indirizzo: {2}\n  +support.initialInfo=Inserisci una descrizione del tuo problema nel campo di testo qui sotto. Aggiungi quante più informazioni possibili per accelerare i tempi di risoluzione della disputa.\n\nEcco una lista delle informazioni che dovresti fornire:\n● Se sei l'acquirente BTC: hai effettuato il trasferimento Traditional o Cryptocurrency? In tal caso, hai fatto clic sul pulsante "pagamento avviato" nell'applicazione?\n● Se sei il venditore BTC: hai ricevuto il pagamento Traditional o Cryptocurrency? In tal caso, hai fatto clic sul pulsante "pagamento ricevuto" nell'applicazione?\n● Quale versione di Haveno stai usando?\n● Quale sistema operativo stai usando?\n● Se si è verificato un problema con transazioni non riuscite, prendere in considerazione la possibilità di passare a una nuova directory di dati.\n  A volte la directory dei dati viene danneggiata e porta a strani bug.\n  Vedi: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nAcquisire familiarità con le regole di base per la procedura di disputa:\n● È necessario rispondere alle richieste di {0} entro 2 giorni.\n● I mediatori rispondono entro 2 giorni. Gli arbitri rispondono entro 5 giorni lavorativi.\n● Il periodo massimo per una disputa è di 14 giorni.\n● È necessario collaborare con {1} e fornire le informazioni richieste per presentare il proprio caso.\n● Hai accettato le regole delineate nel documento di contestazione nel contratto con l'utente al primo avvio dell'applicazione.\n\nPuoi leggere ulteriori informazioni sulla procedura di contestazione all'indirizzo: {2}\n  support.systemMsg=Messaggio di sistema: {0} support.youOpenedTicket=Hai aperto una richiesta di supporto.\n\n{0}\n\nVersione Haveno: {1} support.youOpenedDispute=Hai aperto una richiesta per una controversia.\n\n{0}\n\nVersione Haveno: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=Valuta preferita setting.preferences.displayFiat=Mostra valute nazionali setting.preferences.noFiat=Non ci sono valute nazionali selezionate setting.preferences.cannotRemovePrefCurrency=Non è possibile rimuovere la valuta di visualizzazione preferita selezionata -setting.preferences.displayAltcoins=Visualizza altcoin -setting.preferences.noAltcoins=Non ci sono altcoin selezionate +setting.preferences.displayCryptos=Visualizza crypto +setting.preferences.noCryptos=Non ci sono crypto selezionate setting.preferences.addFiat=Aggiungi valuta nazionale -setting.preferences.addAltcoin=Aggiungi altcoin +setting.preferences.addCrypto=Aggiungi crypto setting.preferences.displayOptions=Mostra opzioni setting.preferences.showOwnOffers=Mostra le mie offerte nel libro delle offerte setting.preferences.useAnimations=Usa animazioni @@ -1081,8 +1081,8 @@ setting.about.support=Supporta Haveno setting.about.def=Haveno non è un'azienda, è un progetto aperto alla comunità. Se vuoi partecipare o supportare Haveno, segui i link qui sotto. setting.about.contribute=Contribuisci setting.about.providers=Fornitori di dati -setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices, and Haveno Mempool Nodes for mining fee estimation. -setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices. +setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Crypto market prices, and Haveno Mempool Nodes for mining fee estimation. +setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Crypto market prices. setting.about.pricesProvided=Prezzi di mercato forniti da setting.about.feeEstimation.label=Previsione della commissione di mining fornita da setting.about.versionDetails=Dettagli versione @@ -1145,10 +1145,10 @@ account.tab.mediatorRegistration=Registrazione del mediatore account.tab.refundAgentRegistration=Registrazione agente di rimborso account.tab.signing=Signing account.info.headline=Benvenuto nel tuo Account Haveno -account.info.msg=Qui puoi aggiungere conti di trading per valute nazionali e altcoin e creare un backup dei tuoi dati di portafoglio e conto.\n\nUn nuovo portafoglio Bitcoin è stato creato la prima volta che hai avviato Haveno.\n\nTi consigliamo vivamente di annotare le parole del seme del portafoglio Bitcoin (vedi la scheda in alto) e prendere in considerazione l'aggiunta di una password prima del finanziamento. I depositi e prelievi di bitcoin sono gestiti nella sezione \"Fondi\".\n\nInformativa sulla privacy e sulla sicurezza: poiché Haveno è un exchange decentralizzato, tutti i tuoi dati vengono conservati sul tuo computer. Non ci sono server, quindi non abbiamo accesso alle tue informazioni personali, ai tuoi fondi o persino al tuo indirizzo IP. Dati come numeri di conto bancario, altcoin e indirizzi Bitcoin, ecc. vengono condivisi con il proprio partner commerciale per adempiere alle negoziazioni avviate (in caso di controversia il mediatore o l'arbitro vedrà gli stessi dati del proprio peer di negoziazione). +account.info.msg=Qui puoi aggiungere conti di trading per valute nazionali e crypto e creare un backup dei tuoi dati di portafoglio e conto.\n\nUn nuovo portafoglio Bitcoin è stato creato la prima volta che hai avviato Haveno.\n\nTi consigliamo vivamente di annotare le parole del seme del portafoglio Bitcoin (vedi la scheda in alto) e prendere in considerazione l'aggiunta di una password prima del finanziamento. I depositi e prelievi di bitcoin sono gestiti nella sezione \"Fondi\".\n\nInformativa sulla privacy e sulla sicurezza: poiché Haveno è un exchange decentralizzato, tutti i tuoi dati vengono conservati sul tuo computer. Non ci sono server, quindi non abbiamo accesso alle tue informazioni personali, ai tuoi fondi o persino al tuo indirizzo IP. Dati come numeri di conto bancario, crypto e indirizzi Bitcoin, ecc. vengono condivisi con il proprio partner commerciale per adempiere alle negoziazioni avviate (in caso di controversia il mediatore o l'arbitro vedrà gli stessi dati del proprio peer di negoziazione). account.menu.paymentAccount=Conti in valuta nazionale -account.menu.altCoinsAccountView=Conti altcoin +account.menu.altCoinsAccountView=Conti crypto account.menu.password=Password portafoglio account.menu.seedWords=Seme portafoglio account.menu.walletInfo=Wallet info @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=Impossibile rimuovere la registrazi account.arbitratorRegistration.registerSuccess=Ti sei registrato correttamente alla rete Haveno. account.arbitratorRegistration.registerFailed=Impossibile completare la registrazione. {0} -account.altcoin.yourAltcoinAccounts=I tuoi conti altcoin -account.altcoin.popup.wallet.msg=Assicurati di seguire i requisiti per l'uso di {0} portafogli come descritto nella pagina web {1}.\nL'uso di portafogli da exchange centralizzati in cui (a) non controlli le tue chiavi o (b) che non usano software di portafoglio compatibile è rischioso: può portare alla perdita dei fondi scambiati!\nIl mediatore o l'arbitro non è uno specialista {2} e non può essere d'aiuto in questi casi. -account.altcoin.popup.wallet.confirm=Capisco e confermo di sapere quale portafoglio devo usare. +account.crypto.yourCryptoAccounts=I tuoi conti crypto +account.crypto.popup.wallet.msg=Assicurati di seguire i requisiti per l'uso di {0} portafogli come descritto nella pagina web {1}.\nL'uso di portafogli da exchange centralizzati in cui (a) non controlli le tue chiavi o (b) che non usano software di portafoglio compatibile è rischioso: può portare alla perdita dei fondi scambiati!\nIl mediatore o l'arbitro non è uno specialista {2} e non può essere d'aiuto in questi casi. +account.crypto.popup.wallet.confirm=Capisco e confermo di sapere quale portafoglio devo usare. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Il trading di ARQ su Haveno richiede di comprendere e soddisfare i seguenti requisiti:\n\nPer inviare ARQ, è necessario utilizzare il portafoglio GUI ArQmA ufficiale o il portafoglio CLI ArQmA con il flag store-tx-info abilitato (impostazione predefinita nelle nuove versioni). Assicurati di poter accedere alla chiave tx come sarebbe richiesto in caso di controversia.\narqma-wallet-cli (utilizzare il comando get_tx_key)\narqma-wallet-gui (vai allo storico trnsazioni e fai clic sul pulsante (P) per la prova del pagamento)\n\nNegli explorer di blocchi normali il trasferimento non è verificabile.\n\nÈ necessario fornire al mediatore o all'arbitro i seguenti dati in caso di controversia:\n- La chiave privata tx\n- L'hash della transazione\n- L'indirizzo pubblico del destinatario\n\nIl mancato conferimento dei dati di cui sopra o l'utilizzo di un portafoglio incompatibile comporterà la perdita del caso di contestazione. Il mittente ARQ è responsabile di fornire la verifica del trasferimento ARQ al mediatore o all'arbitro in caso di controversia.\n\nNon è richiesto un ID di pagamento, ma solo il normale indirizzo pubblico.\nSe non si è sicuri di tale processo, visitare il canale discord ArQmA (https://discord.gg/s9BQpJT) o il forum ArQmA (https://labs.arqma.com) per trovare ulteriori informazioni.\n  +account.crypto.popup.arq.msg=Il trading di ARQ su Haveno richiede di comprendere e soddisfare i seguenti requisiti:\n\nPer inviare ARQ, è necessario utilizzare il portafoglio GUI ArQmA ufficiale o il portafoglio CLI ArQmA con il flag store-tx-info abilitato (impostazione predefinita nelle nuove versioni). Assicurati di poter accedere alla chiave tx come sarebbe richiesto in caso di controversia.\narqma-wallet-cli (utilizzare il comando get_tx_key)\narqma-wallet-gui (vai allo storico trnsazioni e fai clic sul pulsante (P) per la prova del pagamento)\n\nNegli explorer di blocchi normali il trasferimento non è verificabile.\n\nÈ necessario fornire al mediatore o all'arbitro i seguenti dati in caso di controversia:\n- La chiave privata tx\n- L'hash della transazione\n- L'indirizzo pubblico del destinatario\n\nIl mancato conferimento dei dati di cui sopra o l'utilizzo di un portafoglio incompatibile comporterà la perdita del caso di contestazione. Il mittente ARQ è responsabile di fornire la verifica del trasferimento ARQ al mediatore o all'arbitro in caso di controversia.\n\nNon è richiesto un ID di pagamento, ma solo il normale indirizzo pubblico.\nSe non si è sicuri di tale processo, visitare il canale discord ArQmA (https://discord.gg/s9BQpJT) o il forum ArQmA (https://labs.arqma.com) per trovare ulteriori informazioni.\n  # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Il trading di Dragonglass su Haveno richiede di comprendere e soddisfare i seguenti requisiti:\n\nA causa della privacy fornita da Dragonglass, una transazione non è verificabile sulla blockchain pubblica. Se necessario, puoi provare il tuo pagamento utilizzando la tua chiave privata TXN.\nLa chiave privata TXN è una chiave una tantum generata automaticamente per ogni transazione a cui è possibile accedere solo dal proprio portafoglio DRGL.\nOppore dalla GUI del wallet DRGL (nella finestra di dialogo dei dettagli della transazione) o dalla semplice interfaccia CLI di Dragonglass (usando il comando "get_tx_key").\n\nPer entrambi è richiesta la versione DRGL 'Oathkeeper' e successive.\n\nIn caso di controversia, è necessario fornire al mediatore o all'arbitro i seguenti dati:\n- La chiave privata TXN\n- L'hash della transazione\n- L'indirizzo pubblico del destinatario\n\nLa verifica del pagamento può essere effettuata utilizzando i dati sopra riportati come input su (http://drgl.info/#check_txn).\n\nIl mancato conferimento dei dati di cui sopra o l'utilizzo di un portafoglio incompatibile comporterà la perdita del caso di disputa. Il mittente Dragonglass è responsabile di fornire la verifica del trasferimento DRGL al mediatore o all'arbitro in caso di controversia. L'uso di PaymentID non è richiesto.\n\nIn caso di dubbi su qualsiasi parte di questo processo, visitare Dragonglass su Discord (http://discord.drgl.info) per assistenza.\n  +account.crypto.popup.drgl.msg=Il trading di Dragonglass su Haveno richiede di comprendere e soddisfare i seguenti requisiti:\n\nA causa della privacy fornita da Dragonglass, una transazione non è verificabile sulla blockchain pubblica. Se necessario, puoi provare il tuo pagamento utilizzando la tua chiave privata TXN.\nLa chiave privata TXN è una chiave una tantum generata automaticamente per ogni transazione a cui è possibile accedere solo dal proprio portafoglio DRGL.\nOppore dalla GUI del wallet DRGL (nella finestra di dialogo dei dettagli della transazione) o dalla semplice interfaccia CLI di Dragonglass (usando il comando "get_tx_key").\n\nPer entrambi è richiesta la versione DRGL 'Oathkeeper' e successive.\n\nIn caso di controversia, è necessario fornire al mediatore o all'arbitro i seguenti dati:\n- La chiave privata TXN\n- L'hash della transazione\n- L'indirizzo pubblico del destinatario\n\nLa verifica del pagamento può essere effettuata utilizzando i dati sopra riportati come input su (http://drgl.info/#check_txn).\n\nIl mancato conferimento dei dati di cui sopra o l'utilizzo di un portafoglio incompatibile comporterà la perdita del caso di disputa. Il mittente Dragonglass è responsabile di fornire la verifica del trasferimento DRGL al mediatore o all'arbitro in caso di controversia. L'uso di PaymentID non è richiesto.\n\nIn caso di dubbi su qualsiasi parte di questo processo, visitare Dragonglass su Discord (http://discord.drgl.info) per assistenza.\n  # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Quando si utilizza Zcash è possibile utilizzare solo gli indirizzi trasparenti (a partire da t), non gli indirizzi z (privati), poiché il mediatore o l'arbitro non sarebbero in grado di verificare la transazione con gli indirizzi z. +account.crypto.popup.ZEC.msg=Quando si utilizza Zcash è possibile utilizzare solo gli indirizzi trasparenti (a partire da t), non gli indirizzi z (privati), poiché il mediatore o l'arbitro non sarebbero in grado di verificare la transazione con gli indirizzi z. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Quando si utilizza Zcoin è possibile utilizzare solo gli indirizzi trasparenti (tracciabili), non quelli non rintracciabili, poiché il mediatore o l'arbitro non sarebbero in grado di verificare la transazione con indirizzi non rintracciabili in un explorer di blocchi. +account.crypto.popup.XZC.msg=Quando si utilizza Zcoin è possibile utilizzare solo gli indirizzi trasparenti (tracciabili), non quelli non rintracciabili, poiché il mediatore o l'arbitro non sarebbero in grado di verificare la transazione con indirizzi non rintracciabili in un explorer di blocchi. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN richiede un processo interattivo tra il mittente e il destinatario per creare la transazione. Assicurati di seguire le istruzioni dalla pagina web del progetto GRIN per inviare e ricevere in modo affidabile GRIN (il ricevitore deve essere online o almeno essere online durante un certo periodo di tempo).\n\nHaveno supporta solo il formato URL del portafoglio Grinbox (Wallet713).\n\nIl mittente GRIN è tenuto a dimostrare di aver inviato GRIN correttamente. Se il portafoglio non è in grado di fornire tale prova, una potenziale disputa verrà risolta a favore del destinatario GRIN. Assicurati di utilizzare il software Grinbox più recente che supporti la prova delle transazioni e di comprendere il processo di trasferimento e ricezione di GRIN e come creare la prova.\n\nVedi https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only per ulteriori informazioni sullo strumento Grinbox proof. +account.crypto.popup.grin.msg=GRIN richiede un processo interattivo tra il mittente e il destinatario per creare la transazione. Assicurati di seguire le istruzioni dalla pagina web del progetto GRIN per inviare e ricevere in modo affidabile GRIN (il ricevitore deve essere online o almeno essere online durante un certo periodo di tempo).\n\nHaveno supporta solo il formato URL del portafoglio Grinbox (Wallet713).\n\nIl mittente GRIN è tenuto a dimostrare di aver inviato GRIN correttamente. Se il portafoglio non è in grado di fornire tale prova, una potenziale disputa verrà risolta a favore del destinatario GRIN. Assicurati di utilizzare il software Grinbox più recente che supporti la prova delle transazioni e di comprendere il processo di trasferimento e ricezione di GRIN e come creare la prova.\n\nVedi https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only per ulteriori informazioni sullo strumento Grinbox proof. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM richiede un processo interattivo tra il mittente e il destinatario per creare la transazione.\n\nAssicurati di seguire le istruzioni dalla pagina web del progetto BEAM per inviare e ricevere in modo affidabile BEAM (il ricevitore deve essere online o almeno essere online durante un certo periodo di tempo).\n\nIl mittente BEAM è tenuto a fornire la prova di aver inviato BEAM correttamente. Assicurati di utilizzare il software del portafoglio che può produrre tale prova. Se il portafoglio non è in grado di fornire la prova, una potenziale disputa verrà risolta a favore del destinatario BEAM. +account.crypto.popup.beam.msg=BEAM richiede un processo interattivo tra il mittente e il destinatario per creare la transazione.\n\nAssicurati di seguire le istruzioni dalla pagina web del progetto BEAM per inviare e ricevere in modo affidabile BEAM (il ricevitore deve essere online o almeno essere online durante un certo periodo di tempo).\n\nIl mittente BEAM è tenuto a fornire la prova di aver inviato BEAM correttamente. Assicurati di utilizzare il software del portafoglio che può produrre tale prova. Se il portafoglio non è in grado di fornire la prova, una potenziale disputa verrà risolta a favore del destinatario BEAM. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Il trading di L-BTC su Haveno richiede la comprensione di quanto segue:\n\nQuando ricevi L-BTC per uno scambio su Haveno, non puoi utilizzare l'applicazione mobile Blockstream Green Wallet o un portafoglio di custodia/scambio. Devi ricevere L-BTC solo nel portafoglio Liquid Elements Core o in un altro portafoglio L-BTC che ti consenta di ottenere la chiave per il tuo indirizzo L-BTC.\n\nNel caso in cui sia necessaria la mediazione o in caso di disputa nello scambio, è necessario divulgare la chiave di ricezione per il proprio indirizzo L-BTC al mediatore Haveno o all'agente di rimborso in modo che possano verificare i dettagli della propria Transazione riservata sul proprio full node Elements Core.\n\nLa mancata fornitura delle informazioni richieste dal mediatore o dall'agente di rimborso comporterà la perdita della disputa. In tutti i casi di disputa, il ricevente L-BTC si assume al 100% l'onere della responsabilità nel fornire prove crittografiche al mediatore o all'agente di rimborso.\n\nSe non comprendi i sopracitati requisiti, non scambiare L-BTC su Haveno. +account.crypto.popup.liquidbitcoin.msg=Il trading di L-BTC su Haveno richiede la comprensione di quanto segue:\n\nQuando ricevi L-BTC per uno scambio su Haveno, non puoi utilizzare l'applicazione mobile Blockstream Green Wallet o un portafoglio di custodia/scambio. Devi ricevere L-BTC solo nel portafoglio Liquid Elements Core o in un altro portafoglio L-BTC che ti consenta di ottenere la chiave per il tuo indirizzo L-BTC.\n\nNel caso in cui sia necessaria la mediazione o in caso di disputa nello scambio, è necessario divulgare la chiave di ricezione per il proprio indirizzo L-BTC al mediatore Haveno o all'agente di rimborso in modo che possano verificare i dettagli della propria Transazione riservata sul proprio full node Elements Core.\n\nLa mancata fornitura delle informazioni richieste dal mediatore o dall'agente di rimborso comporterà la perdita della disputa. In tutti i casi di disputa, il ricevente L-BTC si assume al 100% l'onere della responsabilità nel fornire prove crittografiche al mediatore o all'agente di rimborso.\n\nSe non comprendi i sopracitati requisiti, non scambiare L-BTC su Haveno. -account.fiat.yourFiatAccounts=I tuoi conti in valuta nazionale +account.traditional.yourTraditionalAccounts=I tuoi conti in valuta nazionale account.backup.title=Portafoglio di backup account.backup.location=Posizione di backup @@ -1580,7 +1580,7 @@ popup.warning.startupFailed.twoInstances=Haveno è già in esecuzione. Non è po popup.warning.tradePeriod.halfReached=Il tuo scambio con ID {0} ha raggiunto la metà del massimo periodo di negoziazione consentito e non è ancora completato.\n\nIl periodo di scambio termina il {1}\n\nPer ulteriori informazioni, controllare lo stato dello scambio in \"Portafoglio/Scambi aperti\". popup.warning.tradePeriod.ended= \nIl tuo scambio con ID {0} ha raggiunto il limite massimo del periodo di scambio consentito e non è stato completato.\n\nIl periodo di scambio è terminato il {1}\n\nPer favore verifica il tuo trade su \"Portafoglio/Scambi aperti\" per contattare il mediatore. popup.warning.noTradingAccountSetup.headline=Non hai impostato un account di trading -popup.warning.noTradingAccountSetup.msg=È necessario impostare un conto in valuta nazionale o altcoin prima di poter creare un'offerta.\nVuoi configurare un conto? +popup.warning.noTradingAccountSetup.msg=È necessario impostare un conto in valuta nazionale o crypto prima di poter creare un'offerta.\nVuoi configurare un conto? popup.warning.noArbitratorsAvailable=Non ci sono arbitri disponibili. popup.warning.noMediatorsAvailable=Non ci sono mediatori disponibili. popup.warning.notFullyConnected=È necessario attendere fino a quando non si è completamente connessi alla rete.\nQuesto potrebbe richiedere fino a circa 2 minuti all'avvio. @@ -1803,8 +1803,8 @@ formatter.makerTaker=Maker come {0} {1} / Taker come {2} {3} formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=Sei {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Stai creando un'offerta per {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Stai creando un'offerta per {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=Stai creando un'offerta per {0} {1} +formatter.youAreCreatingAnOffer.crypto=Stai creando un'offerta per {0} {1} ({2} {3}) formatter.asMaker={0} {1} come maker formatter.asTaker={0} {1} come taker @@ -1896,11 +1896,11 @@ payment.email=Email payment.country=Paese payment.extras=Requisiti extra payment.email.mobile=Email o numero di telefono cellulare -payment.altcoin.address=Indirizzo altcoin -payment.altcoin.tradeInstantCheckbox=Fai trading istantaneo (entro 1 ora) con questa Altcoin -payment.altcoin.tradeInstant.popup=Per il trading istantaneo è necessario che entrambi i peer di trading siano online per poter completare lo scambio in meno di 1 ora.\n\nSe le tue offerte sono aperte ma non sei momentaneamente disponibile, disabilita tali offerte nella schermata "Portafoglio". -payment.altcoin=Altcoin -payment.select.altcoin=Select or search Altcoin +payment.crypto.address=Indirizzo crypto +payment.crypto.tradeInstantCheckbox=Fai trading istantaneo (entro 1 ora) con questa Crypto +payment.crypto.tradeInstant.popup=Per il trading istantaneo è necessario che entrambi i peer di trading siano online per poter completare lo scambio in meno di 1 ora.\n\nSe le tue offerte sono aperte ma non sei momentaneamente disponibile, disabilita tali offerte nella schermata "Portafoglio". +payment.crypto=Crypto +payment.select.crypto=Select or search Crypto payment.secret=Domanda segreta payment.answer=Risposta payment.wallet=ID portafoglio @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=Numero CBU shared.accountSigningState=Stato della firma dell'account #new -payment.altcoin.address.dyn={0} indirizzi -payment.altcoin.receiver.address=Indirizzo altcoin del destinatario +payment.crypto.address.dyn={0} indirizzi +payment.crypto.receiver.address=Indirizzo crypto del destinatario payment.accountNr=Numero conto payment.emailOrMobile=Email o numero di telefono cellulare payment.useCustomAccountName=Usa nome dell'account personalizzato @@ -1973,7 +1973,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=Trading using US Postal Money Orders (USPMO) on Haveno requires that you understand the following:\n\n- BTC buyers must write the BTC Seller’s name in both the Payer and the Payee’s fields & take a high-resolution photo of the USPMO and envelope with proof of tracking before sending.\n- BTC buyers must send the USPMO to the BTC seller with Delivery Confirmation.\n\nIn the event mediation is necessary, or if there is a trade dispute, you will be required to send the photos to the Haveno mediator or refund agent, together with the USPMO Serial Number, Post Office Number, and dollar amount, so they can verify the details on the US Post Office website.\n\nFailure to provide the required information to the Mediator or Arbitrator will result in losing the dispute case.\n\nIn all dispute cases, the USPMO sender bears 100% of the burden of responsibility in providing evidence/proof to the Mediator or Arbitrator.\n\nIf you do not understand these requirements, do not trade using USPMO on Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=Informazioni di contatto payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2070,7 +2070,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoin +BLOCK_CHAINS=Crypto # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2080,7 +2080,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoin Instant +BLOCK_CHAINS_INSTANT=Crypto Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2122,7 +2122,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoin +BLOCK_CHAINS_SHORT=Crypto # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2132,7 +2132,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoin Instant +BLOCK_CHAINS_INSTANT_SHORT=Crypto Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2152,8 +2152,8 @@ validation.NaN=L'input non è un numero valido. validation.notAnInteger=L'input non è un valore intero. validation.zero=Un input di 0 non è consentito. validation.negative=Un valore negativo non è consentito. -validation.fiat.tooSmall=Non è consentito un input inferiore al minimo possibile. -validation.fiat.tooLarge=Non è consentito un input maggiore del massimo possibile. +validation.traditional.tooSmall=Non è consentito un input inferiore al minimo possibile. +validation.traditional.tooLarge=Non è consentito un input maggiore del massimo possibile. validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=L'immissione maggiore di {0} non è consentita. validation.xmr.tooSmall=L'immissione inferiore a {0} non è consentita. @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} deve essere composto da {1} numeri. validation.invalidInput=Input non valido: {0} validation.accountNrFormat=Il numero di conto deve essere nel formato: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Convalida dell'indirizzo non riuscita perché non corrisponde alla struttura di un indirizzo {0}. +validation.crypto.wrongStructure=Convalida dell'indirizzo non riuscita perché non corrisponde alla struttura di un indirizzo {0}. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=L'indirizzo non è un indirizzo {0} valido! {1} +validation.crypto.invalidAddress=L'indirizzo non è un indirizzo {0} valido! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Gli indirizzi segwit nativi (quelli che iniziano con 'lq') non sono supportati. +validation.crypto.liquidBitcoin.invalidAddress=Gli indirizzi segwit nativi (quelli che iniziano con 'lq') non sono supportati. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=Il codice bancario e quello nazionale devono essere lettere validation.bic.invalidLocationCode=BIC contiene un codice di posizione non valido diff --git a/core/src/main/resources/i18n/displayStrings_ja.properties b/core/src/main/resources/i18n/displayStrings_ja.properties index fac0c03d..44aa0025 100644 --- a/core/src/main/resources/i18n/displayStrings_ja.properties +++ b/core/src/main/resources/i18n/displayStrings_ja.properties @@ -190,7 +190,7 @@ shared.makerTxFee=メイカー: {0} shared.takerTxFee=テイカー: {0} shared.iConfirm=確認します shared.openURL={0} をオープン -shared.fiat=法定通貨 +shared.traditional=法定通貨 shared.crypto=暗号通貨 shared.all=全て shared.edit=編集 @@ -287,10 +287,10 @@ market.tabs.spreadPayment=支払い方法別のオファー market.tabs.trades=取引 # OfferBookChartView -market.offerBook.buyAltcoin={0}を買う({1}を売る) -market.offerBook.sellAltcoin={0}を売る({1}を買う) -market.offerBook.buyWithFiat={0}を買う -market.offerBook.sellWithFiat={0}を売る +market.offerBook.buyCrypto={0}を買う({1}を売る) +market.offerBook.sellCrypto={0}を売る({1}を買う) +market.offerBook.buyWithTraditional={0}を買う +market.offerBook.sellWithTraditional={0}を売る market.offerBook.sellOffersHeaderLabel=以下に{0}を売る market.offerBook.buyOffersHeaderLabel=以下から{0}を買う market.offerBook.buy=ビットコインを買いたい @@ -361,8 +361,8 @@ offerbook.deposit.help=トレードを保証するため、両方の取引者が offerbook.createOfferToBuy={0} を購入するオファーを作成 offerbook.createOfferToSell={0} を売却するオファーを作成 -offerbook.createOfferToBuy.withFiat={1} で {0} を購入するオファーを作成 -offerbook.createOfferToSell.forFiat={1} で {0} を売却するオファーを作成 +offerbook.createOfferToBuy.withTraditional={1} で {0} を購入するオファーを作成 +offerbook.createOfferToSell.forTraditional={1} で {0} を売却するオファーを作成 offerbook.createOfferToBuy.withCrypto={0} を売却する({1}購入)オファーを作成 offerbook.createOfferToSell.forCrypto={0} を購入する({1}売却)オファーを作成 @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=オファーを編集 portfolio.closedTrades.deviation.help=市場からの割合価格偏差 -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=ブロックチェーンの承認をお待ち下さい portfolio.pending.step2_buyer.startPayment=支払い開始 @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=注意点:支払う時に、\"支払 # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=銀行口座振替を行うには手数料がある場合、その手数料を払う責任があります。 # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=外部{0}ウォレットから転送してください\nBTCの売り手へ{1}。\n\n +portfolio.pending.step2_buyer.crypto=外部{0}ウォレットから転送してください\nBTCの売り手へ{1}。\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=銀行に行き、BTCの売り手へ{0}を支払ってください。\n\n portfolio.pending.step2_buyer.cash.extra=重要な要件:\n支払いが完了したら、領収書に「返金無し(NO REFUNDS)」と記載してください。\nそれからそれを2部に分け、写真を撮り、そしてBTCの売り手のEメールアドレスへそれを送ってください。 @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=BTCの売り手はまだあなたの支 portfolio.pending.step3_buyer.openForDispute=BTCの売り手があなたの支払いを確認していません!トレードの最大期間が経過しました。もっと長く待って取引相手にもっと時間を与えるか、調停人から援助を求めることができます。 # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=あなたのトレード相手は、彼らが{0}の支払いを開始したことを確認しました。\n\n -portfolio.pending.step3_seller.altcoin.explorer=あなたの好きな{0}ブロックチェーンエクスプローラで -portfolio.pending.step3_seller.altcoin.wallet=あなたの{0}ウォレットで -portfolio.pending.step3_seller.altcoin={0}あなたの受け取りアドレスへのトランザクションが{1}かどうかを確認してください\n{2}\nはすでに十分なブロックチェーンの承認があります。\n支払い額は{3}です\n\nポップアップを閉じた後、メイン画面から{4}アドレスをコピーして貼り付けることができます。 +portfolio.pending.step3_seller.crypto.explorer=あなたの好きな{0}ブロックチェーンエクスプローラで +portfolio.pending.step3_seller.crypto.wallet=あなたの{0}ウォレットで +portfolio.pending.step3_seller.crypto={0}あなたの受け取りアドレスへのトランザクションが{1}かどうかを確認してください\n{2}\nはすでに十分なブロックチェーンの承認があります。\n支払い額は{3}です\n\nポップアップを閉じた後、メイン画面から{4}アドレスをコピーして貼り付けることができます。 portfolio.pending.step3_seller.postal={0}\"米国の郵便為替\"でBTCの買い手から{1}を受け取ったか確認して下さい。 # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}\"郵送で現金\"でBTCの買い手から{1}を受け取ったか確認して下さい。 @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=トランザクション・キー portfolio.pending.step3_seller.buyersAccount=買い手のアカウント・データ portfolio.pending.step3_seller.confirmReceipt=支払い受領を確認 portfolio.pending.step3_seller.buyerStartedPayment=BTCの買い手が{0}の支払いを開始しました。\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=あなたのアルトコインウォレットやブロックエクスプローラーでブロックチェーンの確認を確認し、十分なブロックチェーンの承認があるときに支払いを確認してください。 -portfolio.pending.step3_seller.buyerStartedPayment.fiat=あなたのトレードアカウント(例えば銀行口座)をチェックして、あなたが支払いを受領した時に承認して下さい。 +portfolio.pending.step3_seller.buyerStartedPayment.crypto=あなたのアルトコインウォレットやブロックエクスプローラーでブロックチェーンの確認を確認し、十分なブロックチェーンの承認があるときに支払いを確認してください。 +portfolio.pending.step3_seller.buyerStartedPayment.traditional=あなたのトレードアカウント(例えば銀行口座)をチェックして、あなたが支払いを受領した時に承認して下さい。 portfolio.pending.step3_seller.warn.part1a={0} blockchain上で portfolio.pending.step3_seller.warn.part1b=支払いプロバイダ(銀行など)で portfolio.pending.step3_seller.warn.part2=あなたはまだ支払いの受領を承認していません。支払い{0}を受け取ったかどうかを確認してください。 @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=希望する通貨 setting.preferences.displayFiat=各国通貨の表示 setting.preferences.noFiat=各国通貨が選択されていません setting.preferences.cannotRemovePrefCurrency=選択した希望の表示通貨は削除できません -setting.preferences.displayAltcoins=アルトコインの表示 -setting.preferences.noAltcoins=選択されたアルトコインがありません +setting.preferences.displayCryptos=アルトコインの表示 +setting.preferences.noCryptos=選択されたアルトコインがありません setting.preferences.addFiat=各国通貨を追加する -setting.preferences.addAltcoin=アルトコインを追加する +setting.preferences.addCrypto=アルトコインを追加する setting.preferences.displayOptions=表示設定 setting.preferences.showOwnOffers=オファーブックに自分のオファーを表示 setting.preferences.useAnimations=アニメーションを使用 @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=登録を削除できませんで account.arbitratorRegistration.registerSuccess=Havenoネットワークに正常に登録しました。 account.arbitratorRegistration.registerFailed=登録を完了できませんでした。{0} -account.altcoin.yourAltcoinAccounts=あなたのアルトコインアカウント -account.altcoin.popup.wallet.msg={1} のWebページに記載されているように、{0}ウォレットの使用に関する要件に必ず従ってください。\n(a)あなたが自分で鍵を管理していない、または(b)互換性のあるウォレットソフトウェアを使用していないような、中央集権化された取引所でウォレットを使用することは危険です。トレード資金の損失につながる可能性があります!\n調停者や調停人は{2}スペシャリストではなく、そのような場合には手助けできません。 -account.altcoin.popup.wallet.confirm=どのウォレットを使うべきか理解しており、承認する +account.crypto.yourCryptoAccounts=あなたのアルトコインアカウント +account.crypto.popup.wallet.msg={1} のWebページに記載されているように、{0}ウォレットの使用に関する要件に必ず従ってください。\n(a)あなたが自分で鍵を管理していない、または(b)互換性のあるウォレットソフトウェアを使用していないような、中央集権化された取引所でウォレットを使用することは危険です。トレード資金の損失につながる可能性があります!\n調停者や調停人は{2}スペシャリストではなく、そのような場合には手助けできません。 +account.crypto.popup.wallet.confirm=どのウォレットを使うべきか理解しており、承認する # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=HavenoでARQをトレードするには、次の要件を理解し、満たす必要があります。\n\nARQを送信するには、store-tx-infoフラグを有効(新しいバージョンではデフォルト)にした公式のArQmA GUIウォレットまたはArQmA CLIウォレットのいずれかを使用する必要があります。係争が発生した場合に必要になるため、txキーにアクセスできることを確認してください。\narqma-wallet-cli(コマンドget_tx_keyを使用)\narqma-wallet-gui(履歴タブに移動し、支払い証明のために(P)ボタンをクリックします)\n\n通常のブロックエクスプローラーでは、転送は検証できません。\n\n係争の場合、調停人に次のデータを提供する必要があります。\n-txプライベートキー\n-トランザクションハッシュ\n-受信者のパブリックアドレス\n\n上記のデータを提供しない場合、または互換性のないウォレットを使用した場合は、係争のケースが失われます。 ARQ送信者は、係争の場合にARQ転送の検証を調停人に提供する責任があります。\n\n支払いIDは不要で、通常のパブリックアドレスのみです。\nこのプロセスがわからない場合は、ArQmA Discordチャンネル( https://discord.gg/s9BQpJT )またはArQmAフォーラム( https://labs.arqma.com )にアクセスして、詳細を確認してください。 +account.crypto.popup.arq.msg=HavenoでARQをトレードするには、次の要件を理解し、満たす必要があります。\n\nARQを送信するには、store-tx-infoフラグを有効(新しいバージョンではデフォルト)にした公式のArQmA GUIウォレットまたはArQmA CLIウォレットのいずれかを使用する必要があります。係争が発生した場合に必要になるため、txキーにアクセスできることを確認してください。\narqma-wallet-cli(コマンドget_tx_keyを使用)\narqma-wallet-gui(履歴タブに移動し、支払い証明のために(P)ボタンをクリックします)\n\n通常のブロックエクスプローラーでは、転送は検証できません。\n\n係争の場合、調停人に次のデータを提供する必要があります。\n-txプライベートキー\n-トランザクションハッシュ\n-受信者のパブリックアドレス\n\n上記のデータを提供しない場合、または互換性のないウォレットを使用した場合は、係争のケースが失われます。 ARQ送信者は、係争の場合にARQ転送の検証を調停人に提供する責任があります。\n\n支払いIDは不要で、通常のパブリックアドレスのみです。\nこのプロセスがわからない場合は、ArQmA Discordチャンネル( https://discord.gg/s9BQpJT )またはArQmAフォーラム( https://labs.arqma.com )にアクセスして、詳細を確認してください。 # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=HavenoでXMRをトレードするには、以下の要件を理解し、満たす必要があります。\n\nXMRを売る場合、係争を解決するため調停者や調停人に以下の情報を提供できる必要があります:\n- トランザクションキー(Txキー、Tx秘密キー、Txプライベートキー)\n- トランザクションID(TxID、Txハッシュ)\n- 宛先アドレス(受領者のアドレス)\n\n人気のモネロウォレットからこういう情報を見つける方法について、HavenoのWikiを参照して下さい [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments]\n必要のトランザクションデータを提供しなければ、係争で不利な裁定を下されます。\n\nHavenoではXMRトランザクションに自動確認機能を提供しますが、設で有効にする必要があります。\n\n自動確認機能について詳しくはWikiで参照して下さい:\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades] +account.crypto.popup.xmr.msg=HavenoでXMRをトレードするには、以下の要件を理解し、満たす必要があります。\n\nXMRを売る場合、係争を解決するため調停者や調停人に以下の情報を提供できる必要があります:\n- トランザクションキー(Txキー、Tx秘密キー、Txプライベートキー)\n- トランザクションID(TxID、Txハッシュ)\n- 宛先アドレス(受領者のアドレス)\n\n人気のモネロウォレットからこういう情報を見つける方法について、HavenoのWikiを参照して下さい [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments]\n必要のトランザクションデータを提供しなければ、係争で不利な裁定を下されます。\n\nHavenoではXMRトランザクションに自動確認機能を提供しますが、設で有効にする必要があります。\n\n自動確認機能について詳しくはWikiで参照して下さい:\n[HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades] # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=HavenoでBLURをトレードするには、次の要件を理解し、満たす必要があります。\n\nBLURを送信するには、Blur Network CLIまたはGUI ウォレットを使用する必要があります。\n\nCLIウォレットを使用している場合、転送の送信後にトランザクションハッシュ(tx ID)が表示されます。この情報を保存する必要があります。転送を送信した直後に、コマンド「get_tx_key」を使用してトランザクションプライベートキーを取得する必要があります。この手順を実行しないと、後でキーを取得できない場合があります。\n\nBlur Network GUIウォレットを使用している場合、トランザクションのプライベートキーとトランザクションIDは「履歴」タブで簡単に見つけることができます。送信後すぐに、目的のトランザクションを見つけてください。このトランザクションを含むボックスの右下隅にある「?」記号をクリックしてください。この情報を保存する必要があります。\n\n調停が必要な場合は、1) トランザクションID、2) トランザクションプライベートキー、3) 受信者のアドレス を調停人に提示する必要があります。調停人は、Blur Transaction Viewer( https://blur.cash/#tx-viewer )を使用してBLUR転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、BLUR送信者は、調停人に対する取引を確認する責任の100%を負担します。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、Blur Network Discord( https://discord.gg/dMWaqVW )で助けを求めてください。 +account.crypto.popup.blur.msg=HavenoでBLURをトレードするには、次の要件を理解し、満たす必要があります。\n\nBLURを送信するには、Blur Network CLIまたはGUI ウォレットを使用する必要があります。\n\nCLIウォレットを使用している場合、転送の送信後にトランザクションハッシュ(tx ID)が表示されます。この情報を保存する必要があります。転送を送信した直後に、コマンド「get_tx_key」を使用してトランザクションプライベートキーを取得する必要があります。この手順を実行しないと、後でキーを取得できない場合があります。\n\nBlur Network GUIウォレットを使用している場合、トランザクションのプライベートキーとトランザクションIDは「履歴」タブで簡単に見つけることができます。送信後すぐに、目的のトランザクションを見つけてください。このトランザクションを含むボックスの右下隅にある「?」記号をクリックしてください。この情報を保存する必要があります。\n\n調停が必要な場合は、1) トランザクションID、2) トランザクションプライベートキー、3) 受信者のアドレス を調停人に提示する必要があります。調停人は、Blur Transaction Viewer( https://blur.cash/#tx-viewer )を使用してBLUR転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、BLUR送信者は、調停人に対する取引を確認する責任の100%を負担します。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、Blur Network Discord( https://discord.gg/dMWaqVW )で助けを求めてください。 # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=HavenoでCASH2をトレードするには、次の要件を理解し、満たす必要があります。\n\nCASH2を送信するには、Cash2 Walletバージョン3以降を使用する必要があります。\n\nトランザクションが送信された後、トランザクションIDが表示されます。この情報を保存する必要があります。トランザクションを送信した直後に、simplewalletのコマンド「getTxKey」を使用して、トランザクションのプライベートキーを取得する必要があります。\n\n調停が必要な場合は、1) トランザクションID、2) トランザクションプライベートキー、および 3) 受信者のCash2アドレス を調停人に提示する必要があります。その後、調停人は、Cash2 Block Explorer( https://blocks.cash2.org )を使用してCASH2転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、CASH2の送信者が、仲裁人への取引を確認する責任を100%負います。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、Cash2 Discord( https://discord.gg/FGfXAYN )で助けを求めてください。 +account.crypto.popup.cash2.msg=HavenoでCASH2をトレードするには、次の要件を理解し、満たす必要があります。\n\nCASH2を送信するには、Cash2 Walletバージョン3以降を使用する必要があります。\n\nトランザクションが送信された後、トランザクションIDが表示されます。この情報を保存する必要があります。トランザクションを送信した直後に、simplewalletのコマンド「getTxKey」を使用して、トランザクションのプライベートキーを取得する必要があります。\n\n調停が必要な場合は、1) トランザクションID、2) トランザクションプライベートキー、および 3) 受信者のCash2アドレス を調停人に提示する必要があります。その後、調停人は、Cash2 Block Explorer( https://blocks.cash2.org )を使用してCASH2転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、CASH2の送信者が、仲裁人への取引を確認する責任を100%負います。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、Cash2 Discord( https://discord.gg/FGfXAYN )で助けを求めてください。 # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=HavenoでQwertycoinをトレードするには、次の要件を理解し、満たす必要があります。\n\nQWCを送信するには、公式のQWCウォレットバージョン5.1.3以降を使用する必要があります。\n\nトランザクションが送信された後、トランザクションIDが表示されます。この情報を保存する必要があります。トランザクションを送信した直後に、simplewalletのコマンド「get_Tx_Key」を使用してトランザクションのプライベートキーを取得する必要があります。\n\n調停が必要な場合は、1) トランザクションID、2) トランザクションプライベートキー、3)受信者のQWCアドレス を調停人に提示する必要があります。その後、調停人はQWC Block Explorer( https://explorer.qwertycoin.org )を使用してQWC転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、QWCの送信者が、調停人のトレードの検証における100%の責任を負います。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、QWC Discord( https://discord.gg/rUkfnpC )で助けを求めてください。 +account.crypto.popup.qwertycoin.msg=HavenoでQwertycoinをトレードするには、次の要件を理解し、満たす必要があります。\n\nQWCを送信するには、公式のQWCウォレットバージョン5.1.3以降を使用する必要があります。\n\nトランザクションが送信された後、トランザクションIDが表示されます。この情報を保存する必要があります。トランザクションを送信した直後に、simplewalletのコマンド「get_Tx_Key」を使用してトランザクションのプライベートキーを取得する必要があります。\n\n調停が必要な場合は、1) トランザクションID、2) トランザクションプライベートキー、3)受信者のQWCアドレス を調停人に提示する必要があります。その後、調停人はQWC Block Explorer( https://explorer.qwertycoin.org )を使用してQWC転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、QWCの送信者が、調停人のトレードの検証における100%の責任を負います。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、QWC Discord( https://discord.gg/rUkfnpC )で助けを求めてください。 # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=HavenoでDragonglassをトレードするには、次の要件を理解し、満たす必要があります。\n\nDragonglassが提供するプライバシーのため、トランザクションはパブリックブロックチェーンでは検証できません。必要に応じて、TXN-Private-Keyを使用して支払いを証明できます。\nTXN-Private-Keyは、DRGLウォレット内からのみアクセスできるトランザクションごとに自動的に生成されるワンタイムキーです。\nDRGLウォレットGUI(トランザクション詳細ダイアログ内)またはDragonglass CLIシンプルウォレット(コマンド「get_tx_key」を使用)のいずれか。\n\nDRGLバージョン「Oathkeeper」以降には両方が「必要」です。\n\n係争が発生した場合、調停人に次のデータを提供する必要があります。\n-TXN-Private-Key\n-トランザクションハッシュ\n-受信者のパブリックアドレス\n\n上記のデータを( http://drgl.info/#check_txn )の入力として使用して、支払いの検証を行うことができます。\n\n上記のデータを提供しない場合、または互換性のないウォレットを使用した場合は、係争のケースが失われます。 Dragonglassの送信者は、係争の場合にDRGL転送の調停人に検証を提供する責任があります。 PaymentIDの使用は必要ありません。\n\nこのプロセスについて不明な点がある場合は、Dragonglass on Discord( http://discord.drgl.info )にアクセスしてください。 +account.crypto.popup.drgl.msg=HavenoでDragonglassをトレードするには、次の要件を理解し、満たす必要があります。\n\nDragonglassが提供するプライバシーのため、トランザクションはパブリックブロックチェーンでは検証できません。必要に応じて、TXN-Private-Keyを使用して支払いを証明できます。\nTXN-Private-Keyは、DRGLウォレット内からのみアクセスできるトランザクションごとに自動的に生成されるワンタイムキーです。\nDRGLウォレットGUI(トランザクション詳細ダイアログ内)またはDragonglass CLIシンプルウォレット(コマンド「get_tx_key」を使用)のいずれか。\n\nDRGLバージョン「Oathkeeper」以降には両方が「必要」です。\n\n係争が発生した場合、調停人に次のデータを提供する必要があります。\n-TXN-Private-Key\n-トランザクションハッシュ\n-受信者のパブリックアドレス\n\n上記のデータを( http://drgl.info/#check_txn )の入力として使用して、支払いの検証を行うことができます。\n\n上記のデータを提供しない場合、または互換性のないウォレットを使用した場合は、係争のケースが失われます。 Dragonglassの送信者は、係争の場合にDRGL転送の調停人に検証を提供する責任があります。 PaymentIDの使用は必要ありません。\n\nこのプロセスについて不明な点がある場合は、Dragonglass on Discord( http://discord.drgl.info )にアクセスしてください。 # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Zcashを使用する場合、調停者や調停人はzアドレスを持つトランザクションを検証できないため、zアドレス(プライベート)ではなく、透過アドレス(tで始まる)のみを使用できます。 +account.crypto.popup.ZEC.msg=Zcashを使用する場合、調停者や調停人はzアドレスを持つトランザクションを検証できないため、zアドレス(プライベート)ではなく、透過アドレス(tで始まる)のみを使用できます。 # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Zcoinを使用する場合、調停者や調停人はブロックエクスプローラーで追跡不可能なアドレスを持つトランザクションを検証できないため、追跡不可能なアドレスではなく、透過(追跡可能な)アドレスのみを使用できます。 +account.crypto.popup.XZC.msg=Zcoinを使用する場合、調停者や調停人はブロックエクスプローラーで追跡不可能なアドレスを持つトランザクションを検証できないため、追跡不可能なアドレスではなく、透過(追跡可能な)アドレスのみを使用できます。 # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRINでは、トランザクションを作成するために送信者と受信者の間の対話型プロセスが必要です。 GRINプロジェクトのWebページの指示に従って、GRINを確実に送受信してください(受信者はオンラインであるか、特定の時間枠内で少なくともオンラインである必要があります)。\n\nHavenoは、Grinbox(Wallet713)ウォレットURL形式のみをサポートします。\n\nGRIN送信者は、GRINが正常に送信されたことを証明する必要があります。ウォレットがその証拠を提供できない場合、起こり得る係争はGRIN受信者に有利に解決されるでしょう。トランザクションプルーフをサポートする最新のGrinboxソフトウェアを使用し、GRINの送受信プロセスとプルーフの作成方法を理解してください。\n\nGrinboxプルーフツールの詳細については、https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only を参照してください。 +account.crypto.popup.grin.msg=GRINでは、トランザクションを作成するために送信者と受信者の間の対話型プロセスが必要です。 GRINプロジェクトのWebページの指示に従って、GRINを確実に送受信してください(受信者はオンラインであるか、特定の時間枠内で少なくともオンラインである必要があります)。\n\nHavenoは、Grinbox(Wallet713)ウォレットURL形式のみをサポートします。\n\nGRIN送信者は、GRINが正常に送信されたことを証明する必要があります。ウォレットがその証拠を提供できない場合、起こり得る係争はGRIN受信者に有利に解決されるでしょう。トランザクションプルーフをサポートする最新のGrinboxソフトウェアを使用し、GRINの送受信プロセスとプルーフの作成方法を理解してください。\n\nGrinboxプルーフツールの詳細については、https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only を参照してください。 # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAMではトランザクションを作成するために、送信者と受信者の間で対話型プロセスが必要です。\n\n必ずBEAMプロジェクトのWebページの指示に従って、BEAMを確実に送受信してください(受信者はオンラインであるか、特定の時間枠で少なくともオンラインである必要があります)。\n\nBEAM送信者は、BEAMが正常に送信されたことを証明する必要があります。そのような証拠を作成できるウォレットソフトウェアを使用してください。ウォレットが証拠を提供できない場合、起こり得る論争はBEAM受信者に有利に解決されるでしょう。 +account.crypto.popup.beam.msg=BEAMではトランザクションを作成するために、送信者と受信者の間で対話型プロセスが必要です。\n\n必ずBEAMプロジェクトのWebページの指示に従って、BEAMを確実に送受信してください(受信者はオンラインであるか、特定の時間枠で少なくともオンラインである必要があります)。\n\nBEAM送信者は、BEAMが正常に送信されたことを証明する必要があります。そのような証拠を作成できるウォレットソフトウェアを使用してください。ウォレットが証拠を提供できない場合、起こり得る論争はBEAM受信者に有利に解決されるでしょう。 # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=ParsiCoinをHavenoでトレードするには、次の要件を理解し、満たす必要があります。\n\nPARSを送信するには、公式のParsiCoin Walletバージョン3.0.0以降を使用する必要があります。\n\nGUIウォレット(ParsiPay)のTransactionsセクションでトランザクションハッシュとトランザクションキーを確認できます。Transactionを右クリックして、show detailsをクリックします。\n\n調停が必要な場合は、1) トランザクションハッシュ、2) トランザクションキー、および3) 受信者のPARSア​​ドレス を調停人に提示する必要があります。その後、調停人は、ParsiCoin Block Explorer( http://explorer.parsicoin.net/#check_payment )を使用してPARS転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、ParsiCoinの送信者が、係争人のトランザクションの検証における100%の責任を負います。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、ParsiCoin Discord( https://discord.gg/c7qmFNh )で助けを求めてください。 +account.crypto.popup.pars.msg=ParsiCoinをHavenoでトレードするには、次の要件を理解し、満たす必要があります。\n\nPARSを送信するには、公式のParsiCoin Walletバージョン3.0.0以降を使用する必要があります。\n\nGUIウォレット(ParsiPay)のTransactionsセクションでトランザクションハッシュとトランザクションキーを確認できます。Transactionを右クリックして、show detailsをクリックします。\n\n調停が必要な場合は、1) トランザクションハッシュ、2) トランザクションキー、および3) 受信者のPARSア​​ドレス を調停人に提示する必要があります。その後、調停人は、ParsiCoin Block Explorer( http://explorer.parsicoin.net/#check_payment )を使用してPARS転送を検証します。\n\n必要な情報を調停人に提供しないと、係争のケースが失われます。係争のすべての場合において、ParsiCoinの送信者が、係争人のトランザクションの検証における100%の責任を負います。\n\nこれらの要件を理解していない場合は、Havenoで取引しないでください。まず、ParsiCoin Discord( https://discord.gg/c7qmFNh )で助けを求めてください。 # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=HavenoでL-BTCをトレードするには、以下を理解する必要があります:\n\nHavenoでのトレードにL-BTCを受け取る場合、モバイル用「Blockstream Green」ウォレットアプリそれとも取引場などの第三者によって保管されるウォレットの利用は不可能です。「Liquid Elements Core」ウォレット、あるいは機密L-BTCアドレスの「blindingキー」が入手可能のウォレットのみにL-BTCを受け取って下さい。\n\n調停が必要になる場合、あるいはトレード係争が開始される場合、調停者や調停人が「Elements Core」フルノードで機密トランザクションを検証できるように、受取アドレスのblindingキーを明かす必要があります。\n\n調停者や調停人に必要な情報を提供しなければ、係争で不利な裁定を下されます。全ての係争には、調停者や調停人に暗号証明を提供するのは100%受信者の責任です。\n\n以上の条件を理解しない場合、HavenoでL-BTCのトレードをしないで下さい。 +account.crypto.popup.liquidbitcoin.msg=HavenoでL-BTCをトレードするには、以下を理解する必要があります:\n\nHavenoでのトレードにL-BTCを受け取る場合、モバイル用「Blockstream Green」ウォレットアプリそれとも取引場などの第三者によって保管されるウォレットの利用は不可能です。「Liquid Elements Core」ウォレット、あるいは機密L-BTCアドレスの「blindingキー」が入手可能のウォレットのみにL-BTCを受け取って下さい。\n\n調停が必要になる場合、あるいはトレード係争が開始される場合、調停者や調停人が「Elements Core」フルノードで機密トランザクションを検証できるように、受取アドレスのblindingキーを明かす必要があります。\n\n調停者や調停人に必要な情報を提供しなければ、係争で不利な裁定を下されます。全ての係争には、調停者や調停人に暗号証明を提供するのは100%受信者の責任です。\n\n以上の条件を理解しない場合、HavenoでL-BTCのトレードをしないで下さい。 -account.fiat.yourFiatAccounts=あなたの各国通貨口座 +account.traditional.yourTraditionalAccounts=あなたの各国通貨口座 account.backup.title=ウォレットのバックアップ account.backup.location=バックアップの場所 @@ -1803,8 +1803,8 @@ formatter.makerTaker=メイカーは{0} {1} / テイカーは{2} {3} formatter.youAreAsMaker=あなたは:{1} {0}(メイカー) / テイカーは:{3} {2} formatter.youAreAsTaker=あなたは:{1} {0}(テイカー) / メイカーは{3} {2} formatter.youAre=あなたは{0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=あなたはオファーを{0} {1}に作成中です -formatter.youAreCreatingAnOffer.altcoin=あなたはオファーを{0} {1} ({2} {3})に作成中です +formatter.youAreCreatingAnOffer.traditional=あなたはオファーを{0} {1}に作成中です +formatter.youAreCreatingAnOffer.crypto=あなたはオファーを{0} {1} ({2} {3})に作成中です formatter.asMaker={0} {1}のメイカー formatter.asTaker={0} {1}のテイカー @@ -1896,11 +1896,11 @@ payment.email=メール payment.country=国 payment.extras=追加要件 payment.email.mobile=メールまたは携帯電話番号 -payment.altcoin.address=アルトコインアドレス -payment.altcoin.tradeInstantCheckbox=このアルトコインでインスタントトレード(1時間以内) -payment.altcoin.tradeInstant.popup=インスタントトレードでは、両方の取引者が1時間以内に取引を完了できるようにオンラインになっている必要があります。\n\n既にオープンなオファーがあり利用できない場合は「ポートフォリオ」画面でそれらのオファーを無効にしてください。 -payment.altcoin=アルトコイン -payment.select.altcoin=アルトコイン選択、または検索する +payment.crypto.address=アルトコインアドレス +payment.crypto.tradeInstantCheckbox=このアルトコインでインスタントトレード(1時間以内) +payment.crypto.tradeInstant.popup=インスタントトレードでは、両方の取引者が1時間以内に取引を完了できるようにオンラインになっている必要があります。\n\n既にオープンなオファーがあり利用できない場合は「ポートフォリオ」画面でそれらのオファーを無効にしてください。 +payment.crypto=アルトコイン +payment.select.crypto=アルトコイン選択、または検索する payment.secret=秘密の質問 payment.answer=答え payment.wallet=ウォレットID @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=CBU番号 shared.accountSigningState=アカウント署名状況 #new -payment.altcoin.address.dyn={0}アドレス -payment.altcoin.receiver.address=受取人のアルトコインアドレス +payment.crypto.address.dyn={0}アドレス +payment.crypto.receiver.address=受取人のアルトコインアドレス payment.accountNr=アカウント番号 payment.emailOrMobile=メールまたは携帯電話番号 payment.useCustomAccountName=任意のアカウント名を使う @@ -2152,8 +2152,8 @@ validation.NaN=入力が不正な数です。 validation.notAnInteger=入力が整数値ではありません。 validation.zero=0の入力は許可されていません。 validation.negative=負の値は許可されていません。 -validation.fiat.tooSmall=可能な最小量より小さい入力は許可されていません。 -validation.fiat.tooLarge=可能な最大量より大きい入力は許可されていません。 +validation.traditional.tooSmall=可能な最小量より小さい入力は許可されていません。 +validation.traditional.tooLarge=可能な最大量より大きい入力は許可されていません。 validation.xmr.fraction=この入力では1サトシ以下のビットコイン値が生成されます。 validation.xmr.tooLarge={0}より大きい入力は許可されていません。 validation.xmr.tooSmall={0}より小さい入力は許可されていません。 @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0}は{1}個の数字で構成されている必要 validation.invalidInput=不正な入力: {0} validation.accountNrFormat=アカウント番号は次の形式である必要があります: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure={0}アドレスの構造と一致しないためアドレス検証に失敗しました。 +validation.crypto.wrongStructure={0}アドレスの構造と一致しないためアドレス検証に失敗しました。 # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZアドレスは必ずLで始まる必要があります。zで始まるアドレスはサポートされていません。 +validation.crypto.ltz.zAddressesNotSupported=LTZアドレスは必ずLで始まる必要があります。zで始まるアドレスはサポートされていません。 # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZECアドレスは必ずtで始まる必要があります。zで始まるアドレスはサポートされていません。 +validation.crypto.zAddressesNotSupported=ZECアドレスは必ずtで始まる必要があります。zで始まるアドレスはサポートされていません。 # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=アドレスが無効な{0}アドレスです!{1} +validation.crypto.invalidAddress=アドレスが無効な{0}アドレスです!{1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=ネイティブsegwitアドレス(lqで始まるアドレス)はサポートされていません。 +validation.crypto.liquidBitcoin.invalidAddress=ネイティブsegwitアドレス(lqで始まるアドレス)はサポートされていません。 validation.bic.invalidLength=入力長が8か11であるべきです validation.bic.letters=銀行コードと国コードは英字でなければなりません validation.bic.invalidLocationCode=BICに不正なロケーションコードが含まれています diff --git a/core/src/main/resources/i18n/displayStrings_pt-br.properties b/core/src/main/resources/i18n/displayStrings_pt-br.properties index 0448a363..1525ba19 100644 --- a/core/src/main/resources/i18n/displayStrings_pt-br.properties +++ b/core/src/main/resources/i18n/displayStrings_pt-br.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Ofertante: {0} shared.takerTxFee=Aceitador: {0} shared.iConfirm=Eu confirmo shared.openURL=Aberto {0} -shared.fiat=Fiat +shared.traditional=Traditional shared.crypto=Cripto shared.all=Todos shared.edit=Editar @@ -290,10 +290,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=Negociações # OfferBookChartView -market.offerBook.buyAltcoin=Comprar {0} (vender {1}) -market.offerBook.sellAltcoin=Vender {0} (comprar {1}) -market.offerBook.buyWithFiat=Comprar {0} -market.offerBook.sellWithFiat=Vender {0} +market.offerBook.buyCrypto=Comprar {0} (vender {1}) +market.offerBook.sellCrypto=Vender {0} (comprar {1}) +market.offerBook.buyWithTraditional=Comprar {0} +market.offerBook.sellWithTraditional=Vender {0} market.offerBook.sellOffersHeaderLabel=Vender {0} para market.offerBook.buyOffersHeaderLabel=Comprar {0} de market.offerBook.buy=Eu quero comprar bitcoin @@ -355,7 +355,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=N/D shared.notSigned=This account has not been signed yet and was created {0} days ago shared.notSigned.noNeed=This account type does not require signing shared.notSigned.noNeedDays=This account type does not require signing and was created {0} days ago -shared.notSigned.noNeedAlts=Altcoin accounts do not feature signing or aging +shared.notSigned.noNeedAlts=Crypto accounts do not feature signing or aging offerbook.nrOffers=N.º de ofertas: {0} offerbook.volume={0} (mín. - máx.) @@ -364,8 +364,8 @@ offerbook.deposit.help=Deposit paid by each trader to guarantee the trade. Will offerbook.createOfferToBuy=Criar oferta para comprar {0} offerbook.createOfferToSell=Criar oferta para vender {0} -offerbook.createOfferToBuy.withFiat=Criar nova oferta para comprar {0} com {1} -offerbook.createOfferToSell.forFiat=Criar nova oferta para vender {0} por {1} +offerbook.createOfferToBuy.withTraditional=Criar nova oferta para comprar {0} com {1} +offerbook.createOfferToSell.forTraditional=Criar nova oferta para vender {0} por {1} offerbook.createOfferToBuy.withCrypto=Criar oferta para vender {0} (comprar {1}) offerbook.createOfferToSell.forCrypto=Criar oferta para comprar {0} (vender {1}) @@ -553,7 +553,7 @@ portfolio.tab.editOpenOffer=Editar oferta portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=Aguardar confirmação da blockchain portfolio.pending.step2_buyer.startPayment=Iniciar pagamento @@ -603,7 +603,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Transfira com a sua carteira {0} externa\n{1} para o vendedor de BTC.\n\n +portfolio.pending.step2_buyer.crypto=Transfira com a sua carteira {0} externa\n{1} para o vendedor de BTC.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Vá ao banco e pague {0} ao vendedor de BTC.\n\n portfolio.pending.step2_buyer.cash.extra=IMPORTANTE:\nApós executar o pagamento, escreva no comprovante de depósito: SEM REEMBOLSO\nEntão rasgue-o em 2 partes, tire uma foto e envie-a para o e-mail do vendedor de BTC. @@ -677,9 +677,9 @@ portfolio.pending.step3_buyer.warn.part2=O vendedor de BTC ainda não confirmou portfolio.pending.step3_buyer.openForDispute=O vendedor de BTC não confirmou o seu pagamento! O período máximo para essa negociação expirou. Você pode aguardar mais um pouco, dando mais tempo para o seu parceiro de negociação, ou você pode pedir a assistência de um mediador. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Seu parceiro de negociação confirmou que iniciou o pagamento de {0}.\n\n -portfolio.pending.step3_seller.altcoin.explorer=no seu explorador da blockchain {0} preferido -portfolio.pending.step3_seller.altcoin.wallet=em sua carteira {0} -portfolio.pending.step3_seller.altcoin={0}Verifique em {1} se a transação para o seu endereço de recebimento\n{2}\njá tem confirmações suficientes na blockchain.\nA quantia do pagamento deve ser {3}\n\nVocê pode copiar e colar seu endereço {4} na janela principal, após fechar esse popup. +portfolio.pending.step3_seller.crypto.explorer=no seu explorador da blockchain {0} preferido +portfolio.pending.step3_seller.crypto.wallet=em sua carteira {0} +portfolio.pending.step3_seller.crypto={0}Verifique em {1} se a transação para o seu endereço de recebimento\n{2}\njá tem confirmações suficientes na blockchain.\nA quantia do pagamento deve ser {3}\n\nVocê pode copiar e colar seu endereço {4} na janela principal, após fechar esse popup. portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -704,8 +704,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=Confirmar recebimento do pagamento portfolio.pending.step3_seller.buyerStartedPayment=O comprador de BTC iniciou o pagamento {0}.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Verifique as confirmações de transação em sua carteira altcoin ou explorador de blockchain e confirme o pagamento quando houver confirmações suficientes. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Verifique em sua conta de negociação (ex: sua conta bancária) e confirme que recebeu o pagamento. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Verifique as confirmações de transação em sua carteira crypto ou explorador de blockchain e confirme o pagamento quando houver confirmações suficientes. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Verifique em sua conta de negociação (ex: sua conta bancária) e confirme que recebeu o pagamento. portfolio.pending.step3_seller.warn.part1a=na blockchain {0} portfolio.pending.step3_seller.warn.part1b=no seu provedor de pagamentos (ex: banco) portfolio.pending.step3_seller.warn.part2=Você ainda não confirmou o recebimento do pagamento. Por favor, verifique em {0} se você recebeu o pagamento. @@ -796,7 +796,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=Você já aceitou portfolio.pending.failedTrade.taker.missingTakerFeeTx=The taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked and no trade fee has been paid. You can move this trade to failed trades. portfolio.pending.failedTrade.maker.missingTakerFeeTx=The peer's taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked. Your offer is still available to other traders, so you have not lost the maker fee. You can move this trade to failed trades. portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of-2 multisig transaction) is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked but your trade fee has been paid. You can make a request to be reimbursed the trade fee here: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nFeel free to move this trade to failed trades. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the fiat or altcoin payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the traditional or crypto payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing but funds have been locked in the deposit transaction.\n\nIf the buyer is also missing the delayed payout transaction, they will be instructed to NOT send the payment and open a mediation ticket instead. You should also open a mediation ticket with Cmd/Ctrl+o. \n\nIf the buyer has not sent payment yet, the mediator should suggest that both peers each get back the full amount of their security deposits (with seller receiving full trade amount back as well). Otherwise the trade amount should go to the buyer. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=There was an error during trade protocol execution.\n\nError: {0}\n\nIt might be that this error is not critical, and the trade can be completed normally. If you are unsure, open a mediation ticket to get advice from Haveno mediators. \n\nIf the error was critical and the trade cannot be completed, you might have lost your trade fee. Request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=The trade contract is not set.\n\nThe trade cannot be completed and you might have lost your trade fee. If so, you can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -957,7 +957,7 @@ support.buyerTaker=Comprador de BTC / Aceitador da oferta support.sellerTaker=Vendedor de BTC / Aceitador da oferta support.backgroundInfo=Haveno não é uma empresa, então ela lida com disputas de uma forma diferente.\n\nComerciantes podem se comunicar dentro do aplicativo usando um chat seguro na tela de negociações em aberto para tentar resolver conflitos entre eles mesmos. Se isto não for o suficiente, um mediador pode intervir para ajudar. O mediador irá avaliar a situação e sugerir um pagamento. Se ambos comerciantes aceitarem essa sugestão, a transação de pagamento é finalizada e a negociação é fechada. Se um or ambos os comerciantes não concordarem com o pagamento sugerido pelo mediador, eles podem solicitar arbitragem. O árbitro irá reavaliar a situação e, se justificado, pagará pessoalmente o comerciante e então solicitará reembolso deste pagamento à DAO Haveno. -support.initialInfo=Por favor, entre a descrição do seu problema no campo de texto abaixo. Informe o máximo de informações que puder para agilizar a resolução da disputa.\n\nSegue uma lista com as informações que você deve fornecer:\n\t● Se você está comprando BTC: Você fez a transferência do dinheiro ou altcoin? Caso afirmativo, você clicou no botão 'pagamento iniciado' no aplicativo?\n\t● Se você está vendendo BTC: Você recebeu o pagamento em dinheiro ou em altcoin? Caso afirmativo, você clicou no botão 'pagamento recebido' no aplicativo?\n\t● Qual versão da Haveno você está usando?\n\t● Qual sistema operacional você está usando?\n\t● Se seu problema é com falhas em transações, por favor considere usar um novo diretório de dados.\n\t Às vezes, o diretório de dados pode ficar corrompido, causando bugs estranhos.\n\t Veja mais: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPor favor, familiarize-se com as regras básicas do processo de disputa:\n\t● Você precisa responder às solicitações de {0}' dentro do prazo de 2 dias.\n\t● Mediadores respondem dentro de 2 dias. Ábitros respondem dentro de 5 dias úteis.\n\t● O período máximo para uma disputa é de 14 dias.\n\t● Você deve cooperar com o {1} e providenciar as informações requisitadas para comprovar o seu caso.\n\t● Você aceitou as regras estipuladas nos termos de acordo do usuário que foi exibido na primeira vez em que você iniciou o aplicativo. \nVocê pode saber mais sobre o processo de disputa em: {2} +support.initialInfo=Por favor, entre a descrição do seu problema no campo de texto abaixo. Informe o máximo de informações que puder para agilizar a resolução da disputa.\n\nSegue uma lista com as informações que você deve fornecer:\n\t● Se você está comprando BTC: Você fez a transferência do dinheiro ou crypto? Caso afirmativo, você clicou no botão 'pagamento iniciado' no aplicativo?\n\t● Se você está vendendo BTC: Você recebeu o pagamento em dinheiro ou em crypto? Caso afirmativo, você clicou no botão 'pagamento recebido' no aplicativo?\n\t● Qual versão da Haveno você está usando?\n\t● Qual sistema operacional você está usando?\n\t● Se seu problema é com falhas em transações, por favor considere usar um novo diretório de dados.\n\t Às vezes, o diretório de dados pode ficar corrompido, causando bugs estranhos.\n\t Veja mais: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPor favor, familiarize-se com as regras básicas do processo de disputa:\n\t● Você precisa responder às solicitações de {0}' dentro do prazo de 2 dias.\n\t● Mediadores respondem dentro de 2 dias. Ábitros respondem dentro de 5 dias úteis.\n\t● O período máximo para uma disputa é de 14 dias.\n\t● Você deve cooperar com o {1} e providenciar as informações requisitadas para comprovar o seu caso.\n\t● Você aceitou as regras estipuladas nos termos de acordo do usuário que foi exibido na primeira vez em que você iniciou o aplicativo. \nVocê pode saber mais sobre o processo de disputa em: {2} support.systemMsg=Mensagem do sistema: {0} support.youOpenedTicket=Você abriu um pedido de suporte.\n\n{0}\n\nHaveno versão: {1} support.youOpenedDispute=Você abriu um pedido para uma disputa.\n\n{0}\n\nHaveno versão: {1} @@ -1001,10 +1001,10 @@ setting.preferences.prefCurrency=Moeda de preferência setting.preferences.displayFiat=Exibir moedas nacionais setting.preferences.noFiat=Não há moedas nacionais selecionadas setting.preferences.cannotRemovePrefCurrency=Você não pode remover a moeda preferencial de exibição selecionada -setting.preferences.displayAltcoins=Exibir altcoins -setting.preferences.noAltcoins=Não há altcoins selecionadas +setting.preferences.displayCryptos=Exibir cryptos +setting.preferences.noCryptos=Não há cryptos selecionadas setting.preferences.addFiat=Adicionar moeda nacional -setting.preferences.addAltcoin=Adicionar altcoin +setting.preferences.addCrypto=Adicionar crypto setting.preferences.displayOptions=Opções de exibição setting.preferences.showOwnOffers=Exibir minhas ofertas no livro de ofertas setting.preferences.useAnimations=Usar animações @@ -1084,8 +1084,8 @@ setting.about.support=Suporte Haveno setting.about.def=Haveno não é uma empresa — é um projeto aberto à participação da comunidade. Se você tem interesse em participar do projeto ou apoiá-lo, visite os links abaixo. setting.about.contribute=Contribuir setting.about.providers=Provedores de dados -setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices, and Haveno Mempool Nodes for mining fee estimation. -setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices. +setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Crypto market prices, and Haveno Mempool Nodes for mining fee estimation. +setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Crypto market prices. setting.about.pricesProvided=Preços de mercado fornecidos por setting.about.feeEstimation.label=Estimativa da taxa de mineração fornecida por setting.about.versionDetails=Detalhes da versão @@ -1148,10 +1148,10 @@ account.tab.mediatorRegistration=Registro de mediador account.tab.refundAgentRegistration=Registro de agente de reembolsos account.tab.signing=Signing account.info.headline=Bem vindo à sua conta Haveno -account.info.msg=Aqui você pode adicionar contas de negociação para moedas nacionais & altcoins e criar um backup da sua carteira e dados da sua conta.\n\nUma nova carteira Bitcoin foi criada na primeira vez em que você iniciou a Haveno.\nNós encorajamos fortemente que você anote as palavras semente da sua carteira Bitcoin (veja a aba no topo) e considere adicionar uma senha antes de depositar fundos. Depósitos e retiradas de Bitcoin são gerenciados na seção "Fundos".\n\nNota de privacidade & segurança: visto que a Haveno é uma exchange decentralizada, todos os seus dados são mantidos no seu computador. Não existem servidores, então não temos acesso às suas informações pessoais, seus fundos ou até mesmo ao seu endereço IP. Dados como número de conta bancária, endereços de Bitcoin & altcoin, etc apenas são compartilhados com seu parceiro de negociação para completar as negociações iniciadas por você (em caso de disputa, o mediador ou árbitro verá as mesmas informações que seu parceiro de negociação). +account.info.msg=Aqui você pode adicionar contas de negociação para moedas nacionais & cryptos e criar um backup da sua carteira e dados da sua conta.\n\nUma nova carteira Bitcoin foi criada na primeira vez em que você iniciou a Haveno.\nNós encorajamos fortemente que você anote as palavras semente da sua carteira Bitcoin (veja a aba no topo) e considere adicionar uma senha antes de depositar fundos. Depósitos e retiradas de Bitcoin são gerenciados na seção "Fundos".\n\nNota de privacidade & segurança: visto que a Haveno é uma exchange decentralizada, todos os seus dados são mantidos no seu computador. Não existem servidores, então não temos acesso às suas informações pessoais, seus fundos ou até mesmo ao seu endereço IP. Dados como número de conta bancária, endereços de Bitcoin & crypto, etc apenas são compartilhados com seu parceiro de negociação para completar as negociações iniciadas por você (em caso de disputa, o mediador ou árbitro verá as mesmas informações que seu parceiro de negociação). account.menu.paymentAccount=Contas de moedas nacionais -account.menu.altCoinsAccountView=Contas de altcoins +account.menu.altCoinsAccountView=Contas de cryptos account.menu.password=Senha da carteira account.menu.seedWords=Semente da carteira account.menu.walletInfo=Wallet info @@ -1180,45 +1180,45 @@ account.arbitratorRegistration.removedFailed=Não foi possível remover o regist account.arbitratorRegistration.registerSuccess=Você se registrou com sucesso na rede Haveno. account.arbitratorRegistration.registerFailed=Não foi possível completar o registro.{0} -account.altcoin.yourAltcoinAccounts=Suas contas de altcoins -account.altcoin.popup.wallet.msg=Por favor, certifique-se de seguir os requisitos para uso de carteiras {0} como descritos na página {1}.\nUsar carteiras de exchanges centralizadas onde (a) você não tem controle das suas chaves privadas ou (b) não se usa um software de carteira compatível é arriscado: você pode perder seus fundos negociados!\nO mediador ou árbitro não é um especialista em {2} e não pode ajudar em tais casos. -account.altcoin.popup.wallet.confirm=Eu entendo e confirmo que sei qual carteira preciso usar. +account.crypto.yourCryptoAccounts=Suas contas de cryptos +account.crypto.popup.wallet.msg=Por favor, certifique-se de seguir os requisitos para uso de carteiras {0} como descritos na página {1}.\nUsar carteiras de exchanges centralizadas onde (a) você não tem controle das suas chaves privadas ou (b) não se usa um software de carteira compatível é arriscado: você pode perder seus fundos negociados!\nO mediador ou árbitro não é um especialista em {2} e não pode ajudar em tais casos. +account.crypto.popup.wallet.confirm=Eu entendo e confirmo que sei qual carteira preciso usar. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. +account.crypto.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Negociar MSR Haveno requer que você entenda e cumpra os seguintes requisitos:\n\nPara enviar MSR, você deve usar uma destas: carteira oficial GUI Masari, carteira CLI Masari com a opção store-tx-info habilitada (habilitada por padrão) ou a carteira web Masari (https://wallet.getmasari.org). Por favor, certifique-se que você tenha acesso à chave da transação pois esta seria necessária em caso de uma disputa.\nmasari-wallet-cli (use o comando get_tx_key)\nmasari-wallet-gui (vá até a aba histórico e clique no botão (P) para prova de pagamento)\n\nCarteira Web Masari (vá até Conta -> histórico de transações e veja os detalhes da sua transação enviada.)\n\nVerificação pode ser feita dentro da carteira.\nmasari-wallet-cli : usando um comando (check_tx_key).\nmasari-wallet-gui : na página Avançado > Comprovar/Verificar.\nVerificação pode ser feita via explorador de blocos.\nAbra o explorador de blocos (https://explorer.getmasari.org) e use a barra de busca para encontrar o hash da sua transação.\nAssim que a transação for encontrada, role até o final da seção 'Comprovar envio' e preencha os detalhes conforme necessário.\nVocê precisa fornecer os seguintes dados ao mediador ou árbitro em caso de uma disputa:\n- Chave privada da transação\n- Hash da transação\n- Endereço público do destinatário\n\nA impossibilidade de fornecer as informações acima ou uso de uma carteira incompatível resultará na perda do caso de disputa. Em caso de uma disputa, o remetente de MSR é responsável por providenciar, ao mediador ou árbitro, a verificação do envio de MSR.\n\nNão é necessário um ID de pagamento, apenas o endereço público convencional.\nCaso tenha dúvidas sobre este processo, solicite ajuda no Discord oficial Masari (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Negociar MSR Haveno requer que você entenda e cumpra os seguintes requisitos:\n\nPara enviar MSR, você deve usar uma destas: carteira oficial GUI Masari, carteira CLI Masari com a opção store-tx-info habilitada (habilitada por padrão) ou a carteira web Masari (https://wallet.getmasari.org). Por favor, certifique-se que você tenha acesso à chave da transação pois esta seria necessária em caso de uma disputa.\nmasari-wallet-cli (use o comando get_tx_key)\nmasari-wallet-gui (vá até a aba histórico e clique no botão (P) para prova de pagamento)\n\nCarteira Web Masari (vá até Conta -> histórico de transações e veja os detalhes da sua transação enviada.)\n\nVerificação pode ser feita dentro da carteira.\nmasari-wallet-cli : usando um comando (check_tx_key).\nmasari-wallet-gui : na página Avançado > Comprovar/Verificar.\nVerificação pode ser feita via explorador de blocos.\nAbra o explorador de blocos (https://explorer.getmasari.org) e use a barra de busca para encontrar o hash da sua transação.\nAssim que a transação for encontrada, role até o final da seção 'Comprovar envio' e preencha os detalhes conforme necessário.\nVocê precisa fornecer os seguintes dados ao mediador ou árbitro em caso de uma disputa:\n- Chave privada da transação\n- Hash da transação\n- Endereço público do destinatário\n\nA impossibilidade de fornecer as informações acima ou uso de uma carteira incompatível resultará na perda do caso de disputa. Em caso de uma disputa, o remetente de MSR é responsável por providenciar, ao mediador ou árbitro, a verificação do envio de MSR.\n\nNão é necessário um ID de pagamento, apenas o endereço público convencional.\nCaso tenha dúvidas sobre este processo, solicite ajuda no Discord oficial Masari (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Negociar Solo na Haveno requer que você entenda e cumpra os seguintes requisitos:\n\nPara enviar Solo, você deve usar a carteira CLI Solo Network. \n\nSe você estiver usando a carteira CLI, um hash de transação (tx ID) será exibido após o envio de uma transferência. Você deve salvar essa informação. Imediatamente após o envio, você deve utilizar o comando 'get_tx_key' para obter a chave privada da transação. Se você não executar este passo devidamente, você pode não conseguir obter a chave depois.\n\nEm um evento onde uma arbitragem for necessária, você deve apresentar o seguinte para um árbitro ou mediador: 1.) ID da transação, 2.) a chave privada da transação, e 3.) o endereço do destinatário. O mediador ou árbitro irá então verificar a transferência Solo usando o explorador de blocos Solo, buscando pela transação e então usando a função "Provar envio" (https://explorer.minesolo.com/).\n\nA impossibilidade de fornecer as informações requeridas ao mediador ou árbitro resultará na perda do caso de disputa. Em todos os casos de disputa, In all cases of dispute, o remetente de Solo arca 100% com a responsabilidade de verificar as transações para um árbitro ou mediador.\n\nCaso não entenda estes requisitos, não negocie na Haveno. Procure ajuda no Discord da Solo Network primeiro. (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Negociar Solo na Haveno requer que você entenda e cumpra os seguintes requisitos:\n\nPara enviar Solo, você deve usar a carteira CLI Solo Network. \n\nSe você estiver usando a carteira CLI, um hash de transação (tx ID) será exibido após o envio de uma transferência. Você deve salvar essa informação. Imediatamente após o envio, você deve utilizar o comando 'get_tx_key' para obter a chave privada da transação. Se você não executar este passo devidamente, você pode não conseguir obter a chave depois.\n\nEm um evento onde uma arbitragem for necessária, você deve apresentar o seguinte para um árbitro ou mediador: 1.) ID da transação, 2.) a chave privada da transação, e 3.) o endereço do destinatário. O mediador ou árbitro irá então verificar a transferência Solo usando o explorador de blocos Solo, buscando pela transação e então usando a função "Provar envio" (https://explorer.minesolo.com/).\n\nA impossibilidade de fornecer as informações requeridas ao mediador ou árbitro resultará na perda do caso de disputa. Em todos os casos de disputa, In all cases of dispute, o remetente de Solo arca 100% com a responsabilidade de verificar as transações para um árbitro ou mediador.\n\nCaso não entenda estes requisitos, não negocie na Haveno. Procure ajuda no Discord da Solo Network primeiro. (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Negociar CASH2 na Haveno requer que você entenda e cumpra os seguintes requisitos:\n\nPara enviar CASH2, você deve usar a carteira Cash2 versão 3 ou superior. \n\nApós o envio de uma transação, o ID da transação será exibido. Você deve salvar essa informação. Imediatamente após enviar a transação, você deve utilizar o comando 'getTxKey' na simplewallet para obter a chave secreta da transação. Se você não executar este passo devidamente, você pode não conseguir obter a chave depois.\n\nEm um evento onde uma arbitragem for necessária, você deve apresentar o seguinte para um árbitro ou mediador: 1.) ID da transação, 2.) a chave secreta da transação, e 3.) o endereço do destinatário Cash2. O mediador ou árbitro irá então verificar a transferência CASH2 usando o explorador de blocos CASH2 (https://blocks.cash2.org).\n\nA impossibilidade de fornecer as informações requeridas ao mediador ou árbitro resultará na perda do caso de disputa. Em todos os casos de disputa, In all cases of dispute, o remetente de CASH2 arca 100% com a responsabilidade de verificar as transações para um árbitro ou mediador.\n\nCaso não entenda estes requisitos, não negocie na Haveno. Procure ajuda no Discord da Cash2 primeiro. (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Negociar CASH2 na Haveno requer que você entenda e cumpra os seguintes requisitos:\n\nPara enviar CASH2, você deve usar a carteira Cash2 versão 3 ou superior. \n\nApós o envio de uma transação, o ID da transação será exibido. Você deve salvar essa informação. Imediatamente após enviar a transação, você deve utilizar o comando 'getTxKey' na simplewallet para obter a chave secreta da transação. Se você não executar este passo devidamente, você pode não conseguir obter a chave depois.\n\nEm um evento onde uma arbitragem for necessária, você deve apresentar o seguinte para um árbitro ou mediador: 1.) ID da transação, 2.) a chave secreta da transação, e 3.) o endereço do destinatário Cash2. O mediador ou árbitro irá então verificar a transferência CASH2 usando o explorador de blocos CASH2 (https://blocks.cash2.org).\n\nA impossibilidade de fornecer as informações requeridas ao mediador ou árbitro resultará na perda do caso de disputa. Em todos os casos de disputa, In all cases of dispute, o remetente de CASH2 arca 100% com a responsabilidade de verificar as transações para um árbitro ou mediador.\n\nCaso não entenda estes requisitos, não negocie na Haveno. Procure ajuda no Discord da Cash2 primeiro. (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. +account.crypto.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Ao usar Zcash você só pode usar endereços transparentes(que começam com t), não os z-addresses (privados), pois o mediador e o árbitro não conseguiriam verificar a transação com endereços privados num explorador de blocos. +account.crypto.popup.ZEC.msg=Ao usar Zcash você só pode usar endereços transparentes(que começam com t), não os z-addresses (privados), pois o mediador e o árbitro não conseguiriam verificar a transação com endereços privados num explorador de blocos. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Ao usar Zcoin você só pode usar endereços transparentes(rastreáveis), não os inrrastreáveis, pois o mediador e o árbitro não conseguiriam verificar a transação com endereços irrastreáveis num explorador de blocos. +account.crypto.popup.XZC.msg=Ao usar Zcoin você só pode usar endereços transparentes(rastreáveis), não os inrrastreáveis, pois o mediador e o árbitro não conseguiriam verificar a transação com endereços irrastreáveis num explorador de blocos. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN requer um processo interativo entre o remetente e o destinatário para criar a transação. Certifique-se de seguir as instruções da página web do projeto GRIN para enviar e receber de forma confiável o GRIN (o destinatário precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nHaveno suporta apenas o formato de URL da carteira Grinbox (Wallet713).\n\nO remetente GRIN é obrigado a fornecer prova de que ele enviou GRIN com sucesso. Se a carteira não puder fornecer essa prova, uma potencial disputa será resolvida em favor do destinatário de GRIN. Certifique-se de usar o software Grinbox mais recente, que suporta a prova de transação e que você entende o processo de transferência e receção do GRIN, bem como criar a prova.\n\nConsulte https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only para obter mais informações sobre a ferramenta de prova Grinbox. +account.crypto.popup.grin.msg=GRIN requer um processo interativo entre o remetente e o destinatário para criar a transação. Certifique-se de seguir as instruções da página web do projeto GRIN para enviar e receber de forma confiável o GRIN (o destinatário precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nHaveno suporta apenas o formato de URL da carteira Grinbox (Wallet713).\n\nO remetente GRIN é obrigado a fornecer prova de que ele enviou GRIN com sucesso. Se a carteira não puder fornecer essa prova, uma potencial disputa será resolvida em favor do destinatário de GRIN. Certifique-se de usar o software Grinbox mais recente, que suporta a prova de transação e que você entende o processo de transferência e receção do GRIN, bem como criar a prova.\n\nConsulte https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only para obter mais informações sobre a ferramenta de prova Grinbox. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM requer um processo interativo entre o remetente e o destinatário para criar a transação.\n\nCertifique-se de seguir as instruções da página Web do projeto BEAM para enviar e receber BEAM de forma confiável (o destinatário precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nO remetente BEAM é obrigado a fornecer prova de que ele enviou o BEAM com sucesso. Certifique-se de usar uma carteira que possa produzir tal prova. Se a carteira não puder fornecer a prova, uma disputa potencial será resolvida em favor do destinarário do BEAM. +account.crypto.popup.beam.msg=BEAM requer um processo interativo entre o remetente e o destinatário para criar a transação.\n\nCertifique-se de seguir as instruções da página Web do projeto BEAM para enviar e receber BEAM de forma confiável (o destinatário precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nO remetente BEAM é obrigado a fornecer prova de que ele enviou o BEAM com sucesso. Certifique-se de usar uma carteira que possa produzir tal prova. Se a carteira não puder fornecer a prova, uma disputa potencial será resolvida em favor do destinarário do BEAM. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Para negociar com L-BTC na Haveno é preciso entender o seguinte:\n\nQuando se recebe L-BTC de uma negociação na Haveno, você não pode usar a carteira móvel Blockstream Green ou uma carteira de exchange. Você só pode receber L-BTC numa carteira Liquid Elements Core, ou outra carteira L-BTC que lhe permita obter a blinding key para o seu endereço blinded de L-BTC.\n\nNo caso de mediação ou se uma disputa acontecer, você precisa divulgar ao mediador, ou agente de reembolsos, a blinding key do seu endereço receptor de L-BTC para que ele possa verificar os detalhes da sua Transação Confidencial no node próprio deles.\n\nCaso essa informação não seja fornecida ao mediador ou agente de reembolsos você corre o risco de perder a disputa. Em todos os casos de disputa o recebedor de L-BTC tem 100% de responsabilidade em fornecer a prova criptográfica ao mediador ou agente de reembolsos.\n\nSe você não entendeu esses requisitos, por favor não negocie L-BTC na Haveno. +account.crypto.popup.liquidbitcoin.msg=Para negociar com L-BTC na Haveno é preciso entender o seguinte:\n\nQuando se recebe L-BTC de uma negociação na Haveno, você não pode usar a carteira móvel Blockstream Green ou uma carteira de exchange. Você só pode receber L-BTC numa carteira Liquid Elements Core, ou outra carteira L-BTC que lhe permita obter a blinding key para o seu endereço blinded de L-BTC.\n\nNo caso de mediação ou se uma disputa acontecer, você precisa divulgar ao mediador, ou agente de reembolsos, a blinding key do seu endereço receptor de L-BTC para que ele possa verificar os detalhes da sua Transação Confidencial no node próprio deles.\n\nCaso essa informação não seja fornecida ao mediador ou agente de reembolsos você corre o risco de perder a disputa. Em todos os casos de disputa o recebedor de L-BTC tem 100% de responsabilidade em fornecer a prova criptográfica ao mediador ou agente de reembolsos.\n\nSe você não entendeu esses requisitos, por favor não negocie L-BTC na Haveno. -account.fiat.yourFiatAccounts=Suas contas de moeda nacional +account.traditional.yourTraditionalAccounts=Suas contas de moeda nacional account.backup.title=Backup da carteira account.backup.location=Local de backup @@ -1586,7 +1586,7 @@ popup.warning.startupFailed.twoInstances=O Haveno já está sendo executado. Voc popup.warning.tradePeriod.halfReached=Sua negociação com ID {0} chegou à metade do período máximo permitido e ainda não foi concluída.\n\nO período de negociação acaba em {1}\n\nFavor verifique o estado de sua negociação em \"Portfolio/Negociações em aberto\" para mais informações. popup.warning.tradePeriod.ended=Sua negociação com ID {0} atingiu o período máximo de negociação e não foi finalizada.\n\nO período de negociação terminou em {1}.\n\nPor favor, verifique sua negociação em "Portfolio/Negociações em aberto" para contactar o mediador. popup.warning.noTradingAccountSetup.headline=Você ainda não configurou uma conta para negociação -popup.warning.noTradingAccountSetup.msg=Você precisa criar uma conta em moeda nacional ou altcoin para poder criar uma oferta.\nCriar uma conta? +popup.warning.noTradingAccountSetup.msg=Você precisa criar uma conta em moeda nacional ou crypto para poder criar uma oferta.\nCriar uma conta? popup.warning.noArbitratorsAvailable=Não há árbitros disponíveis. popup.warning.noMediatorsAvailable=Não há mediadores disponíveis. popup.warning.notFullyConnected=Você precisa aguardar até estar totalmente conectado à rede.\nIsto pode levar até 2 minutos na inicialização do programa. @@ -1811,8 +1811,8 @@ formatter.makerTaker=Ofertante: {1} de {0} / Aceitador: {3} de {2} formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=Você está {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Você está criando uma oferta para {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Você está criando uma oferta para {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=Você está criando uma oferta para {0} {1} +formatter.youAreCreatingAnOffer.crypto=Você está criando uma oferta para {0} {1} ({2} {3}) formatter.asMaker={0} {1} como ofertante formatter.asTaker={0} {1} como aceitador @@ -1904,11 +1904,11 @@ payment.email=E-mail payment.country=País payment.extras=Requerimentos adicionais payment.email.mobile=E-mail ou celular -payment.altcoin.address=Endereço altcoin -payment.altcoin.tradeInstantCheckbox=Negócio instantâneo (dentro de 1 hora) com esta Altcoin -payment.altcoin.tradeInstant.popup=Para negociação instantânea, é necessário que os dois pares de negociação estejam online para concluir a negociação em menos de 1 hora.\n\nSe você tem ofertas abertas e você não está disponível, por favor desative essas ofertas na tela 'Portfolio'. -payment.altcoin=Altcoin -payment.select.altcoin=Select or search Altcoin +payment.crypto.address=Endereço crypto +payment.crypto.tradeInstantCheckbox=Negócio instantâneo (dentro de 1 hora) com esta Crypto +payment.crypto.tradeInstant.popup=Para negociação instantânea, é necessário que os dois pares de negociação estejam online para concluir a negociação em menos de 1 hora.\n\nSe você tem ofertas abertas e você não está disponível, por favor desative essas ofertas na tela 'Portfolio'. +payment.crypto=Crypto +payment.select.crypto=Select or search Crypto payment.secret=Pergunta secreta payment.answer=Resposta payment.wallet=ID da carteira @@ -1934,8 +1934,8 @@ payment.national.account.id.AR=Número CBU shared.accountSigningState=Status de assinatura da conta #new -payment.altcoin.address.dyn=Endereço {0} -payment.altcoin.receiver.address=Endereço altcoin do destinatário +payment.crypto.address.dyn=Endereço {0} +payment.crypto.receiver.address=Endereço crypto do destinatário payment.accountNr=Nº da conta payment.emailOrMobile=E-mail ou celular payment.useCustomAccountName=Usar nome personalizado @@ -1981,7 +1981,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=Trading using US Postal Money Orders (USPMO) on Haveno requires that you understand the following:\n\n- BTC buyers must write the BTC Seller’s name in both the Payer and the Payee’s fields & take a high-resolution photo of the USPMO and envelope with proof of tracking before sending.\n- BTC buyers must send the USPMO to the BTC seller with Delivery Confirmation.\n\nIn the event mediation is necessary, or if there is a trade dispute, you will be required to send the photos to the Haveno mediator or refund agent, together with the USPMO Serial Number, Post Office Number, and dollar amount, so they can verify the details on the US Post Office website.\n\nFailure to provide the required information to the Mediator or Arbitrator will result in losing the dispute case.\n\nIn all dispute cases, the USPMO sender bears 100% of the burden of responsibility in providing evidence/proof to the Mediator or Arbitrator.\n\nIf you do not understand these requirements, do not trade using USPMO on Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=Informações para contato payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2078,7 +2078,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoins +BLOCK_CHAINS=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2088,7 +2088,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Instant Altcoins +BLOCK_CHAINS_INSTANT=Instant Cryptos # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2130,7 +2130,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoins +BLOCK_CHAINS_SHORT=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2140,7 +2140,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins Instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2160,8 +2160,8 @@ validation.NaN=Número inválido validation.notAnInteger=A quantia não é um valor inteiro. validation.zero=Número 0 não é permitido validation.negative=Valores negativos não são permitidos. -validation.fiat.tooSmall=Quantia menor do que a mínima permitida. -validation.fiat.tooLarge=Quantia maior do que a máxima permitida. +validation.traditional.tooSmall=Quantia menor do que a mínima permitida. +validation.traditional.tooLarge=Quantia maior do que a máxima permitida. validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=Quantia máx. permitida: {0} validation.xmr.tooSmall=Quantia mín. permitida: {0} @@ -2182,15 +2182,15 @@ validation.nationalAccountId={0} deve consistir de {1} números. validation.invalidInput=Entrada inválida: {0} validation.accountNrFormat=O número da conta deve estar no formato: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Validação do endereço falhou pois este não é compatível com a estrutura de um endereço {0}. +validation.crypto.wrongStructure=Validação do endereço falhou pois este não é compatível com a estrutura de um endereço {0}. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Endereço não é um endereço {0} válido! {1} +validation.crypto.invalidAddress=Endereço não é um endereço {0} válido! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Endereços nativos de Segwit (começando com "lq") não são suportados. +validation.crypto.liquidBitcoin.invalidAddress=Endereços nativos de Segwit (começando com "lq") não são suportados. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=Banco e código de país devem ser letras validation.bic.invalidLocationCode=BIC contém código de localização inválido diff --git a/core/src/main/resources/i18n/displayStrings_pt.properties b/core/src/main/resources/i18n/displayStrings_pt.properties index a1f39e5b..29e52fd2 100644 --- a/core/src/main/resources/i18n/displayStrings_pt.properties +++ b/core/src/main/resources/i18n/displayStrings_pt.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Ofertante: {0} shared.takerTxFee=Aceitador: {0} shared.iConfirm=Eu confirmo shared.openURL=Abrir {0} -shared.fiat=Moeda fiduciária +shared.traditional=Moeda fiduciária shared.crypto=Cripto shared.all=Tudo shared.edit=Editar @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=Negócios # OfferBookChartView -market.offerBook.buyAltcoin=Eu quero comprar {0} (vender {1}) -market.offerBook.sellAltcoin=Eu quero vender {0} (comprar {1}) -market.offerBook.buyWithFiat=Comprar {0} -market.offerBook.sellWithFiat=Vender {0} +market.offerBook.buyCrypto=Eu quero comprar {0} (vender {1}) +market.offerBook.sellCrypto=Eu quero vender {0} (comprar {1}) +market.offerBook.buyWithTraditional=Comprar {0} +market.offerBook.sellWithTraditional=Vender {0} market.offerBook.sellOffersHeaderLabel=Vender {0} para market.offerBook.buyOffersHeaderLabel=Comprar {0} de market.offerBook.buy=Eu quero comprar bitcoin @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=N/D shared.notSigned=This account has not been signed yet and was created {0} days ago shared.notSigned.noNeed=This account type does not require signing shared.notSigned.noNeedDays=This account type does not require signing and was created {0} days ago -shared.notSigned.noNeedAlts=Altcoin accounts do not feature signing or aging +shared.notSigned.noNeedAlts=Crypto accounts do not feature signing or aging offerbook.nrOffers=Nº de ofertas: {0} offerbook.volume={0} (mín - máx) @@ -361,8 +361,8 @@ offerbook.deposit.help=Deposit paid by each trader to guarantee the trade. Will offerbook.createOfferToBuy=Criar nova oferta para comprar {0} offerbook.createOfferToSell=Criar nova oferta para vender {0} -offerbook.createOfferToBuy.withFiat=Criar nova oferta para comprar {0} com {1} -offerbook.createOfferToSell.forFiat=Criar nova oferta para vender {0} por {1} +offerbook.createOfferToBuy.withTraditional=Criar nova oferta para comprar {0} com {1} +offerbook.createOfferToSell.forTraditional=Criar nova oferta para vender {0} por {1} offerbook.createOfferToBuy.withCrypto=Criar nova oferta para vender {0} (comprar {1}) offerbook.createOfferToSell.forCrypto=Criar nova oferta para comprar {0} (vender {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Editar oferta portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=Esperando confirmação da blockchain portfolio.pending.step2_buyer.startPayment=Iniciar pagamento @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Por favor transfira da sua carteira externa {0}\n{1} para o vendedor de.\n\n +portfolio.pending.step2_buyer.crypto=Por favor transfira da sua carteira externa {0}\n{1} para o vendedor de.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Por favor vá à um banco e pague{0} ao vendedor de BTC.\n\n portfolio.pending.step2_buyer.cash.extra=REQUERIMENTO IMPORTANTE:\nDepois de ter feito o pagamento escreva no recibo de papel: SEM REEMBOLSOS.\nEm seguida, rasgue-o em 2 partes, tire uma foto e envie-a para o endereço de e-mail do vendedor de BTC. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=O vendedor de BTC ainda não confirmou portfolio.pending.step3_buyer.openForDispute=O vendedor de Haveno não confirmou o seu pagamento! O período máx. para o negócio acabou. Você pode esperar e dar mais tempo ao seu par de negociação or pedir assistência de um mediador. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=O seu parceiro de negociação confirmou que começou o pagamento de {0}.\n\n -portfolio.pending.step3_seller.altcoin.explorer=no seu explorador de blockchain de {0} favorito -portfolio.pending.step3_seller.altcoin.wallet=na sua carteira de {0} -portfolio.pending.step3_seller.altcoin={0} Por favor verifique {1} se a transação para o seu endereço recipiente\n{2}\njá possui confirmações suficientes da blockchain.\nA quantia de pagamento deve ser {3}\n\nVocê pode copiar e colar o seu endereço {4} do ecrã principal depois de fechar o pop-up. +portfolio.pending.step3_seller.crypto.explorer=no seu explorador de blockchain de {0} favorito +portfolio.pending.step3_seller.crypto.wallet=na sua carteira de {0} +portfolio.pending.step3_seller.crypto={0} Por favor verifique {1} se a transação para o seu endereço recipiente\n{2}\njá possui confirmações suficientes da blockchain.\nA quantia de pagamento deve ser {3}\n\nVocê pode copiar e colar o seu endereço {4} do ecrã principal depois de fechar o pop-up. portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=Confirmar recibo de pagamento portfolio.pending.step3_seller.buyerStartedPayment=O comprador de BTC começou o pagamento de {0}.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Verifique as confirmações da blockchain na sua carteira altcoin ou explorador de blocos e confirme o pagamento quando houverem confirmações da blockchain suficientes. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Verifique em sua conta de negociação (por exemplo, sua conta bancária) e confirme que recebeu o pagamento. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Verifique as confirmações da blockchain na sua carteira crypto ou explorador de blocos e confirme o pagamento quando houverem confirmações da blockchain suficientes. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Verifique em sua conta de negociação (por exemplo, sua conta bancária) e confirme que recebeu o pagamento. portfolio.pending.step3_seller.warn.part1a=na blockchain {0} portfolio.pending.step3_seller.warn.part1b=em seu provedor de pagamentos (ex: banco) portfolio.pending.step3_seller.warn.part2=Você ainda não confirmou a receção do pagamento. Por favor verifique {0} se você recebeu o pagamento. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=Você já aceitou portfolio.pending.failedTrade.taker.missingTakerFeeTx=The taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked and no trade fee has been paid. You can move this trade to failed trades. portfolio.pending.failedTrade.maker.missingTakerFeeTx=The peer's taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked. Your offer is still available to other traders, so you have not lost the maker fee. You can move this trade to failed trades. portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of-2 multisig transaction) is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked but your trade fee has been paid. You can make a request to be reimbursed the trade fee here: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nFeel free to move this trade to failed trades. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the fiat or altcoin payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the traditional or crypto payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing but funds have been locked in the deposit transaction.\n\nIf the buyer is also missing the delayed payout transaction, they will be instructed to NOT send the payment and open a mediation ticket instead. You should also open a mediation ticket with Cmd/Ctrl+o. \n\nIf the buyer has not sent payment yet, the mediator should suggest that both peers each get back the full amount of their security deposits (with seller receiving full trade amount back as well). Otherwise the trade amount should go to the buyer. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=There was an error during trade protocol execution.\n\nError: {0}\n\nIt might be that this error is not critical, and the trade can be completed normally. If you are unsure, open a mediation ticket to get advice from Haveno mediators. \n\nIf the error was critical and the trade cannot be completed, you might have lost your trade fee. Request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=The trade contract is not set.\n\nThe trade cannot be completed and you might have lost your trade fee. If so, you can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -954,7 +954,7 @@ support.buyerTaker=Comprador de BTC/Aceitador support.sellerTaker=Vendedor de BTC/Aceitador support.backgroundInfo=O Haveno não é uma empresa, por isso as disputas são tratadas diferentemente.\n\nOs negociadores podem se comunicar dentro do programa via chat seguro no ecrã de negócios abertos para tentar resolver disputas por conta própria. Se isso não for suficiente, um mediador pode ajudar. O mediador avaliará a situação e sugerirá um pagamento dos fundos de negócio. Se ambos os negociadores aceitarem essa sugestão, a transação de pagamento será concluída e o negócio será encerrado. Se um ou ambos os negociadores não concordarem com o pagamento sugerido pelo mediador, eles podem solicitar a arbitragem. O árbitro reavaliará a situação e, se justificado, pagará pessoalmente o comerciante de volta e solicitará reembolso à OAD do Haveno. -support.initialInfo=Digite uma descrição do seu problema no campo de texto abaixo. Adicione o máximo de informações possível para acelerar o tempo de resolução da disputa.\n\nAqui está uma lista do que você deve fornecer:\n● Se você é o comprador de BTC: Você fez a transferência da Fiat ou Altcoin? Se sim, você clicou no botão 'pagamento iniciado' no programa?\n● Se você é o vendedor de BTC: Você recebeu o pagamento da Fiat ou Altcoin? Se sim, você clicou no botão 'pagamento recebido' no programa?\n\t● Qual versão do Haveno você está usando?\n\t● Qual sistema operacional você está usando?\n\t ● Se você encontrou um problema com transações com falha, considere mudar para um novo diretório de dados.\n\t Às vezes, o diretório de dados é corrompido e leva a erros estranhos.\n\t Consulte: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nFamiliarize-se com as regras básicas do processo de disputa:\n\t● Você precisa responder às solicitações do {0} dentro de 2 dias.\n\t● Os mediadores respondem entre 2 dias. Os árbitros respondem dentro de 5 dias úteis.\n\t ● O período máximo para uma disputa é de 14 dias.\n\t ● Você precisa cooperar com o {1} e fornecer as informações solicitadas para justificar o seu caso.\n\t● Você aceitou as regras descritas no documento de disputa no contrato do usuário quando iniciou o programa.\n\nVocê pode ler mais sobre o processo de disputa em: {2} +support.initialInfo=Digite uma descrição do seu problema no campo de texto abaixo. Adicione o máximo de informações possível para acelerar o tempo de resolução da disputa.\n\nAqui está uma lista do que você deve fornecer:\n● Se você é o comprador de BTC: Você fez a transferência da Fiat ou Crypto? Se sim, você clicou no botão 'pagamento iniciado' no programa?\n● Se você é o vendedor de BTC: Você recebeu o pagamento da Fiat ou Crypto? Se sim, você clicou no botão 'pagamento recebido' no programa?\n\t● Qual versão do Haveno você está usando?\n\t● Qual sistema operacional você está usando?\n\t ● Se você encontrou um problema com transações com falha, considere mudar para um novo diretório de dados.\n\t Às vezes, o diretório de dados é corrompido e leva a erros estranhos.\n\t Consulte: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nFamiliarize-se com as regras básicas do processo de disputa:\n\t● Você precisa responder às solicitações do {0} dentro de 2 dias.\n\t● Os mediadores respondem entre 2 dias. Os árbitros respondem dentro de 5 dias úteis.\n\t ● O período máximo para uma disputa é de 14 dias.\n\t ● Você precisa cooperar com o {1} e fornecer as informações solicitadas para justificar o seu caso.\n\t● Você aceitou as regras descritas no documento de disputa no contrato do usuário quando iniciou o programa.\n\nVocê pode ler mais sobre o processo de disputa em: {2} support.systemMsg=Mensagem do sistema: {0} support.youOpenedTicket=Você abriu um pedido para apoio.\n\n{0}\n\nHaveno versão: {1} support.youOpenedDispute=Você abriu um pedido para uma disputa.\n\n{0}\n\nHaveno versão: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=Moeda preferrida setting.preferences.displayFiat=Mostrar moedas nacionais setting.preferences.noFiat=Não há moedas nacionais selecionadas setting.preferences.cannotRemovePrefCurrency=Você não pode remover a moeda preferida de exibição selecionada -setting.preferences.displayAltcoins=Mostrar altcoins -setting.preferences.noAltcoins=Não há altcoins selecionadas +setting.preferences.displayCryptos=Mostrar cryptos +setting.preferences.noCryptos=Não há cryptos selecionadas setting.preferences.addFiat=Adicionar moeda nacional -setting.preferences.addAltcoin=Adicionar altcoin +setting.preferences.addCrypto=Adicionar crypto setting.preferences.displayOptions=Mostrar opções setting.preferences.showOwnOffers=Mostrar as minhas próprias ofertas no livro de ofertas setting.preferences.useAnimations=Usar animações @@ -1081,8 +1081,8 @@ setting.about.support=Apoio Haveno setting.about.def=O Haveno não é uma empresa - é um projeto aberto à comunidade. Se você quiser participar ou apoiar o Haveno, siga os links abaixo. setting.about.contribute=Contribuir setting.about.providers=Provedores de dados -setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices, and Haveno Mempool Nodes for mining fee estimation. -setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices. +setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Crypto market prices, and Haveno Mempool Nodes for mining fee estimation. +setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Crypto market prices. setting.about.pricesProvided=Preços de mercado fornecidos por setting.about.feeEstimation.label=Taxa de mineração fornecida por setting.about.versionDetails=Detalhes da versão @@ -1145,10 +1145,10 @@ account.tab.mediatorRegistration=Registo do Mediador account.tab.refundAgentRegistration=Registro de agente de reembolso account.tab.signing=Signing account.info.headline=Bem vindo à sua conta Haveno -account.info.msg=Aqui você pode adicionar contas de negociação para moedas nacionais e altcoins e criar um backup da sua carteira e dos dados da conta.\n\nUma nova carteira de Bitcoin foi criada na primeira vez que você iniciou o Haveno.\n\nÉ altamente recomendável que você anote as sua palavras-semente da carteira do Bitcoin (consulte a guia na parte superior) e considere adicionar uma senha antes do financiamento. Depósitos e retiradas de Bitcoin são gerenciados na secção \"Fundos\".\n\nNota sobre privacidade e segurança: como o Haveno é uma exchange descentralizada, todos os seus dados são mantidos no seu computador. Como não há servidores, não temos acesso às suas informações pessoais, fundos ou mesmo seu endereço IP. Dados como números de contas bancárias, endereços de altcoin e Bitcoin etc. são compartilhados apenas com seu par de negociação para realizar negociações iniciadas (no caso de uma disputa, o mediador ou o árbitro verá os mesmos dados que o seu parceiro de negociação). +account.info.msg=Aqui você pode adicionar contas de negociação para moedas nacionais e cryptos e criar um backup da sua carteira e dos dados da conta.\n\nUma nova carteira de Bitcoin foi criada na primeira vez que você iniciou o Haveno.\n\nÉ altamente recomendável que você anote as sua palavras-semente da carteira do Bitcoin (consulte a guia na parte superior) e considere adicionar uma senha antes do financiamento. Depósitos e retiradas de Bitcoin são gerenciados na secção \"Fundos\".\n\nNota sobre privacidade e segurança: como o Haveno é uma exchange descentralizada, todos os seus dados são mantidos no seu computador. Como não há servidores, não temos acesso às suas informações pessoais, fundos ou mesmo seu endereço IP. Dados como números de contas bancárias, endereços de crypto e Bitcoin etc. são compartilhados apenas com seu par de negociação para realizar negociações iniciadas (no caso de uma disputa, o mediador ou o árbitro verá os mesmos dados que o seu parceiro de negociação). account.menu.paymentAccount=Contas de moedas nacionais -account.menu.altCoinsAccountView=Contas de altcoins +account.menu.altCoinsAccountView=Contas de cryptos account.menu.password=Senha da carteira account.menu.seedWords=Semente da carteira account.menu.walletInfo=Wallet info @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=Não foi possível remover o regist account.arbitratorRegistration.registerSuccess=Você se registrou com sucesso na rede do Haveno. account.arbitratorRegistration.registerFailed=Não foi possível completar o registro.{0} -account.altcoin.yourAltcoinAccounts=As suas contas de altcoins -account.altcoin.popup.wallet.msg=Certifique-se de seguir os requisitos para o uso das carteiras de {0}, conforme descrito na página da web de {1}.\nO uso de carteiras de exchanges centralizadas nas quais (a) você não controla suas chaves ou (b) que não utiliza software de carteira compatível é arriscado: pode levar à perda dos fundos negociados!\nO mediador ou árbitro não é um especialista em {2} e não pode ajudar nesses casos. -account.altcoin.popup.wallet.confirm=Eu entendo e confirmo que eu sei qual carteira que preciso usar. +account.crypto.yourCryptoAccounts=As suas contas de cryptos +account.crypto.popup.wallet.msg=Certifique-se de seguir os requisitos para o uso das carteiras de {0}, conforme descrito na página da web de {1}.\nO uso de carteiras de exchanges centralizadas nas quais (a) você não controla suas chaves ou (b) que não utiliza software de carteira compatível é arriscado: pode levar à perda dos fundos negociados!\nO mediador ou árbitro não é um especialista em {2} e não pode ajudar nesses casos. +account.crypto.popup.wallet.confirm=Eu entendo e confirmo que eu sei qual carteira que preciso usar. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Negociar UPX no Haveno exige que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o UPX, você precisa usar a carteira GUI oficial do uPlexa ou a carteira CLI do uPlexa com o sinalizador store-tx-info ativado (padrão em novas versões). Certifique-se de que você pode acessar a chave da tx, pois isso seria necessário em caso de disputa.\nuplexa-wallet-cli (use o comando get_tx_key)\nuplexa-wallet-gui (vá para a aba do histoórico e clique no botão (P) para prova de pagamento)\n\nEm exploradores de blocos normais, a transferência não é verificável.\n\nVocê precisa fornecer ao árbitro os seguintes dados em caso de disputa:\n- A chave privada da tx\n- O hash da transação\n- Endereço público do destinatário\n\nA falha no fornecimento dos dados acima, ou se você usou uma carteira incompatível, resultará na perda do caso da disputa. O remetente de UPX é responsável por fornecer a verificação da transferência de UPX ao árbitro em caso de disputa.\n\nNão é necessário um ID de pagamento, apenas o endereço público normal.\nSe você não tiver certeza sobre esse processo, visite o canal de discord do uPlexa (https://discord.gg/vhdNSrV) ou o chat do Telegram do uPlexa (https://t.me/uplexaOfficial) para encontrar mais informações. +account.crypto.popup.upx.msg=Negociar UPX no Haveno exige que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o UPX, você precisa usar a carteira GUI oficial do uPlexa ou a carteira CLI do uPlexa com o sinalizador store-tx-info ativado (padrão em novas versões). Certifique-se de que você pode acessar a chave da tx, pois isso seria necessário em caso de disputa.\nuplexa-wallet-cli (use o comando get_tx_key)\nuplexa-wallet-gui (vá para a aba do histoórico e clique no botão (P) para prova de pagamento)\n\nEm exploradores de blocos normais, a transferência não é verificável.\n\nVocê precisa fornecer ao árbitro os seguintes dados em caso de disputa:\n- A chave privada da tx\n- O hash da transação\n- Endereço público do destinatário\n\nA falha no fornecimento dos dados acima, ou se você usou uma carteira incompatível, resultará na perda do caso da disputa. O remetente de UPX é responsável por fornecer a verificação da transferência de UPX ao árbitro em caso de disputa.\n\nNão é necessário um ID de pagamento, apenas o endereço público normal.\nSe você não tiver certeza sobre esse processo, visite o canal de discord do uPlexa (https://discord.gg/vhdNSrV) ou o chat do Telegram do uPlexa (https://t.me/uplexaOfficial) para encontrar mais informações. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Negociar o ARQ no Haveno requer que você entenda e atenda aos seguintes requerimentos:\n\nPara enviar o ARQ, você precisa usar a wallet oficial do ArQmA GUI ou a carteira do ArQmA CLI com o marcador store-tx-info ativado (padrão em novas versões). Por favor, certifique-se que você pode acessar a chave da tx porque isso seria necessário em caso de uma disputa.\narqma-wallet-cli (use o comando get_tx_key)\narqma-wallet-gui (vá para a aba do histórico e clique no botão (P) para comprovar o pagamento)\n\nEm exploradores de blocos normais, a transferência não é verificável.\n\nVocê precisa fornecer ao mediador ou árbitro os seguintes dados em caso de disputa:\n- A chave privada da tx\n- O hash da transação\n- o endereço público do destinatário\n\nA falha em fornecer os dados acima, ou se você usou uma carteira incompatível, resultará na perda do caso de disputa. O remetente do ARQ é responsável por fornecer a verificação da transferência do ARQ ao mediador ou árbitro em caso de disputa.\n\nNão é necessário um código de pagamento, apenas o endereço público normal.\nSe você não tiver certeza sobre esse processo, visite o canal de discord do ArQmA (https://discord.gg/s9BQpJT) ou o fórum do ArQmA (https://labs.arqma.com) para obter mais informações. +account.crypto.popup.arq.msg=Negociar o ARQ no Haveno requer que você entenda e atenda aos seguintes requerimentos:\n\nPara enviar o ARQ, você precisa usar a wallet oficial do ArQmA GUI ou a carteira do ArQmA CLI com o marcador store-tx-info ativado (padrão em novas versões). Por favor, certifique-se que você pode acessar a chave da tx porque isso seria necessário em caso de uma disputa.\narqma-wallet-cli (use o comando get_tx_key)\narqma-wallet-gui (vá para a aba do histórico e clique no botão (P) para comprovar o pagamento)\n\nEm exploradores de blocos normais, a transferência não é verificável.\n\nVocê precisa fornecer ao mediador ou árbitro os seguintes dados em caso de disputa:\n- A chave privada da tx\n- O hash da transação\n- o endereço público do destinatário\n\nA falha em fornecer os dados acima, ou se você usou uma carteira incompatível, resultará na perda do caso de disputa. O remetente do ARQ é responsável por fornecer a verificação da transferência do ARQ ao mediador ou árbitro em caso de disputa.\n\nNão é necessário um código de pagamento, apenas o endereço público normal.\nSe você não tiver certeza sobre esse processo, visite o canal de discord do ArQmA (https://discord.gg/s9BQpJT) ou o fórum do ArQmA (https://labs.arqma.com) para obter mais informações. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Negociar MSR no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar MSR, você precisa usar a carteira GUI oficial do Masari ou a carteira CLI do Masari com o marcador store-tx-info ativado (ativado por padrão) ou a carteira web do Masari (https://wallet.getmasari.org). Por favor, certifique-se que você pode acessar a chave da tx porque isso seria necessário em caso de uma disputa.\nmasari-wallet-cli (use o comando get_tx_key)\nmasari-wallet-gui (vá para a aba do histórico e clique no botão (P) para comprovar o pagamento)\n\nMasari Web Wallet (vá para Account -> histórico de transação e veja os detalhes da sua transação enviada)\n\nA verificação pode ser realizada na carteira.\nmasari-wallet-cli: usando o comando (check_tx_key).\nmasari-wallet-gui: na aba Advanced > Prove/Check.\nA verificação pode ser realizada no eplorador de blocos\nExplorador de blocos aberto (https://explorer.getmasari.org), use a barra de procurar para encontrar o hash da transação.\nUma que vez que a transação for encontrada, desça até ao baixo da àrea 'Prove Sending' e preencha os detalhes necessários.\nVocê precisa fornecer ao mediador ou ao árbitro os seguintes dados em caso de disputa:\n- A chave privada da tx\n- O hash da transação\n- o endereço público do destinatário\n\nFalha em fornecer os dados acima, ou se você usou uma carteira incompatível, resultará na perda do caso de disputa. O remetente da XMR é responsável por fornecer a verificação da transferência da MSR para o mediador ou o árbitro no caso de uma disputa.\n\nNão é necessário um código de pagamento, apenas o endereço público normal.\nSe você não tem certeza sobre o processo, peça ajuda no Discord official do Masari (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Negociar MSR no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar MSR, você precisa usar a carteira GUI oficial do Masari ou a carteira CLI do Masari com o marcador store-tx-info ativado (ativado por padrão) ou a carteira web do Masari (https://wallet.getmasari.org). Por favor, certifique-se que você pode acessar a chave da tx porque isso seria necessário em caso de uma disputa.\nmasari-wallet-cli (use o comando get_tx_key)\nmasari-wallet-gui (vá para a aba do histórico e clique no botão (P) para comprovar o pagamento)\n\nMasari Web Wallet (vá para Account -> histórico de transação e veja os detalhes da sua transação enviada)\n\nA verificação pode ser realizada na carteira.\nmasari-wallet-cli: usando o comando (check_tx_key).\nmasari-wallet-gui: na aba Advanced > Prove/Check.\nA verificação pode ser realizada no eplorador de blocos\nExplorador de blocos aberto (https://explorer.getmasari.org), use a barra de procurar para encontrar o hash da transação.\nUma que vez que a transação for encontrada, desça até ao baixo da àrea 'Prove Sending' e preencha os detalhes necessários.\nVocê precisa fornecer ao mediador ou ao árbitro os seguintes dados em caso de disputa:\n- A chave privada da tx\n- O hash da transação\n- o endereço público do destinatário\n\nFalha em fornecer os dados acima, ou se você usou uma carteira incompatível, resultará na perda do caso de disputa. O remetente da XMR é responsável por fornecer a verificação da transferência da MSR para o mediador ou o árbitro no caso de uma disputa.\n\nNão é necessário um código de pagamento, apenas o endereço público normal.\nSe você não tem certeza sobre o processo, peça ajuda no Discord official do Masari (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Negociar o BLUR no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o BLUR você deve usar a carteira CLI da Blur Network ou a carteira GUI.\n\nSe você estiver usando a carteira CLI, um hash da transação (tx ID) será exibido após uma transferência ser enviada. Você deve guardar esta informação. Imediatamente após o envio da transferência, você deve usar o comando 'get_tx_key' para recuperar a chave privada da transação. Se você não conseguir executar essa etapa, talvez não consiga recuperar a chave mais tarde.\n\nSe você estiver usando a carteira GUI do Blur Network, a chave privada da transação e a ID da transação podem ser encontradas convenientemente na aba "Histórico". Imediatamente após o envio, localize a transação de interesse. Clique no símbolo "?" no canto inferior direito da caixa que contém a transação. Você deve guardar esta informação.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1.) a ID da transação, 2.) a chave privada da transação e 3.) o endereço do destinatário. O mediador ou árbitro verificará a transferência do BLUR usando o Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente de BLUR tem 100% de responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos não negocie no Haveno. Primeiro, procure ajuda no Discord da Rede de Blur (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Negociar o BLUR no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o BLUR você deve usar a carteira CLI da Blur Network ou a carteira GUI.\n\nSe você estiver usando a carteira CLI, um hash da transação (tx ID) será exibido após uma transferência ser enviada. Você deve guardar esta informação. Imediatamente após o envio da transferência, você deve usar o comando 'get_tx_key' para recuperar a chave privada da transação. Se você não conseguir executar essa etapa, talvez não consiga recuperar a chave mais tarde.\n\nSe você estiver usando a carteira GUI do Blur Network, a chave privada da transação e a ID da transação podem ser encontradas convenientemente na aba "Histórico". Imediatamente após o envio, localize a transação de interesse. Clique no símbolo "?" no canto inferior direito da caixa que contém a transação. Você deve guardar esta informação.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1.) a ID da transação, 2.) a chave privada da transação e 3.) o endereço do destinatário. O mediador ou árbitro verificará a transferência do BLUR usando o Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente de BLUR tem 100% de responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos não negocie no Haveno. Primeiro, procure ajuda no Discord da Rede de Blur (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Negociar Solo no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o Solo, você deve usar a carteira CLI do Solo.\n\nSe você está a usar a carteira CLI, um hash da transação (tx ID) aparecerá depois de a transação ser feita. Você deve guardar esta informação. Imediatamente após o envio da transação, você deve usar o comando 'get_tx_key' para recuperar a chave secreta da transação. Se você não conseguir executar este passo, talvez não seja possível recuperar a chave mais tarde.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1.) o ID da transação, 2.) a chave privada da transação e 3.) o endereço do recipiente. O mediador ou árbitro então verificará a transferência do Solo usando o Explorador de Blocos Solo (https://explorer.minesolo.com/).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente de Solo tem 100% da responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro, procure ajuda no Discord da Rede do Solo (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Negociar Solo no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o Solo, você deve usar a carteira CLI do Solo.\n\nSe você está a usar a carteira CLI, um hash da transação (tx ID) aparecerá depois de a transação ser feita. Você deve guardar esta informação. Imediatamente após o envio da transação, você deve usar o comando 'get_tx_key' para recuperar a chave secreta da transação. Se você não conseguir executar este passo, talvez não seja possível recuperar a chave mais tarde.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1.) o ID da transação, 2.) a chave privada da transação e 3.) o endereço do recipiente. O mediador ou árbitro então verificará a transferência do Solo usando o Explorador de Blocos Solo (https://explorer.minesolo.com/).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente de Solo tem 100% da responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro, procure ajuda no Discord da Rede do Solo (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Negociar o CASH2 no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar CASH2, você deve usar a versão Cash2 Wallet versão 3 ou superior.\n\nDepois que uma transação é enviada, a ID da transação será exibida. Você deve guardar esta informação. Imediatamente após o envio da transação, você deve usar o comando 'getTxKey' no simplewallet para recuperar a chave secreta da transação.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1) a ID da transação, 2) a chave secreta da transação e 3) o endereço Cash2 do destinatário. O mediador ou árbitro irá então verificar a transferência do CASH2 usando o Explorador de Blocos do Cash2 (https://blocks.cash2.org).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente do CASH2 tem 100% de responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro procure ajuda no Discord do Cash2 (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Negociar o CASH2 no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar CASH2, você deve usar a versão Cash2 Wallet versão 3 ou superior.\n\nDepois que uma transação é enviada, a ID da transação será exibida. Você deve guardar esta informação. Imediatamente após o envio da transação, você deve usar o comando 'getTxKey' no simplewallet para recuperar a chave secreta da transação.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1) a ID da transação, 2) a chave secreta da transação e 3) o endereço Cash2 do destinatário. O mediador ou árbitro irá então verificar a transferência do CASH2 usando o Explorador de Blocos do Cash2 (https://blocks.cash2.org).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente do CASH2 tem 100% de responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro procure ajuda no Discord do Cash2 (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Negociar Qwertycoin no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o QWC, você deve usar a versão oficial do QWC Wallet 5.1.3 ou superior.\n\nDepois que uma transação é enviada, o ID da transação será exibida. Você deve guardar esta informação. Imediatamente após o envio da transação, você deve usar o comando 'get_Tx_Key' na simplewallet para recuperar a chave secreta da transação.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1) o ID da transação, 2) a chave secreta da transação e 3) o endereço QWC do destinatário. O mediador ou árbitro então verificará a transferência do QWC usando o Explorador de Blocos QWC (https://explorer.qwertycoin.org).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente QWC tem 100% da responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro, procure ajuda no QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Negociar Qwertycoin no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar o QWC, você deve usar a versão oficial do QWC Wallet 5.1.3 ou superior.\n\nDepois que uma transação é enviada, o ID da transação será exibida. Você deve guardar esta informação. Imediatamente após o envio da transação, você deve usar o comando 'get_Tx_Key' na simplewallet para recuperar a chave secreta da transação.\n\nCaso a arbitragem seja necessária, você deve apresentar o seguinte à um mediador ou árbitro: 1) o ID da transação, 2) a chave secreta da transação e 3) o endereço QWC do destinatário. O mediador ou árbitro então verificará a transferência do QWC usando o Explorador de Blocos QWC (https://explorer.qwertycoin.org).\n\nO não fornecimento das informações necessárias ao mediador ou árbitro resultará na perda da disputa. Em todos os casos de disputa, o remetente QWC tem 100% da responsabilidade na verificação de transações para um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro, procure ajuda no QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Negociar Dragonglass no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPor causa da privacidade que a Dragonglass fornece, uma transação não é verificável na blockchain pública. Se necessário, você pode comprovar seu pagamento através do uso de sua chave privada TXN.\nA chave privade TXN é uma chave única gerada automaticamente para cada transação que só pode ser acessada dentro da sua carteira DRGL.\nTanto pela GUI do DRGL-wallet (dentro da janela de detalhes da transação) ou pelo simplewallet da CLI do Dragonglass (usando o comando "get_tx_key").\n\nA versão do DRGL 'Oathkeeper' e superior são NECESSÁRIAS para ambos.\n\nEm caso de disputa, você deve fornecer ao mediador ou árbitro os seguintes dados:\n- A chave privada TXN\n- O hash da transação\n- o endereço público do destinatário\n\nA verificação do pagamento pode ser feita usando os dados acima como inputs em (http://drgl.info/#check_txn).\n\nA falha em fornecer os dados acima, ou se você usou uma carteira incompatível, resultará na perda disputa. O remetente da Dragonglass é responsável por fornecer a verificação da transferência do DRGL para o mediador ou árbitro em caso de disputa. O uso de PaymentID não é obrigatório.\n\nSe você não tiver certeza sobre qualquer parte deste processo, visite Dragonglass on Discord (http://discord.drgl.info) para obter ajuda. +account.crypto.popup.drgl.msg=Negociar Dragonglass no Haveno requer que você entenda e cumpra os seguintes requerimentos:\n\nPor causa da privacidade que a Dragonglass fornece, uma transação não é verificável na blockchain pública. Se necessário, você pode comprovar seu pagamento através do uso de sua chave privada TXN.\nA chave privade TXN é uma chave única gerada automaticamente para cada transação que só pode ser acessada dentro da sua carteira DRGL.\nTanto pela GUI do DRGL-wallet (dentro da janela de detalhes da transação) ou pelo simplewallet da CLI do Dragonglass (usando o comando "get_tx_key").\n\nA versão do DRGL 'Oathkeeper' e superior são NECESSÁRIAS para ambos.\n\nEm caso de disputa, você deve fornecer ao mediador ou árbitro os seguintes dados:\n- A chave privada TXN\n- O hash da transação\n- o endereço público do destinatário\n\nA verificação do pagamento pode ser feita usando os dados acima como inputs em (http://drgl.info/#check_txn).\n\nA falha em fornecer os dados acima, ou se você usou uma carteira incompatível, resultará na perda disputa. O remetente da Dragonglass é responsável por fornecer a verificação da transferência do DRGL para o mediador ou árbitro em caso de disputa. O uso de PaymentID não é obrigatório.\n\nSe você não tiver certeza sobre qualquer parte deste processo, visite Dragonglass on Discord (http://discord.drgl.info) para obter ajuda. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=Ao usar o Zcash você só pode usar os endereços transparentes (começando com t), e não os endereços z (privados), porque o mediador ou árbitro não seria capaz de verificar a transação com endereços z. +account.crypto.popup.ZEC.msg=Ao usar o Zcash você só pode usar os endereços transparentes (começando com t), e não os endereços z (privados), porque o mediador ou árbitro não seria capaz de verificar a transação com endereços z. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=Ao usar a Zcoin, você só pode usar os endereços transparentes (rastreáveis) e não os endereços não rastreáveis, porque o mediador ou árbitro não seria capaz de verificar a transação com endereços não rastreáveis num explorador de blocos. +account.crypto.popup.XZC.msg=Ao usar a Zcoin, você só pode usar os endereços transparentes (rastreáveis) e não os endereços não rastreáveis, porque o mediador ou árbitro não seria capaz de verificar a transação com endereços não rastreáveis num explorador de blocos. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN requer um processo interativo entre o remetente e o recipiente para criar a transação. Certifique-se de seguir as instruções da página web do projeto GRIN para enviar e receber de forma confiável o GRIN (o recipiente precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nO Haveno suporta apenas o formato de URL da carteira Grinbox (Wallet713).\n\nO remetente GRIN é obrigado a fornecer prova de que eles enviaram GRIN com sucesso. Se a carteira não puder fornecer essa prova, uma disputa potencial será resolvida em favor do recipiente de GRIN. Por favor, certifique-se de usar o software Grinbox mais recente que suporta a prova da transação e que você entende o processo de transferência e receção do GRIN, bem como criar a prova.\n\nConsulte https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only para obter mais informações sobre a ferramenta de prova Grinbox. +account.crypto.popup.grin.msg=GRIN requer um processo interativo entre o remetente e o recipiente para criar a transação. Certifique-se de seguir as instruções da página web do projeto GRIN para enviar e receber de forma confiável o GRIN (o recipiente precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nO Haveno suporta apenas o formato de URL da carteira Grinbox (Wallet713).\n\nO remetente GRIN é obrigado a fornecer prova de que eles enviaram GRIN com sucesso. Se a carteira não puder fornecer essa prova, uma disputa potencial será resolvida em favor do recipiente de GRIN. Por favor, certifique-se de usar o software Grinbox mais recente que suporta a prova da transação e que você entende o processo de transferência e receção do GRIN, bem como criar a prova.\n\nConsulte https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only para obter mais informações sobre a ferramenta de prova Grinbox. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=O BEAM requer um processo interativo entre o remetente e o recipiente para criar a transação.\n\nCertifique-se de seguir as instruções da página Web do projeto BEAM para enviar e receber BEAM de forma confiável (o recipiente precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nO remetente BEAM é obrigado a fornecer prova de que eles enviaram o BEAM com sucesso. Certifique-se de usar software de carteira que pode produzir tal prova. Se a carteira não puder fornecer a prova, uma disputa potencial será resolvida em favor do recipiente de BEAM. +account.crypto.popup.beam.msg=O BEAM requer um processo interativo entre o remetente e o recipiente para criar a transação.\n\nCertifique-se de seguir as instruções da página Web do projeto BEAM para enviar e receber BEAM de forma confiável (o recipiente precisa estar online ou pelo menos estar online durante um determinado período de tempo).\n\nO remetente BEAM é obrigado a fornecer prova de que eles enviaram o BEAM com sucesso. Certifique-se de usar software de carteira que pode produzir tal prova. Se a carteira não puder fornecer a prova, uma disputa potencial será resolvida em favor do recipiente de BEAM. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=A negociação de ParsiCoin no Haveno exige que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar PARS você deve usar a versão oficial da Carteira ParsiCoin 3.0.0 ou superior.\n\nVocê pode verificar o Hash da Transação e a Chave da Transação na secção das Transações na sua carteira GUI (ParsiPay) Você precisa clicar com o lado direito na transação e, em seguida, clicar em mostrar detalhes.\n\nEm caso de arbitragem, você deve apresentar o seguinte para um mediador ou árbitro: 1) o Hash da Transação, 2) a Chave da Transação, e 3) endereço PARS do recipiente. O mediador ou árbitro irá então verificar a transferência PARS usando o Explorador de Blocos da ParsiCoin (http://explorer.parsicoin.net/#check_payment).\n\nFalha em fornecer as informações necessárias ao mediador ou árbitro resultará na perda do caso de disputa. Em todos os casos de disputa, o remetente da ParsiCoin carrega 100% da carga de responsabilidade em verificar as transações à um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro procure ajuda no Discord da ParsiCoin (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=A negociação de ParsiCoin no Haveno exige que você entenda e cumpra os seguintes requerimentos:\n\nPara enviar PARS você deve usar a versão oficial da Carteira ParsiCoin 3.0.0 ou superior.\n\nVocê pode verificar o Hash da Transação e a Chave da Transação na secção das Transações na sua carteira GUI (ParsiPay) Você precisa clicar com o lado direito na transação e, em seguida, clicar em mostrar detalhes.\n\nEm caso de arbitragem, você deve apresentar o seguinte para um mediador ou árbitro: 1) o Hash da Transação, 2) a Chave da Transação, e 3) endereço PARS do recipiente. O mediador ou árbitro irá então verificar a transferência PARS usando o Explorador de Blocos da ParsiCoin (http://explorer.parsicoin.net/#check_payment).\n\nFalha em fornecer as informações necessárias ao mediador ou árbitro resultará na perda do caso de disputa. Em todos os casos de disputa, o remetente da ParsiCoin carrega 100% da carga de responsabilidade em verificar as transações à um mediador ou árbitro.\n\nSe você não entender esses requerimentos, não negocie no Haveno. Primeiro procure ajuda no Discord da ParsiCoin (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=Para negociar blackcoins queimados, você precisa saber o seguinte:\n\nBlackcoins queimados não podem ser gastos. Para os negociar no Haveno, os output scripts precisam estar na forma: OP_RETURN OP_PUSHDATA, seguido pelos data bytes que, após serem codificados em hex, constituem endereços. Por exemplo, blackcoins queimados com um endereço 666f6f (“foo” em UTF-8) terá o seguinte script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nPara criar blackcoins queimados, deve-se usar o comando RPC “burn” disponível em algumas carteiras.\n\nPara casos possíveis, confira https://ibo.laboratorium.ee .\n\nComo os blackcoins queimados não podem ser gastos, eles não podem voltar a ser vendidos. “Vender” blackcoins queimados significa queimar blackcoins comuns (com os dados associados iguais ao endereço de destino).\n\nEm caso de disputa, o vendedor de BLK precisa providenciar o hash da transação. +account.crypto.popup.blk-burnt.msg=Para negociar blackcoins queimados, você precisa saber o seguinte:\n\nBlackcoins queimados não podem ser gastos. Para os negociar no Haveno, os output scripts precisam estar na forma: OP_RETURN OP_PUSHDATA, seguido pelos data bytes que, após serem codificados em hex, constituem endereços. Por exemplo, blackcoins queimados com um endereço 666f6f (“foo” em UTF-8) terá o seguinte script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nPara criar blackcoins queimados, deve-se usar o comando RPC “burn” disponível em algumas carteiras.\n\nPara casos possíveis, confira https://ibo.laboratorium.ee .\n\nComo os blackcoins queimados não podem ser gastos, eles não podem voltar a ser vendidos. “Vender” blackcoins queimados significa queimar blackcoins comuns (com os dados associados iguais ao endereço de destino).\n\nEm caso de disputa, o vendedor de BLK precisa providenciar o hash da transação. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=A negociação de L-BTC no Haveno exige que você entenda o seguinte:\n\nAo receber L-BTC para um negócio no Haveno, você não pode usar a aplicação móvel Blockstream Green Wallet ou uma carteira de custódia / exchange. Você só deve receber o L-BTC na carteira Liquid Elements Core ou em outra carteira L-BTC que permita obter a chave ofuscante para o seu endereço L-BTC cego.\n\nNo caso de ser necessária mediação, ou se surgir uma disputa de negócio, você deve divulgar a chave ofuscante do seu endereço L-BTC de recebimento ao mediador ou agente de reembolso Haveno, para que eles possam verificar os detalhes da sua Transação Confidencial no seu próprio Elements Core full node.\n\nO não fornecimento das informações necessárias ao mediador ou ao agente de reembolso resultará na perda do caso de disputa. Em todos os casos de disputa, o recipiente de L-BTC suporta 100% da responsabilidade ao fornecer prova criptográfica ao mediador ou ao agente de reembolso.\n\nSe você não entender esses requerimentos, não negocie o L-BTC no Haveno. +account.crypto.popup.liquidbitcoin.msg=A negociação de L-BTC no Haveno exige que você entenda o seguinte:\n\nAo receber L-BTC para um negócio no Haveno, você não pode usar a aplicação móvel Blockstream Green Wallet ou uma carteira de custódia / exchange. Você só deve receber o L-BTC na carteira Liquid Elements Core ou em outra carteira L-BTC que permita obter a chave ofuscante para o seu endereço L-BTC cego.\n\nNo caso de ser necessária mediação, ou se surgir uma disputa de negócio, você deve divulgar a chave ofuscante do seu endereço L-BTC de recebimento ao mediador ou agente de reembolso Haveno, para que eles possam verificar os detalhes da sua Transação Confidencial no seu próprio Elements Core full node.\n\nO não fornecimento das informações necessárias ao mediador ou ao agente de reembolso resultará na perda do caso de disputa. Em todos os casos de disputa, o recipiente de L-BTC suporta 100% da responsabilidade ao fornecer prova criptográfica ao mediador ou ao agente de reembolso.\n\nSe você não entender esses requerimentos, não negocie o L-BTC no Haveno. -account.fiat.yourFiatAccounts=A sua conta de moeda nacional +account.traditional.yourTraditionalAccounts=A sua conta de moeda nacional account.backup.title=Carteira de backup account.backup.location=Localizacao do backup @@ -1578,7 +1578,7 @@ popup.warning.startupFailed.twoInstances=Haveno já está em execução. Você n popup.warning.tradePeriod.halfReached=Sua negociação com o ID {0} atingiu a metade do valor máx. do período de negociação permitido e ainda não está concluído.\n\nO período de negócio termina em {1}\n\nPor favor, verifique o seu estado de negócio em \"Portefólio/Ofertas abertas\" para mais informações. popup.warning.tradePeriod.ended=O seu negócio com o ID {0} atingiu o limite do máx. período de negociação permitido e não está concluído.\n\nO período de negócio terminou em {1}\n\nPor favor, verifique o seu negócio em \"Portefólio/Negócios abertos\" para entrar em contacto com o mediador. popup.warning.noTradingAccountSetup.headline=Você ainda não configurou uma conta de negociação -popup.warning.noTradingAccountSetup.msg=Você precisa configurar uma conta de moeda nacional ou altcoin antes de criar uma oferta.\nVocê quer configurar uma conta? +popup.warning.noTradingAccountSetup.msg=Você precisa configurar uma conta de moeda nacional ou crypto antes de criar uma oferta.\nVocê quer configurar uma conta? popup.warning.noArbitratorsAvailable=Não há árbitros disponíveis. popup.warning.noMediatorsAvailable=Não há mediadores disponíveis. popup.warning.notFullyConnected=Você precisa esperar até estar totalmente conectado à rede.\nIsso pode levar cerca de 2 minutos na inicialização. @@ -1801,8 +1801,8 @@ formatter.makerTaker=Ofertante como {0} {1} / Aceitador como {2} {3} formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=Você é {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Você está criando uma oferta para {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Você está criando uma oferta para {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=Você está criando uma oferta para {0} {1} +formatter.youAreCreatingAnOffer.crypto=Você está criando uma oferta para {0} {1} ({2} {3}) formatter.asMaker={0} {1} como ofertante formatter.asTaker={0} {1} como aceitador @@ -1894,11 +1894,11 @@ payment.email=Email payment.country=País payment.extras=Requerimentos adicionais payment.email.mobile=Email ou nº de telemóvel -payment.altcoin.address=Endereço de altcoin -payment.altcoin.tradeInstantCheckbox=Negócio instantâneo (dentro de 1 hora) com esta Altcoin -payment.altcoin.tradeInstant.popup=Para negociação instantânea, é necessário que os dois pares de negociação estejam online para concluir o negócio em menos de 1 hora..\n\nSe você tem ofertas abertas e você não está disponível, por favor desative essas ofertas no ecrã 'Portefólio'. -payment.altcoin=Altcoin -payment.select.altcoin=Select or search Altcoin +payment.crypto.address=Endereço de crypto +payment.crypto.tradeInstantCheckbox=Negócio instantâneo (dentro de 1 hora) com esta Crypto +payment.crypto.tradeInstant.popup=Para negociação instantânea, é necessário que os dois pares de negociação estejam online para concluir o negócio em menos de 1 hora..\n\nSe você tem ofertas abertas e você não está disponível, por favor desative essas ofertas no ecrã 'Portefólio'. +payment.crypto=Crypto +payment.select.crypto=Select or search Crypto payment.secret=Pergunta secreta payment.answer=Resposta payment.wallet=ID da carteira @@ -1924,8 +1924,8 @@ payment.national.account.id.AR=Numero CBU shared.accountSigningState=Estado da assinatura da conta #new -payment.altcoin.address.dyn=Endereço de {0} -payment.altcoin.receiver.address=Endereço altcoin do recipiente +payment.crypto.address.dyn=Endereço de {0} +payment.crypto.receiver.address=Endereço crypto do recipiente payment.accountNr=Número da conta payment.emailOrMobile=Email ou nº de telemóvel payment.useCustomAccountName=Usar nome de conta personalizado: @@ -1971,7 +1971,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=Trading using US Postal Money Orders (USPMO) on Haveno requires that you understand the following:\n\n- BTC buyers must write the BTC Seller’s name in both the Payer and the Payee’s fields & take a high-resolution photo of the USPMO and envelope with proof of tracking before sending.\n- BTC buyers must send the USPMO to the BTC seller with Delivery Confirmation.\n\nIn the event mediation is necessary, or if there is a trade dispute, you will be required to send the photos to the Haveno mediator or refund agent, together with the USPMO Serial Number, Post Office Number, and dollar amount, so they can verify the details on the US Post Office website.\n\nFailure to provide the required information to the Mediator or Arbitrator will result in losing the dispute case.\n\nIn all dispute cases, the USPMO sender bears 100% of the burden of responsibility in providing evidence/proof to the Mediator or Arbitrator.\n\nIf you do not understand these requirements, do not trade using USPMO on Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=Informação de contacto payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2068,7 +2068,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoins +BLOCK_CHAINS=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2078,7 +2078,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins Instantâneas +BLOCK_CHAINS_INSTANT=Cryptos Instantâneas # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2120,7 +2120,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoins +BLOCK_CHAINS_SHORT=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2130,7 +2130,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins Instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2150,8 +2150,8 @@ validation.NaN=Número inválido validation.notAnInteger=O input não é um número inteiro. validation.zero=Número 0 não é permitido validation.negative=Valores negativos não são permitidos. -validation.fiat.tooSmall=Input menor do que a quantia mínima permitida. -validation.fiat.tooLarge=Input maior do que a quantia máxima permitida. +validation.traditional.tooSmall=Input menor do que a quantia mínima permitida. +validation.traditional.tooLarge=Input maior do que a quantia máxima permitida. validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=O input maior que {0} não é permitido. validation.xmr.tooSmall=Input menor que {0} não é permitido. @@ -2172,15 +2172,15 @@ validation.nationalAccountId={0} tem de ser constituído por {1} números validation.invalidInput=Input inválido: {0} validation.accountNrFormat=O número da conta deve estar no formato: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Validação do endereço falhou pois este não é compatível com a estrutura de um endereço {0}. +validation.crypto.wrongStructure=Validação do endereço falhou pois este não é compatível com a estrutura de um endereço {0}. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Endereço não é um endereço {0} válido! {1} +validation.crypto.invalidAddress=Endereço não é um endereço {0} válido! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. +validation.crypto.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=Banco e Código de país devem ser letras validation.bic.invalidLocationCode=BIC contém código de localização inválido diff --git a/core/src/main/resources/i18n/displayStrings_ru.properties b/core/src/main/resources/i18n/displayStrings_ru.properties index 20dedd1b..1397ab7d 100644 --- a/core/src/main/resources/i18n/displayStrings_ru.properties +++ b/core/src/main/resources/i18n/displayStrings_ru.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Мейкер: {0} shared.takerTxFee=Тейкер: {0} shared.iConfirm=Подтверждаю shared.openURL=Открыть {0} -shared.fiat=Нац. валюта +shared.traditional=Нац. валюта shared.crypto=Криптовалюта shared.all=Все shared.edit=Редактировать @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=Сделки # OfferBookChartView -market.offerBook.buyAltcoin=Хочу купить {0} (продать {1}) -market.offerBook.sellAltcoin=Хочу продать {0} (купить {1}) -market.offerBook.buyWithFiat=Купить {0} -market.offerBook.sellWithFiat=Продать {0} +market.offerBook.buyCrypto=Хочу купить {0} (продать {1}) +market.offerBook.sellCrypto=Хочу продать {0} (купить {1}) +market.offerBook.buyWithTraditional=Купить {0} +market.offerBook.sellWithTraditional=Продать {0} market.offerBook.sellOffersHeaderLabel=Продать {0} market.offerBook.buyOffersHeaderLabel=Купить {0} market.offerBook.buy=Хочу купить биткойн @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=Н/Д shared.notSigned=This account has not been signed yet and was created {0} days ago shared.notSigned.noNeed=This account type does not require signing shared.notSigned.noNeedDays=This account type does not require signing and was created {0} days ago -shared.notSigned.noNeedAlts=Altcoin accounts do not feature signing or aging +shared.notSigned.noNeedAlts=Crypto accounts do not feature signing or aging offerbook.nrOffers=Кол-во предложений: {0} offerbook.volume={0} (мин. ⁠— макс.) @@ -361,8 +361,8 @@ offerbook.deposit.help=Deposit paid by each trader to guarantee the trade. Will offerbook.createOfferToBuy=Создать новое предложение на покупку {0} offerbook.createOfferToSell=Создать новое предложение на продажу {0} -offerbook.createOfferToBuy.withFiat=Создать новое предложение: купить {0} за {1} -offerbook.createOfferToSell.forFiat=Создать новое предложение: продать {0} за {1} +offerbook.createOfferToBuy.withTraditional=Создать новое предложение: купить {0} за {1} +offerbook.createOfferToSell.forTraditional=Создать новое предложение: продать {0} за {1} offerbook.createOfferToBuy.withCrypto=Создать новое предложение: продать {0} (купить {1}) offerbook.createOfferToSell.forCrypto=Создать новое предложение: купить {0} (продать {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Изменить предложение portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=Ожидание подтверждения в блокчейне portfolio.pending.step2_buyer.startPayment=Сделать платеж @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Переведите {1} с внешнего кошелька {0}\nпродавцу ВТС.\n\n +portfolio.pending.step2_buyer.crypto=Переведите {1} с внешнего кошелька {0}\nпродавцу ВТС.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Обратитесь в банк и заплатите {0} продавцу ВТС.\n\n portfolio.pending.step2_buyer.cash.extra=ВАЖНОЕ ТРЕБОВАНИЕ:\nПосле оплаты напишите на бумажной квитанции «ВОЗВРАТУ НЕ ПОДЛЕЖИТ».\nЗатем разорвите квитанцию на 2 части, сфотографируйте её и отошлите на электронный адрес продавца ВТС. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed portfolio.pending.step3_buyer.openForDispute=The BTC seller has not confirmed your payment! The max. period for the trade has elapsed. You can wait longer and give the trading peer more time or request assistance from the mediator. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Ваш контрагент подтвердил начало оплаты в {0}.\n\n -portfolio.pending.step3_seller.altcoin.explorer=в вашем любимом обозревателе блоков {0} -portfolio.pending.step3_seller.altcoin.wallet=в вашем кошельке {0} -portfolio.pending.step3_seller.altcoin={0}Проверьте {1}, была ли транзакция в ваш адрес\n{2}\nподтверждена достаточное количество раз.\nСумма платежа должна составлять {3}.\n\n Вы можете скопировать и вставить свой адрес {4} из главного окна после закрытия этого окна. +portfolio.pending.step3_seller.crypto.explorer=в вашем любимом обозревателе блоков {0} +portfolio.pending.step3_seller.crypto.wallet=в вашем кошельке {0} +portfolio.pending.step3_seller.crypto={0}Проверьте {1}, была ли транзакция в ваш адрес\n{2}\nподтверждена достаточное количество раз.\nСумма платежа должна составлять {3}.\n\n Вы можете скопировать и вставить свой адрес {4} из главного окна после закрытия этого окна. portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=Подтвердить получение платежа portfolio.pending.step3_seller.buyerStartedPayment=Покупатель ВТС начал оплату в {0}.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Проверьте количество подтверждений в блокчейне в своём алтькойн-кошельке или обозревателе блоков и подтвердите платеж, если подтверждений достаточно. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Проверьте получение на свой торговый счёт (напр. банковский счёт) и подтвердите после получения платежа. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Проверьте количество подтверждений в блокчейне в своём алтькойн-кошельке или обозревателе блоков и подтвердите платеж, если подтверждений достаточно. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Проверьте получение на свой торговый счёт (напр. банковский счёт) и подтвердите после получения платежа. portfolio.pending.step3_seller.warn.part1a=в блокчейне {0} portfolio.pending.step3_seller.warn.part1b=у вашего поставщика платёжных услуг (напр., банка) portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment. Please check {0} if you have received the payment. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=You've already accepted portfolio.pending.failedTrade.taker.missingTakerFeeTx=The taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked and no trade fee has been paid. You can move this trade to failed trades. portfolio.pending.failedTrade.maker.missingTakerFeeTx=The peer's taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked. Your offer is still available to other traders, so you have not lost the maker fee. You can move this trade to failed trades. portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of-2 multisig transaction) is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked but your trade fee has been paid. You can make a request to be reimbursed the trade fee here: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nFeel free to move this trade to failed trades. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the fiat or altcoin payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the traditional or crypto payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing but funds have been locked in the deposit transaction.\n\nIf the buyer is also missing the delayed payout transaction, they will be instructed to NOT send the payment and open a mediation ticket instead. You should also open a mediation ticket with Cmd/Ctrl+o. \n\nIf the buyer has not sent payment yet, the mediator should suggest that both peers each get back the full amount of their security deposits (with seller receiving full trade amount back as well). Otherwise the trade amount should go to the buyer. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=There was an error during trade protocol execution.\n\nError: {0}\n\nIt might be that this error is not critical, and the trade can be completed normally. If you are unsure, open a mediation ticket to get advice from Haveno mediators. \n\nIf the error was critical and the trade cannot be completed, you might have lost your trade fee. Request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=The trade contract is not set.\n\nThe trade cannot be completed and you might have lost your trade fee. If so, you can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -954,7 +954,7 @@ support.buyerTaker=Покупатель ВТС/тейкер support.sellerTaker=Продавец BTC/тейкер support.backgroundInfo=Haveno is not a company, so it handles disputes differently.\n\nTraders can communicate within the application via secure chat on the open trades screen to try solving disputes on their own. If that is not sufficient, a mediator can step in to help. The mediator will evaluate the situation and suggest a payout of trade funds. If both traders accept this suggestion, the payout transaction is completed and the trade is closed. If one or both traders do not agree to the mediator's suggested payout, they can request arbitration.The arbitrator will re-evaluate the situation and, if warranted, personally pay the trader back and request reimbursement for this payment from the Haveno DAO. -support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Altcoin transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Altcoin payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} +support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Crypto transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Crypto payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} support.systemMsg=Системное сообщение: {0} support.youOpenedTicket=Вы запросили поддержку.\n\n{0}\n\nВерсия Haveno: {1} support.youOpenedDispute=Вы начали спор.\n\n{0}\n\nВерсия Haveno: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=Предпочитаемая валюта setting.preferences.displayFiat=Показать нац. валюты setting.preferences.noFiat=Национальные валюты не выбраны setting.preferences.cannotRemovePrefCurrency=Нельзя удалить выбранную предпочитаемую валюту -setting.preferences.displayAltcoins=Показать альткойны -setting.preferences.noAltcoins=Альткойны не выбраны +setting.preferences.displayCryptos=Показать альткойны +setting.preferences.noCryptos=Альткойны не выбраны setting.preferences.addFiat=Добавить национальную валюту -setting.preferences.addAltcoin=Добавить альткойн +setting.preferences.addCrypto=Добавить альткойн setting.preferences.displayOptions=Параметры отображения setting.preferences.showOwnOffers=Показать мои предложения в списке предложений setting.preferences.useAnimations=Использовать анимацию @@ -1081,8 +1081,8 @@ setting.about.support=Поддержать Haveno setting.about.def=Haveno не является компанией, а представляет собой общественный проект, открытый для участия. Если вы хотите принять участие или поддержать Haveno, перейдите по ссылкам ниже. setting.about.contribute=Помочь setting.about.providers=Источники данных -setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices, and Haveno Mempool Nodes for mining fee estimation. -setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices. +setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Crypto market prices, and Haveno Mempool Nodes for mining fee estimation. +setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Crypto market prices. setting.about.pricesProvided=Рыночный курс предоставлен setting.about.feeEstimation.label=Расчёт комиссии майнера предоставлен setting.about.versionDetails=Подробности версии @@ -1145,7 +1145,7 @@ account.tab.mediatorRegistration=Mediator registration account.tab.refundAgentRegistration=Refund agent registration account.tab.signing=Signing account.info.headline=Добро пожаловать в ваш счёт Haveno -account.info.msg=Here you can add trading accounts for national currencies & altcoins and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). +account.info.msg=Here you can add trading accounts for national currencies & cryptos and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, crypto & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). account.menu.paymentAccount=Счета в нац. валюте account.menu.altCoinsAccountView=Альткойн-счета @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=Could not remove registration.{0} account.arbitratorRegistration.registerSuccess=You have successfully registered to the Haveno network. account.arbitratorRegistration.registerFailed=Could not complete registration.{0} -account.altcoin.yourAltcoinAccounts=Ваши альткойн-счета -account.altcoin.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. -account.altcoin.popup.wallet.confirm=Я понимаю и подтверждаю, что знаю, какой кошелёк нужно использовать. +account.crypto.yourCryptoAccounts=Ваши альткойн-счета +account.crypto.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. +account.crypto.popup.wallet.confirm=Я понимаю и подтверждаю, что знаю, какой кошелёк нужно использовать. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. +account.crypto.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. +account.crypto.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. +account.crypto.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. +account.crypto.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=При создании транзакции в GRIN требуется взаимодействие в реальном времени между отправителем и получателем. Следуйте инструкциям на веб-сайте проекта GRIN, чтобы узнать, как отправлять и получать GRIN (получатель должен находиться в сети в момент отправки перевода или в течение определенного периода). \n\nHaveno поддерживает кошельки только в формате Grinbox (Wallet713). \n\nОтправитель GRIN должен предоставить доказательство успешной отправки перевода. Если отправитель не сможет предоставить это доказательство, потенциальный спор будет решен в пользу получателя GRIN. Убедитесь, что используете последнюю версию Grinbox с поддержкой доказательства транзакций и что понимаете, как нужно отправлять и получать GRIN, а также как создавать доказательство перевода. \n\nЧтобы узнать подробности работы с инструментом доказательства транзакции в Grinbox, см. https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only. +account.crypto.popup.grin.msg=При создании транзакции в GRIN требуется взаимодействие в реальном времени между отправителем и получателем. Следуйте инструкциям на веб-сайте проекта GRIN, чтобы узнать, как отправлять и получать GRIN (получатель должен находиться в сети в момент отправки перевода или в течение определенного периода). \n\nHaveno поддерживает кошельки только в формате Grinbox (Wallet713). \n\nОтправитель GRIN должен предоставить доказательство успешной отправки перевода. Если отправитель не сможет предоставить это доказательство, потенциальный спор будет решен в пользу получателя GRIN. Убедитесь, что используете последнюю версию Grinbox с поддержкой доказательства транзакций и что понимаете, как нужно отправлять и получать GRIN, а также как создавать доказательство перевода. \n\nЧтобы узнать подробности работы с инструментом доказательства транзакции в Grinbox, см. https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=При создании транзакции в BEAM требуется взаимодействие в реальном времени между отправителем и получателем. \n\nСледуйте инструкциям на веб-сайте проекта BEAM, чтобы узнать, как отправлять и получать BEAM (получатель должен находиться в сети в момент отправки перевода или в течение определенного периода). \n\nОтправитель BEAM должен предоставить доказательство успешной отправки перевода. Используйте кошелёк, позволяющий получить доказательство перевода. Если отправитель не сможет предоставить это доказательство, потенциальный спор будет решен в пользу получателя BEAM. +account.crypto.popup.beam.msg=При создании транзакции в BEAM требуется взаимодействие в реальном времени между отправителем и получателем. \n\nСледуйте инструкциям на веб-сайте проекта BEAM, чтобы узнать, как отправлять и получать BEAM (получатель должен находиться в сети в момент отправки перевода или в течение определенного периода). \n\nОтправитель BEAM должен предоставить доказательство успешной отправки перевода. Используйте кошелёк, позволяющий получить доказательство перевода. Если отправитель не сможет предоставить это доказательство, потенциальный спор будет решен в пользу получателя BEAM. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. +account.crypto.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. -account.fiat.yourFiatAccounts=Ваши счета в нац. валюте +account.traditional.yourTraditionalAccounts=Ваши счета в нац. валюте account.backup.title=Резервный кошелёк account.backup.location=Место хранения резервной копии @@ -1803,8 +1803,8 @@ formatter.makerTaker=Мейкер как {0} {1} / Тейкер как {2} {3} formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=Вы {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Вы создаете предложение {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Вы создаете предложение {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=Вы создаете предложение {0} {1} +formatter.youAreCreatingAnOffer.crypto=Вы создаете предложение {0} {1} ({2} {3}) formatter.asMaker={0} {1} как мейкер formatter.asTaker={0} {1} как тейкер @@ -1896,11 +1896,11 @@ payment.email=Электронный адрес payment.country=Страна payment.extras=Дополнительные требования payment.email.mobile=Эл. адрес или номер моб. тел. -payment.altcoin.address=Альткойн-адрес -payment.altcoin.tradeInstantCheckbox=Совершайте мгновенные сделки (в течение 1 часа) с этим альткойном -payment.altcoin.tradeInstant.popup=Для ускоренной торговли требуется, чтобы оба контрагента были в сети и могли завершить сделку менее чем за 1 час.\n\nЕсли у вас есть текущие предложения, но вы не можете находиться в сети, отключите их в разделе «Папка». -payment.altcoin=Альткойны -payment.select.altcoin=Select or search Altcoin +payment.crypto.address=Альткойн-адрес +payment.crypto.tradeInstantCheckbox=Совершайте мгновенные сделки (в течение 1 часа) с этим альткойном +payment.crypto.tradeInstant.popup=Для ускоренной торговли требуется, чтобы оба контрагента были в сети и могли завершить сделку менее чем за 1 час.\n\nЕсли у вас есть текущие предложения, но вы не можете находиться в сети, отключите их в разделе «Папка». +payment.crypto=Альткойны +payment.select.crypto=Select or search Crypto payment.secret=Секретный вопрос payment.answer=Ответ payment.wallet=Идентификатор кошелька @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=Номер CBU shared.accountSigningState=Account signing status #new -payment.altcoin.address.dyn={0}-адрес -payment.altcoin.receiver.address=Альткойн-адрес получателя +payment.crypto.address.dyn={0}-адрес +payment.crypto.receiver.address=Альткойн-адрес получателя payment.accountNr=Номер счёта payment.emailOrMobile=Эл. адрес или номер моб. тел. payment.useCustomAccountName=Использовать своё название счёта @@ -1973,7 +1973,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=Trading using US Postal Money Orders (USPMO) on Haveno requires that you understand the following:\n\n- BTC buyers must write the BTC Seller’s name in both the Payer and the Payee’s fields & take a high-resolution photo of the USPMO and envelope with proof of tracking before sending.\n- BTC buyers must send the USPMO to the BTC seller with Delivery Confirmation.\n\nIn the event mediation is necessary, or if there is a trade dispute, you will be required to send the photos to the Haveno mediator or refund agent, together with the USPMO Serial Number, Post Office Number, and dollar amount, so they can verify the details on the US Post Office website.\n\nFailure to provide the required information to the Mediator or Arbitrator will result in losing the dispute case.\n\nIn all dispute cases, the USPMO sender bears 100% of the burden of responsibility in providing evidence/proof to the Mediator or Arbitrator.\n\nIf you do not understand these requirements, do not trade using USPMO on Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=Контактная информация payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2152,8 +2152,8 @@ validation.NaN=Введённое число недопустимо. validation.notAnInteger=Введённое число не является целым. validation.zero=Введённое значение не может быть равно 0. validation.negative=Отрицательное значение недопустимо. -validation.fiat.tooSmall=Ввод значения меньше минимально возможного не допускается. -validation.fiat.tooLarge=Ввод значения больше максимально возможного не допускается. +validation.traditional.tooSmall=Ввод значения меньше минимально возможного не допускается. +validation.traditional.tooLarge=Ввод значения больше максимально возможного не допускается. validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=Значение не может превышать {0}. validation.xmr.tooSmall=Значение не может быть меньше {0}. @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} должен состоять из {1} цифр validation.invalidInput=Недействительное значение: {0} validation.accountNrFormat=Допустимый формат номера счёта: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Сбой проверки адреса. Адрес не соответствует структуре адреса {0}. +validation.crypto.wrongStructure=Сбой проверки адреса. Адрес не соответствует структуре адреса {0}. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Адрес не является действительным адресом {0}! {1} +validation.crypto.invalidAddress=Адрес не является действительным адресом {0}! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. +validation.crypto.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=Код банка и страны должен быть буквенным validation.bic.invalidLocationCode=BIC содержит недействительный код местности diff --git a/core/src/main/resources/i18n/displayStrings_th.properties b/core/src/main/resources/i18n/displayStrings_th.properties index 4b10f4f9..7c8776df 100644 --- a/core/src/main/resources/i18n/displayStrings_th.properties +++ b/core/src/main/resources/i18n/displayStrings_th.properties @@ -190,7 +190,7 @@ shared.makerTxFee=ผู้ทำ: {0} shared.takerTxFee=ผู้รับ: {0} shared.iConfirm=ฉันยืนยัน shared.openURL=เปิด {0} -shared.fiat=คำสั่ง +shared.traditional=คำสั่ง shared.crypto=คริปโต shared.all=ทั้งหมด shared.edit=แก้ไข @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=การซื้อขาย # OfferBookChartView -market.offerBook.buyAltcoin=ซื้อ {0} (ขาย {1}) -market.offerBook.sellAltcoin=ขาย {0} (ซื้อ {1}) -market.offerBook.buyWithFiat=ซื้อ {0} -market.offerBook.sellWithFiat=ขาย {0} +market.offerBook.buyCrypto=ซื้อ {0} (ขาย {1}) +market.offerBook.sellCrypto=ขาย {0} (ซื้อ {1}) +market.offerBook.buyWithTraditional=ซื้อ {0} +market.offerBook.sellWithTraditional=ขาย {0} market.offerBook.sellOffersHeaderLabel=ขาย {0} ไปยัง market.offerBook.buyOffersHeaderLabel=ซื้อ {0} จาก market.offerBook.buy=ฉันต้องการจะซื้อ bitcoin @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=ไม่พร้อมใช้ง shared.notSigned=This account has not been signed yet and was created {0} days ago shared.notSigned.noNeed=This account type does not require signing shared.notSigned.noNeedDays=This account type does not require signing and was created {0} days ago -shared.notSigned.noNeedAlts=Altcoin accounts do not feature signing or aging +shared.notSigned.noNeedAlts=Crypto accounts do not feature signing or aging offerbook.nrOffers=No. ของข้อเสนอ: {0} offerbook.volume={0} (ต่ำสุด - สูงสุด) @@ -361,8 +361,8 @@ offerbook.deposit.help=Deposit paid by each trader to guarantee the trade. Will offerbook.createOfferToBuy=Create new offer to buy {0} offerbook.createOfferToSell=Create new offer to sell {0} -offerbook.createOfferToBuy.withFiat=Create new offer to buy {0} with {1} -offerbook.createOfferToSell.forFiat=Create new offer to sell {0} for {1} +offerbook.createOfferToBuy.withTraditional=Create new offer to buy {0} with {1} +offerbook.createOfferToSell.forTraditional=Create new offer to sell {0} for {1} offerbook.createOfferToBuy.withCrypto=Create new offer to sell {0} (buy {1}) offerbook.createOfferToSell.forCrypto=Create new offer to buy {0} (sell {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=แก้ไขข้อเสนอ portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=รอการยืนยันของบล็อกเชน portfolio.pending.step2_buyer.startPayment=เริ่มการชำระเงิน @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=โปรดโอนจาก wallet {0} ภายนอก\n{1} ให้กับผู้ขาย BTC\n\n +portfolio.pending.step2_buyer.crypto=โปรดโอนจาก wallet {0} ภายนอก\n{1} ให้กับผู้ขาย BTC\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=โปรดไปที่ธนาคารและจ่ายเงิน {0} ให้กับผู้ขาย BTC\n portfolio.pending.step2_buyer.cash.extra=ข้อกำหนดที่สำคัญ: \nหลังจากที่คุณได้ชำระเงินแล้วให้เขียนลงในใบเสร็จรับเงิน: NO REFUNDS (ไม่มีการคืนเงิน)\nจากนั้นแบ่งออกเป็น 2 ส่วนถ่ายรูปและส่งไปที่ที่อยู่อีเมลของผู้ขาย BTC @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed portfolio.pending.step3_buyer.openForDispute=The BTC seller has not confirmed your payment! The max. period for the trade has elapsed. You can wait longer and give the trading peer more time or request assistance from the mediator. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=พันธมิตรทางการค้าของคุณได้ยืนยันว่าพวกเขาได้เริ่มต้น {0} การชำระเงิน\n\n -portfolio.pending.step3_seller.altcoin.explorer=ผู้สำรวจบล็อกเชน {0} ที่ถูกใจของคุณ -portfolio.pending.step3_seller.altcoin.wallet=ณ กระเป๋าสตางค์ {0} ของคุณ -portfolio.pending.step3_seller.altcoin={0}โปรดตรวจสอบ {1} หากการทำธุรกรรมส่วนที่อยู่รับของคุณ\n{2}\nมีการยืนยันบล็อกเชนแล้วเรียบร้อย\nยอดการชำระเงินต้องเป็น {3}\n\nคุณสามารถคัดลอกและวาง {4} ข้อมูลที่อยู่ของคุณได้จากหน้าจอหลักหลังจากปิดหน้าต่างป๊อปอัพ +portfolio.pending.step3_seller.crypto.explorer=ผู้สำรวจบล็อกเชน {0} ที่ถูกใจของคุณ +portfolio.pending.step3_seller.crypto.wallet=ณ กระเป๋าสตางค์ {0} ของคุณ +portfolio.pending.step3_seller.crypto={0}โปรดตรวจสอบ {1} หากการทำธุรกรรมส่วนที่อยู่รับของคุณ\n{2}\nมีการยืนยันบล็อกเชนแล้วเรียบร้อย\nยอดการชำระเงินต้องเป็น {3}\n\nคุณสามารถคัดลอกและวาง {4} ข้อมูลที่อยู่ของคุณได้จากหน้าจอหลักหลังจากปิดหน้าต่างป๊อปอัพ portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=ใบเสร็จยืนยันการชำระเงิน portfolio.pending.step3_seller.buyerStartedPayment=ผู้ซื้อ BTC ได้เริ่มการชำระเงิน {0}\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=ตรวจสอบการยืนยันบล็อกเชนที่ altcoin wallet ของคุณหรือบล็อก explorer และยืนยันการชำระเงินเมื่อคุณมีการยืนยันบล็อกเชนที่เพียงพอ -portfolio.pending.step3_seller.buyerStartedPayment.fiat=ตรวจสอบบัญชีการซื้อขายของคุณ (เช่น บัญชีธนาคาร) และยืนยันเมื่อคุณได้รับการชำระเงิน +portfolio.pending.step3_seller.buyerStartedPayment.crypto=ตรวจสอบการยืนยันบล็อกเชนที่ crypto wallet ของคุณหรือบล็อก explorer และยืนยันการชำระเงินเมื่อคุณมีการยืนยันบล็อกเชนที่เพียงพอ +portfolio.pending.step3_seller.buyerStartedPayment.traditional=ตรวจสอบบัญชีการซื้อขายของคุณ (เช่น บัญชีธนาคาร) และยืนยันเมื่อคุณได้รับการชำระเงิน portfolio.pending.step3_seller.warn.part1a=ใน {0} บล็อกเชน portfolio.pending.step3_seller.warn.part1b=ที่ผู้ให้บริการการชำระเงิน (เช่น ธนาคาร) portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment. Please check {0} if you have received the payment. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=You've already accepted portfolio.pending.failedTrade.taker.missingTakerFeeTx=The taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked and no trade fee has been paid. You can move this trade to failed trades. portfolio.pending.failedTrade.maker.missingTakerFeeTx=The peer's taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked. Your offer is still available to other traders, so you have not lost the maker fee. You can move this trade to failed trades. portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of-2 multisig transaction) is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked but your trade fee has been paid. You can make a request to be reimbursed the trade fee here: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nFeel free to move this trade to failed trades. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the fiat or altcoin payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the traditional or crypto payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing but funds have been locked in the deposit transaction.\n\nIf the buyer is also missing the delayed payout transaction, they will be instructed to NOT send the payment and open a mediation ticket instead. You should also open a mediation ticket with Cmd/Ctrl+o. \n\nIf the buyer has not sent payment yet, the mediator should suggest that both peers each get back the full amount of their security deposits (with seller receiving full trade amount back as well). Otherwise the trade amount should go to the buyer. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=There was an error during trade protocol execution.\n\nError: {0}\n\nIt might be that this error is not critical, and the trade can be completed normally. If you are unsure, open a mediation ticket to get advice from Haveno mediators. \n\nIf the error was critical and the trade cannot be completed, you might have lost your trade fee. Request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=The trade contract is not set.\n\nThe trade cannot be completed and you might have lost your trade fee. If so, you can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -954,7 +954,7 @@ support.buyerTaker=BTC ผู้ซื้อ / ผู้รับ support.sellerTaker=BTC ผู้ขาย / ผู้รับ support.backgroundInfo=Haveno is not a company, so it handles disputes differently.\n\nTraders can communicate within the application via secure chat on the open trades screen to try solving disputes on their own. If that is not sufficient, a mediator can step in to help. The mediator will evaluate the situation and suggest a payout of trade funds. If both traders accept this suggestion, the payout transaction is completed and the trade is closed. If one or both traders do not agree to the mediator's suggested payout, they can request arbitration.The arbitrator will re-evaluate the situation and, if warranted, personally pay the trader back and request reimbursement for this payment from the Haveno DAO. -support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Altcoin transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Altcoin payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} +support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Crypto transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Crypto payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} support.systemMsg=ระบบข้อความ: {0} support.youOpenedTicket=You opened a request for support.\n\n{0}\n\nHaveno version: {1} support.youOpenedDispute=You opened a request for a dispute.\n\n{0}\n\nHaveno version: {1} @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=สกุลเงินที่ต้อง setting.preferences.displayFiat=แสดงสกุลเงินของประเทศ setting.preferences.noFiat=ไม่มีสกุลเงินประจำชาติที่เลือกไว้ setting.preferences.cannotRemovePrefCurrency=คุณไม่สามารถลบสกุลเงินในการแสดงผลที่เลือกไว้ได้ -setting.preferences.displayAltcoins=แสดง altcoins -setting.preferences.noAltcoins=ไม่มี altcoins ที่เลือก +setting.preferences.displayCryptos=แสดง cryptos +setting.preferences.noCryptos=ไม่มี cryptos ที่เลือก setting.preferences.addFiat=เพิ่มสกุลเงินประจำชาติ -setting.preferences.addAltcoin=เพิ่ม altcoin +setting.preferences.addCrypto=เพิ่ม crypto setting.preferences.displayOptions=แสดงตัวเลือกเพิ่มเติม setting.preferences.showOwnOffers=แสดงข้อเสนอของฉันเองในสมุดข้อเสนอ setting.preferences.useAnimations=ใช้ภาพเคลื่อนไหว @@ -1081,8 +1081,8 @@ setting.about.support=สนับสนุน Haveno setting.about.def=Haveno ไม่ใช่ บริษัท แต่เป็นโปรเจคชุมชนและเปิดให้คนมีส่วนร่วม ถ้าคุณต้องการจะเข้าร่วมหรือสนับสนุน Haveno โปรดทำตามลิงค์ข้างล่างนี้ setting.about.contribute=สนับสนุน setting.about.providers=ผู้ให้บริการข้อมูล -setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices, and Haveno Mempool Nodes for mining fee estimation. -setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices. +setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Crypto market prices, and Haveno Mempool Nodes for mining fee estimation. +setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Crypto market prices. setting.about.pricesProvided=ราคาตลาดจัดโดย setting.about.feeEstimation.label=การประมาณค่าธรรมเนียมการขุดโดย setting.about.versionDetails=รายละเอียดของเวอร์ชั่น @@ -1145,10 +1145,10 @@ account.tab.mediatorRegistration=Mediator registration account.tab.refundAgentRegistration=Refund agent registration account.tab.signing=Signing account.info.headline=ยินดีต้อนรับสู่บัญชี Haveno ของคุณ -account.info.msg=Here you can add trading accounts for national currencies & altcoins and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). +account.info.msg=Here you can add trading accounts for national currencies & cryptos and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, crypto & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). account.menu.paymentAccount=บัญชีสกุลเงินของประเทศ -account.menu.altCoinsAccountView=บัญชี Altcoin (เหรียญทางเลือก) +account.menu.altCoinsAccountView=บัญชี Crypto (เหรียญทางเลือก) account.menu.password=รหัส Wallet account.menu.seedWords=รหัสลับ Wallet account.menu.walletInfo=Wallet info @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=Could not remove registration.{0} account.arbitratorRegistration.registerSuccess=You have successfully registered to the Haveno network. account.arbitratorRegistration.registerFailed=Could not complete registration.{0} -account.altcoin.yourAltcoinAccounts=บัญชี altcoin (เหรียญทางเลือก) ของคุณ -account.altcoin.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. -account.altcoin.popup.wallet.confirm=ฉันเข้าใจและยืนยันว่าฉันรู้ว่า wallet ใดที่ฉันต้องการใช้ +account.crypto.yourCryptoAccounts=บัญชี crypto (เหรียญทางเลือก) ของคุณ +account.crypto.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. +account.crypto.popup.wallet.confirm=ฉันเข้าใจและยืนยันว่าฉันรู้ว่า wallet ใดที่ฉันต้องการใช้ # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. +account.crypto.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. +account.crypto.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. +account.crypto.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. +account.crypto.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN requires an interactive process between the sender and receiver to create the transaction. Be sure to follow the instructions from the GRIN project web page to reliably send and receive GRIN (the receiver needs to be online or at least be online during a certain time frame). \n\nHaveno supports only the Grinbox (Wallet713) wallet URL format. \n\nThe GRIN sender is required to provide proof that they have sent GRIN successfully. If the wallet cannot provide that proof, a potential dispute will be resolved in favor of the GRIN receiver. Please be sure that you use the latest Grinbox software which supports the transaction proof and that you understand the process of transferring and receiving GRIN as well as how to create the proof. \n\nSee https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only for more information about the Grinbox proof tool. +account.crypto.popup.grin.msg=GRIN requires an interactive process between the sender and receiver to create the transaction. Be sure to follow the instructions from the GRIN project web page to reliably send and receive GRIN (the receiver needs to be online or at least be online during a certain time frame). \n\nHaveno supports only the Grinbox (Wallet713) wallet URL format. \n\nThe GRIN sender is required to provide proof that they have sent GRIN successfully. If the wallet cannot provide that proof, a potential dispute will be resolved in favor of the GRIN receiver. Please be sure that you use the latest Grinbox software which supports the transaction proof and that you understand the process of transferring and receiving GRIN as well as how to create the proof. \n\nSee https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only for more information about the Grinbox proof tool. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM requires an interactive process between the sender and receiver to create the transaction. \n\nBe sure to follow the instructions from the BEAM project web page to reliably send and receive BEAM (the receiver needs to be online or at least be online during a certain time frame). \n\nThe BEAM sender is required to provide proof that they sent BEAM successfully. Be sure to use wallet software which can produce such a proof. If the wallet cannot provide the proof a potential dispute will be resolved in favor of the BEAM receiver. +account.crypto.popup.beam.msg=BEAM requires an interactive process between the sender and receiver to create the transaction. \n\nBe sure to follow the instructions from the BEAM project web page to reliably send and receive BEAM (the receiver needs to be online or at least be online during a certain time frame). \n\nThe BEAM sender is required to provide proof that they sent BEAM successfully. Be sure to use wallet software which can produce such a proof. If the wallet cannot provide the proof a potential dispute will be resolved in favor of the BEAM receiver. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. +account.crypto.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. -account.fiat.yourFiatAccounts=บัญชีสกุลเงินของคุณ +account.traditional.yourTraditionalAccounts=บัญชีสกุลเงินของคุณ account.backup.title=สำรองข้อมูล wallet account.backup.location=ที่ตั้งการสำรองข้อมูล @@ -1580,7 +1580,7 @@ popup.warning.startupFailed.twoInstances=Haveno กำลังทำงาน popup.warning.tradePeriod.halfReached=การซื้อขายของคุณที่มีรหัส ID {0} ได้ถึงครึ่งหนึ่งของจำนวนสูงสุดแล้ว อนุญาตให้ซื้อขายได้และยังไม่สมบูรณ์\n\nช่วงเวลาการซื้อขายสิ้นสุดวันที่ {1} \n\nโปรดตรวจสอบสถานะการค้าของคุณที่ \"Portfolio (แฟ้มผลงาน) / เปิดการซื้อขาย \" สำหรับข้อมูลเพิ่มเติม popup.warning.tradePeriod.ended=Your trade with ID {0} has reached the max. allowed trading period and is not completed.\n\nThe trade period ended on {1}\n\nPlease check your trade at \"Portfolio/Open trades\" for contacting the arbitrator. popup.warning.noTradingAccountSetup.headline=คุณยังไม่ได้ตั้งค่าบัญชีการซื้อขาย -popup.warning.noTradingAccountSetup.msg=คุณต้องตั้งค่าสกุลเงินประจำชาติหรือบัญชี altcoin (เหรียญทางเลือก) ก่อนจึงจะสามารถสร้างข้อเสนอได้\nคุณต้องการตั้งค่าบัญชีหรือไม่ +popup.warning.noTradingAccountSetup.msg=คุณต้องตั้งค่าสกุลเงินประจำชาติหรือบัญชี crypto (เหรียญทางเลือก) ก่อนจึงจะสามารถสร้างข้อเสนอได้\nคุณต้องการตั้งค่าบัญชีหรือไม่ popup.warning.noArbitratorsAvailable=ไม่มีผู้ไกล่เกลี่ยสำหรับทำการ popup.warning.noMediatorsAvailable=There are no mediators available. popup.warning.notFullyConnected=คุณต้องรอจนกว่าคุณจะเชื่อมต่อกับเครือข่ายอย่างสมบูรณ์\nอาจใช้เวลาประมาณ 2 นาทีเมื่อเริ่มต้น @@ -1803,8 +1803,8 @@ formatter.makerTaker=ผู้สร้าง เป็น {0} {1} / ผู้ formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=คุณคือ {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=คุณกำลังสร้างข้อเสนอให้ {0} {1} -formatter.youAreCreatingAnOffer.altcoin=คุณกำลังสร้างข้อเสนอให้กับ {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=คุณกำลังสร้างข้อเสนอให้ {0} {1} +formatter.youAreCreatingAnOffer.crypto=คุณกำลังสร้างข้อเสนอให้กับ {0} {1} ({2} {3}) formatter.asMaker={0} {1} ในฐานะผู้สร้าง formatter.asTaker={0} {1} ในฐานะคนรับ @@ -1896,11 +1896,11 @@ payment.email=อีเมล payment.country=ประเทศ payment.extras=ข้อกำหนดเพิ่มเติม payment.email.mobile=อีเมลหรือหมายเลขโทรศัพท์มือถือ -payment.altcoin.address=ที่อยู่ Altcoin (เหรียญทางเลือก) -payment.altcoin.tradeInstantCheckbox=Trade instant (within 1 hour) with this Altcoin -payment.altcoin.tradeInstant.popup=For instant trading it is required that both trading peers are online to be able to complete the trade in less than 1 hour.\n\nIf you have offers open and you are not available please disable those offers under the 'Portfolio' screen. -payment.altcoin=Altcoin (เหรียญทางเลือก) -payment.select.altcoin=Select or search Altcoin +payment.crypto.address=ที่อยู่ Crypto (เหรียญทางเลือก) +payment.crypto.tradeInstantCheckbox=Trade instant (within 1 hour) with this Crypto +payment.crypto.tradeInstant.popup=For instant trading it is required that both trading peers are online to be able to complete the trade in less than 1 hour.\n\nIf you have offers open and you are not available please disable those offers under the 'Portfolio' screen. +payment.crypto=Crypto (เหรียญทางเลือก) +payment.select.crypto=Select or search Crypto payment.secret=คำถามลับ payment.answer=คำตอบ payment.wallet=ID กระเป๋าสตางค์ @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=หมายเลข CBU shared.accountSigningState=Account signing status #new -payment.altcoin.address.dyn={0} ที่อยู่ -payment.altcoin.receiver.address=ที่อยู่เหรียญทางเลือกของผู้รับ +payment.crypto.address.dyn={0} ที่อยู่ +payment.crypto.receiver.address=ที่อยู่เหรียญทางเลือกของผู้รับ payment.accountNr=หมายเลขบัญชี payment.emailOrMobile=อีเมลหรือหมายเลขโทรศัพท์มือถือ payment.useCustomAccountName=ใช้ชื่อบัญชีที่กำหนดเอง @@ -1973,7 +1973,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=Trading using US Postal Money Orders (USPMO) on Haveno requires that you understand the following:\n\n- BTC buyers must write the BTC Seller’s name in both the Payer and the Payee’s fields & take a high-resolution photo of the USPMO and envelope with proof of tracking before sending.\n- BTC buyers must send the USPMO to the BTC seller with Delivery Confirmation.\n\nIn the event mediation is necessary, or if there is a trade dispute, you will be required to send the photos to the Haveno mediator or refund agent, together with the USPMO Serial Number, Post Office Number, and dollar amount, so they can verify the details on the US Post Office website.\n\nFailure to provide the required information to the Mediator or Arbitrator will result in losing the dispute case.\n\nIn all dispute cases, the USPMO sender bears 100% of the burden of responsibility in providing evidence/proof to the Mediator or Arbitrator.\n\nIf you do not understand these requirements, do not trade using USPMO on Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=ข้อมูลติดต่อ payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2070,7 +2070,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoins +BLOCK_CHAINS=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2080,7 +2080,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins Instant +BLOCK_CHAINS_INSTANT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2122,7 +2122,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoins +BLOCK_CHAINS_SHORT=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2132,7 +2132,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins Instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2152,8 +2152,8 @@ validation.NaN=การป้อนข้อมูลไม่ใช่ตั validation.notAnInteger=ค่าที่ป้อนไม่ใช่ค่าจำนวนเต็ม validation.zero=ไม่อนุญาตให้ป้อนข้อมูลเป็น 0 validation.negative=ไม่อนุญาตให้ใช้ค่าลบ -validation.fiat.tooSmall=ไม่อนุญาตให้ป้อนข้อมูลที่มีขนาดเล็กกว่าจำนวนเป็นไปได้ต่ำสุด -validation.fiat.tooLarge=ไม่อนุญาตให้ป้อนข้อมูลที่มีขนาดใหญ่กว่าจำนวนสูงสุดที่เป็นไปได้ +validation.traditional.tooSmall=ไม่อนุญาตให้ป้อนข้อมูลที่มีขนาดเล็กกว่าจำนวนเป็นไปได้ต่ำสุด +validation.traditional.tooLarge=ไม่อนุญาตให้ป้อนข้อมูลที่มีขนาดใหญ่กว่าจำนวนสูงสุดที่เป็นไปได้ validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=ไม่อนุญาตให้ป้อนข้อมูลขนาดใหญ่กว่า {0} validation.xmr.tooSmall=ไม่อนุญาตให้ป้อนข้อมูลที่มีขนาดเล็กกว่า {0} @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} ต้องประกอบด้วย {1} validation.invalidInput=ใส่ข้อมูลไม่ถูกต้อง: {0} validation.accountNrFormat=หมายเลขบัญชีต้องเป็นรูปแบบ: {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=การตรวจสอบความถูกต้องของที่อยู่ล้มเหลวเนื่องจากไม่ตรงกับโครงสร้างของที่อยู่ {0} +validation.crypto.wrongStructure=การตรวจสอบความถูกต้องของที่อยู่ล้มเหลวเนื่องจากไม่ตรงกับโครงสร้างของที่อยู่ {0} # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=ที่อยู่ไม่ใช่ที่อยู่ {0} ที่ถูกต้อง! {1} +validation.crypto.invalidAddress=ที่อยู่ไม่ใช่ที่อยู่ {0} ที่ถูกต้อง! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. +validation.crypto.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=รหัสธนาคารและรหัสประเทศต้องเป็นตัวอักษร validation.bic.invalidLocationCode=BIC มีรหัสตำแหน่งไม่ถูกต้อง diff --git a/core/src/main/resources/i18n/displayStrings_vi.properties b/core/src/main/resources/i18n/displayStrings_vi.properties index 7002197b..55410f90 100644 --- a/core/src/main/resources/i18n/displayStrings_vi.properties +++ b/core/src/main/resources/i18n/displayStrings_vi.properties @@ -190,7 +190,7 @@ shared.makerTxFee=Người tạo: {0} shared.takerTxFee=Người nhận: {0} shared.iConfirm=Tôi xác nhận shared.openURL=Mở {0} -shared.fiat=Tiền pháp định +shared.traditional=Tiền pháp định shared.crypto=Tiền mã hóa shared.all=Tất cả shared.edit=Chỉnh sửa @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=Các giao dịch # OfferBookChartView -market.offerBook.buyAltcoin=Mua {0} (bán {1}) -market.offerBook.sellAltcoin=Bán {0} (mua {1}) -market.offerBook.buyWithFiat=Mua {0} -market.offerBook.sellWithFiat=Bán {0} +market.offerBook.buyCrypto=Mua {0} (bán {1}) +market.offerBook.sellCrypto=Bán {0} (mua {1}) +market.offerBook.buyWithTraditional=Mua {0} +market.offerBook.sellWithTraditional=Bán {0} market.offerBook.sellOffersHeaderLabel=Bán {0} cho market.offerBook.buyOffersHeaderLabel=Mua {0} từ market.offerBook.buy=Tôi muốn mua bitcoin @@ -352,7 +352,7 @@ offerbook.timeSinceSigning.notSigned.noNeed=Không áp dụng shared.notSigned=This account has not been signed yet and was created {0} days ago shared.notSigned.noNeed=This account type does not require signing shared.notSigned.noNeedDays=This account type does not require signing and was created {0} days ago -shared.notSigned.noNeedAlts=Altcoin accounts do not feature signing or aging +shared.notSigned.noNeedAlts=Crypto accounts do not feature signing or aging offerbook.nrOffers=Số chào giá: {0} offerbook.volume={0} (min - max) @@ -361,8 +361,8 @@ offerbook.deposit.help=Deposit paid by each trader to guarantee the trade. Will offerbook.createOfferToBuy=Tạo chào giá mua mới {0} offerbook.createOfferToSell=Tạo chào giá bán mới {0} -offerbook.createOfferToBuy.withFiat=Tạo chào giá mua {0} bằng {1} -offerbook.createOfferToSell.forFiat=Tạo chào giá bán {0} lấy {1} +offerbook.createOfferToBuy.withTraditional=Tạo chào giá mua {0} bằng {1} +offerbook.createOfferToSell.forTraditional=Tạo chào giá bán {0} lấy {1} offerbook.createOfferToBuy.withCrypto=Tạo chào giá bán {0} (mua {1}) offerbook.createOfferToSell.forCrypto=Tạo chào giá mua {0} (bán {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=Chỉnh sửa báo giá portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=Đợi xác nhận blockchain portfolio.pending.step2_buyer.startPayment=Bắt đầu thanh toán @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=Hãy chuyển từ ví ngoài {0} của bạn\n{1} cho người bán BTC.\n\n +portfolio.pending.step2_buyer.crypto=Hãy chuyển từ ví ngoài {0} của bạn\n{1} cho người bán BTC.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Hãy đến ngân hàng và thanh toán {0} cho người bán BTC.\n\n portfolio.pending.step2_buyer.cash.extra=YÊU CẦU QUAN TRỌNG:\nSau khi bạn đã thanh toán xong hãy viết lên giấy biên nhận: KHÔNG HOÀN TRẢ.\nSau đó xé thành 2 phần, chụp ảnh và gửi tới email của người bán BTC. @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed portfolio.pending.step3_buyer.openForDispute=The BTC seller has not confirmed your payment! The max. period for the trade has elapsed. You can wait longer and give the trading peer more time or request assistance from the mediator. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Đối tác giao dịch của bạn đã xác nhận rằng họ đã kích hoạt thanh toán {0}.\n\n -portfolio.pending.step3_seller.altcoin.explorer=Trên trình duyệt blockchain explorer {0} ưa thích của bạn -portfolio.pending.step3_seller.altcoin.wallet=Trên ví {0} của bạn -portfolio.pending.step3_seller.altcoin={0}Vui lòng kiểm tra {1} xem giao dịch tới địa chỉ nhận của bạn \n{2}\nđã nhận được đủ xác nhận blockchain hay chưa.\nSố tiền thanh toán phải là {3}\n\nBạn có thể copy & paste địa chỉ {4} của bạn từ màn hình chính sau khi đóng cửa sổ này. +portfolio.pending.step3_seller.crypto.explorer=Trên trình duyệt blockchain explorer {0} ưa thích của bạn +portfolio.pending.step3_seller.crypto.wallet=Trên ví {0} của bạn +portfolio.pending.step3_seller.crypto={0}Vui lòng kiểm tra {1} xem giao dịch tới địa chỉ nhận của bạn \n{2}\nđã nhận được đủ xác nhận blockchain hay chưa.\nSố tiền thanh toán phải là {3}\n\nBạn có thể copy & paste địa chỉ {4} của bạn từ màn hình chính sau khi đóng cửa sổ này. portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=Transaction key portfolio.pending.step3_seller.buyersAccount=Buyers account data portfolio.pending.step3_seller.confirmReceipt=Xác nhận đã nhận được thanh toán portfolio.pending.step3_seller.buyerStartedPayment=Người mua BTC đã bắt đầu thanh toán {0}.\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Kiểm tra xác nhận blockchain ở ví altcoin của bạn hoặc block explorer và xác nhận thanh toán nếu bạn nhận được đủ xác nhận blockchain. -portfolio.pending.step3_seller.buyerStartedPayment.fiat=Kiểm tra tại tài khoản giao dịch của bạn (VD: Tài khoản ngân hàng) và xác nhận khi bạn đã nhận được thanh toán. +portfolio.pending.step3_seller.buyerStartedPayment.crypto=Kiểm tra xác nhận blockchain ở ví crypto của bạn hoặc block explorer và xác nhận thanh toán nếu bạn nhận được đủ xác nhận blockchain. +portfolio.pending.step3_seller.buyerStartedPayment.traditional=Kiểm tra tại tài khoản giao dịch của bạn (VD: Tài khoản ngân hàng) và xác nhận khi bạn đã nhận được thanh toán. portfolio.pending.step3_seller.warn.part1a=trên {0} blockchain portfolio.pending.step3_seller.warn.part1b=tại nhà cung cấp thanh toán của bạn (VD: ngân hàng) portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment. Please check {0} if you have received the payment. @@ -793,7 +793,7 @@ portfolio.pending.mediationResult.popup.alreadyAccepted=You've already accepted portfolio.pending.failedTrade.taker.missingTakerFeeTx=The taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked and no trade fee has been paid. You can move this trade to failed trades. portfolio.pending.failedTrade.maker.missingTakerFeeTx=The peer's taker fee transaction is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked. Your offer is still available to other traders, so you have not lost the maker fee. You can move this trade to failed trades. portfolio.pending.failedTrade.missingDepositTx=The deposit transaction (the 2-of-2 multisig transaction) is missing.\n\nWithout this tx, the trade cannot be completed. No funds have been locked but your trade fee has been paid. You can make a request to be reimbursed the trade fee here: [HYPERLINK:https://github.com/bisq-network/support/issues]\n\nFeel free to move this trade to failed trades. -portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the fiat or altcoin payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] +portfolio.pending.failedTrade.buyer.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing, but funds have been locked in the deposit transaction.\n\nPlease do NOT send the traditional or crypto payment to the BTC seller, because without the delayed payout tx, arbitration cannot be opened. Instead, open a mediation ticket with Cmd/Ctrl+o. The mediator should suggest that both peers each get back the the full amount of their security deposits (with seller receiving full trade amount back as well). This way, there is no security risk, and only trade fees are lost. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.seller.existingDepositTxButMissingDelayedPayoutTx=The delayed payout transaction is missing but funds have been locked in the deposit transaction.\n\nIf the buyer is also missing the delayed payout transaction, they will be instructed to NOT send the payment and open a mediation ticket instead. You should also open a mediation ticket with Cmd/Ctrl+o. \n\nIf the buyer has not sent payment yet, the mediator should suggest that both peers each get back the full amount of their security deposits (with seller receiving full trade amount back as well). Otherwise the trade amount should go to the buyer. \n\nYou can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.errorMsgSet=There was an error during trade protocol execution.\n\nError: {0}\n\nIt might be that this error is not critical, and the trade can be completed normally. If you are unsure, open a mediation ticket to get advice from Haveno mediators. \n\nIf the error was critical and the trade cannot be completed, you might have lost your trade fee. Request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] portfolio.pending.failedTrade.missingContract=The trade contract is not set.\n\nThe trade cannot be completed and you might have lost your trade fee. If so, you can request a reimbursement for lost trade fees here: [HYPERLINK:https://github.com/bisq-network/support/issues] @@ -956,7 +956,7 @@ support.buyerTaker=Người mua BTC/Người nhận support.sellerTaker=Người bán BTC/Người nhận support.backgroundInfo=Haveno is not a company, so it handles disputes differently.\n\nTraders can communicate within the application via secure chat on the open trades screen to try solving disputes on their own. If that is not sufficient, a mediator can step in to help. The mediator will evaluate the situation and suggest a payout of trade funds. If both traders accept this suggestion, the payout transaction is completed and the trade is closed. If one or both traders do not agree to the mediator's suggested payout, they can request arbitration.The arbitrator will re-evaluate the situation and, if warranted, personally pay the trader back and request reimbursement for this payment from the Haveno DAO. -support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Altcoin transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Altcoin payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} +support.initialInfo=Please enter a description of your problem in the text field below. Add as much information as possible to speed up dispute resolution time.\n\nHere is a check list for information you should provide:\n\t● If you are the BTC buyer: Did you make the Fiat or Crypto transfer? If so, did you click the 'payment started' button in the application?\n\t● If you are the BTC seller: Did you receive the Fiat or Crypto payment? If so, did you click the 'payment received' button in the application?\n\t● Which version of Haveno are you using?\n\t● Which operating system are you using?\n\t● If you encountered an issue with failed transactions please consider switching to a new data directory.\n\t Sometimes the data directory gets corrupted and leads to strange bugs. \n\t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\nPlease make yourself familiar with the basic rules for the dispute process:\n\t● You need to respond to the {0}''s requests within 2 days.\n\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\t● The maximum period for a dispute is 14 days.\n\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\nYou can read more about the dispute process at: {2} support.systemMsg=Tin nhắn hệ thống: {0} support.youOpenedTicket=Bạn đã mở yêu cầu hỗ trợ.\n\n{0}\n\nPhiên bản Haveno: {1} support.youOpenedDispute=Bạn đã mở yêu cầu giải quyết tranh chấp.\n\n{0}\n\nPhiên bản Haveno: {1} @@ -1000,10 +1000,10 @@ setting.preferences.prefCurrency=Tiền tệ ưu tiên setting.preferences.displayFiat=Hiển thị tiền tệ các nước setting.preferences.noFiat=Không có tiền tệ nước nào được chọn setting.preferences.cannotRemovePrefCurrency=Bạn không thể gỡ bỏ tiền tệ ưu tiên được chọn -setting.preferences.displayAltcoins=Hiển thị altcoin -setting.preferences.noAltcoins=Không có altcoin nào được chọn +setting.preferences.displayCryptos=Hiển thị crypto +setting.preferences.noCryptos=Không có crypto nào được chọn setting.preferences.addFiat=Bổ sung tiền tệ các nước -setting.preferences.addAltcoin=Bổ sung altcoin +setting.preferences.addCrypto=Bổ sung crypto setting.preferences.displayOptions=Hiển thị các phương án setting.preferences.showOwnOffers=Hiển thị Báo giá của tôi trong danh mục Báo giá setting.preferences.useAnimations=Sử dụng hoạt ảnh @@ -1083,8 +1083,8 @@ setting.about.support=Hỗ trợ Haveno setting.about.def=Haveno không phải là một công ty mà là một dự án mở cho cả cộng đồng. Nếu bạn muốn tham gia hoặc hỗ trợ Haveno, vui lòng truy cập link dưới đây. setting.about.contribute=Góp vốn setting.about.providers=Nhà cung cấp dữ liệu -setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices, and Haveno Mempool Nodes for mining fee estimation. -setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Altcoin market prices. +setting.about.apisWithFee=Haveno uses Haveno Price Indices for Fiat and Crypto market prices, and Haveno Mempool Nodes for mining fee estimation. +setting.about.apis=Haveno uses Haveno Price Indices for Fiat and Crypto market prices. setting.about.pricesProvided=Giá thị trường cung cấp bởi setting.about.feeEstimation.label=Ước tính phí đào cung cấp bởi setting.about.versionDetails=Thông tin về phiên bản @@ -1147,10 +1147,10 @@ account.tab.mediatorRegistration=Mediator registration account.tab.refundAgentRegistration=Refund agent registration account.tab.signing=Signing account.info.headline=Chào mừng đến với tài khoản Haveno của bạn -account.info.msg=Here you can add trading accounts for national currencies & altcoins and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). +account.info.msg=Here you can add trading accounts for national currencies & cryptos and create a backup of your wallet & account data.\n\nA new Bitcoin wallet was created the first time you started Haveno.\n\nWe strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\nPrivacy & security note: because Haveno is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, crypto & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). account.menu.paymentAccount=Tài khoản tiền tệ quốc gia -account.menu.altCoinsAccountView=Tài khoản Altcoin +account.menu.altCoinsAccountView=Tài khoản Crypto account.menu.password=Password ví account.menu.seedWords=Mã sao lưu dự phòng ví account.menu.walletInfo=Wallet info @@ -1179,45 +1179,45 @@ account.arbitratorRegistration.removedFailed=Could not remove registration.{0} account.arbitratorRegistration.registerSuccess=You have successfully registered to the Haveno network. account.arbitratorRegistration.registerFailed=Could not complete registration.{0} -account.altcoin.yourAltcoinAccounts=Tài khoản altcoin của bạn -account.altcoin.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. -account.altcoin.popup.wallet.confirm=Tôi hiểu và xác nhận rằng tôi đã biết loại ví mình cần sử dụng. +account.crypto.yourCryptoAccounts=Tài khoản crypto của bạn +account.crypto.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or (b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is not a {2} specialist and cannot help in such cases. +account.crypto.popup.wallet.confirm=Tôi hiểu và xác nhận rằng tôi đã biết loại ví mình cần sử dụng. # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. +account.crypto.popup.upx.msg=Trading UPX on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending UPX, you need to use either the official uPlexa GUI wallet or uPlexa CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\nuplexa-wallet-cli (use the command get_tx_key)\nuplexa-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The UPX sender is responsible for providing verification of the UPX transfer to the arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit uPlexa discord channel (https://discord.gg/vhdNSrV) or the uPlexa Telegram Chat (https://t.me/uplexaOfficial) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. +account.crypto.popup.arq.msg=Trading ARQ on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending ARQ, you need to use either the official ArQmA GUI wallet or ArQmA CLI wallet with the store-tx-info flag enabled (default in new versions). Please be sure you can access the tx key as that would be required in case of a dispute.\narqma-wallet-cli (use the command get_tx_key)\narqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nAt normal block explorers the transfer is not verifiable.\n\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) or the ArQmA forum (https://labs.arqma.com) to find more information. # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. +account.crypto.popup.xmr.msg=Trading XMR on Haveno requires that you understand the following requirement.\n\nIf selling XMR, you must be able to provide the following information to a mediator or arbitrator in case of a dispute:\n- the transaction key (Tx Key, Tx Secret Key or Tx Private Key)\n- the transaction ID (Tx ID or Tx Hash)\n- the destination address (recipient's address)\n\nSee the wiki for details on where to find this information on popular Monero wallets [HYPERLINK:https://bisq.wiki/Trading_Monero#Proving_payments].\nFailure to provide the required transaction data will result in losing disputes.\n\nAlso note that Haveno now offers automatic confirming for XMR transactions to make trades quicker, but you need to enable it in Settings.\n\nSee the wiki for more information about the auto-confirm feature: [HYPERLINK:https://bisq.wiki/Trading_Monero#Auto-confirming_trades]. # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). +account.crypto.popup.msr.msg=Trading MSR on Haveno requires that you understand and fulfill the following requirements:\n\nFor sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the store-tx-info flag enabled (enabled by default) or the Masari web wallet (https://wallet.getmasari.org). Please be sure you can access the tx key as that would be required in case of a dispute.\nmasari-wallet-cli (use the command get_tx_key)\nmasari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\nMasari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\nVerification can be accomplished in-wallet.\nmasari-wallet-cli : using command (check_tx_key).\nmasari-wallet-gui : on the Advanced > Prove/Check page.\nVerification can be accomplished in the block explorer \nOpen block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\nOnce transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\nYou need to provide the mediator or arbitrator the following data in case of a dispute:\n- The tx private key\n- The transaction hash\n- The recipient's public address\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the mediator or arbitrator in case of a dispute.\n\nThere is no payment ID required, just the normal public address.\nIf you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). +account.crypto.popup.blur.msg=Trading BLUR on Haveno requires that you understand and fulfill the following requirements:\n\nTo send BLUR you must use the Blur Network CLI or GUI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIf you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the lower-right corner of the box containing the transaction. You must save this information. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). +account.crypto.popup.solo.msg=Trading Solo on Haveno requires that you understand and fulfill the following requirements:\n\nTo send Solo you must use the Solo Network CLI Wallet. \n\nIf you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, 2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\nfailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). +account.crypto.popup.cash2.msg=Trading CASH2 on Haveno requires that you understand and fulfill the following requirements:\n\nTo send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). +account.crypto.popup.qwertycoin.msg=Trading Qwertycoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\nAfter a transaction is sent, the transaction ID will be displayed. You must save this information. Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the transaction secret key. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, 2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. +account.crypto.popup.drgl.msg=Trading Dragonglass on Haveno requires that you understand and fulfill the following requirements:\n\nBecause of the privacy Dragonglass provides, a transaction is not verifiable on the public blockchain. If required, you can prove your payment through the use of your TXN-Private-Key.\nThe TXN-Private Key is a one-time key automatically generated for every transaction that can only be accessed from within your DRGL wallet.\nEither by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\nDRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\nIn case of a dispute, you must provide the mediator or arbitrator the following data:\n- The TXN-Private key\n- The transaction hash\n- The recipient's public address\n\nVerification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\nFailure to provide the above data, or if you used an incompatible wallet, will result in losing the dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\nIf you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. +account.crypto.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. +account.crypto.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. Vui lòng làm theo hướng dẫn từ trang web của dự án GRIN để gửi và nhận GRIN đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nHaveno chỉ hỗ trợ ví Grinbox(wallet713) theo định dạng URL.\n\nNgười gửi GRIN phải cung cấp bằng chứng là họ đã gửi GRIN thành công. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận GRIN. Vui lòng đảm bảo rằng bạn sử dụng phần mềm Grinbox mới nhất có hỗ trợ bằng chứng giao dịch và bạn hiểu quy trình chuyển và nhận GRIN cũng như tạo bằng chứng. \n\nXem https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only để biết thêm thông tin về công cụ bằng chứng Grinbox. +account.crypto.popup.grin.msg=GRIN yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. Vui lòng làm theo hướng dẫn từ trang web của dự án GRIN để gửi và nhận GRIN đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nHaveno chỉ hỗ trợ ví Grinbox(wallet713) theo định dạng URL.\n\nNgười gửi GRIN phải cung cấp bằng chứng là họ đã gửi GRIN thành công. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận GRIN. Vui lòng đảm bảo rằng bạn sử dụng phần mềm Grinbox mới nhất có hỗ trợ bằng chứng giao dịch và bạn hiểu quy trình chuyển và nhận GRIN cũng như tạo bằng chứng. \n\nXem https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only để biết thêm thông tin về công cụ bằng chứng Grinbox. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. \n\nVui lòng làm theo hướng dẫn từ trang web của dự án BEAM để gửi và nhận BEAM đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nNgười gửi BEAM phải cung cấp bằng chứng là họ đã gửi BEAM thành công. Vui lòng đảm bảo là bạn sử dụng phần mềm ví có thể tạo ra một bằng chứng như vậy. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận BEAM. +account.crypto.popup.beam.msg=BEAM yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. \n\nVui lòng làm theo hướng dẫn từ trang web của dự án BEAM để gửi và nhận BEAM đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nNgười gửi BEAM phải cung cấp bằng chứng là họ đã gửi BEAM thành công. Vui lòng đảm bảo là bạn sử dụng phần mềm ví có thể tạo ra một bằng chứng như vậy. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận BEAM. # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). +account.crypto.popup.pars.msg=Trading ParsiCoin on Haveno requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Haveno. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. +account.crypto.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\nBurnt blackcoins are unspendable. To trade them on Haveno, output scripts need to be in the form: OP_RETURN OP_PUSHDATA, followed by associated data bytes which, after being hex-encoded, constitute addresses. For example, burnt blackcoins with an address 666f6f (“foo” in UTF-8) will have the following script:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\nTo create burnt blackcoins, one may use the “burn” RPC command available in some wallets.\n\nFor possible use cases, one may look at https://ibo.laboratorium.ee .\n\nAs burnt blackcoins are unspendable, they can not be reselled. “Selling” burnt blackcoins means burning ordinary blackcoins (with associated data equal to the destination address).\n\nIn case of a dispute, the BLK seller needs to provide the transaction hash. # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. +account.crypto.popup.liquidbitcoin.msg=Trading L-BTC on Haveno requires that you understand the following:\n\nWhen receiving L-BTC for a trade on Haveno, you cannot use the mobile Blockstream Green Wallet app or a custodial/exchange wallet. You must only receive L-BTC into the Liquid Elements Core wallet, or another L-BTC wallet which allows you to obtain the blinding key for your blinded L-BTC address.\n\nIn the event mediation is necessary, or if a trade dispute arises, you must disclose the blinding key for your receiving L-BTC address to the Haveno mediator or refund agent so they can verify the details of your Confidential Transaction on their own Elements Core full node.\n\nFailure to provide the required information to the mediator or refund agent will result in losing the dispute case. In all cases of dispute, the L-BTC receiver bears 100% of the burden of responsibility in providing cryptographic proof to the mediator or refund agent.\n\nIf you do not understand these requirements, do not trade L-BTC on Haveno. -account.fiat.yourFiatAccounts=Các tài khoản tiền tệ quốc gia của bạn +account.traditional.yourTraditionalAccounts=Các tài khoản tiền tệ quốc gia của bạn account.backup.title=Ví dự phòng account.backup.location=Vị trí sao lưu @@ -1582,7 +1582,7 @@ popup.warning.startupFailed.twoInstances=Haveno đã chạy. Bạn không thể popup.warning.tradePeriod.halfReached=giao dịch của bạn với ID {0} đã qua một nửa thời gian giao dịch cho phép tối đa và vẫn chưa hoàn thành.\n\nThời gian giao dịch kết thúc vào {1}\n\nVui lòng kiểm tra trạng thái giao dịch của bạn tại \"Portfolio/Các giao dịch mở\" để biết thêm thông tin. popup.warning.tradePeriod.ended=Your trade with ID {0} has reached the max. allowed trading period and is not completed.\n\nThe trade period ended on {1}\n\nPlease check your trade at \"Portfolio/Open trades\" for contacting the arbitrator. popup.warning.noTradingAccountSetup.headline=Bạn chưa thiết lập tài khoản giao dịch -popup.warning.noTradingAccountSetup.msg=Bạn cần thiết lập tiền tệ quốc gia hoặc tài khoản altcoin trước khi tạo Báo giá.\nDBạn có muốn thiết lập tài khoản? +popup.warning.noTradingAccountSetup.msg=Bạn cần thiết lập tiền tệ quốc gia hoặc tài khoản crypto trước khi tạo Báo giá.\nDBạn có muốn thiết lập tài khoản? popup.warning.noArbitratorsAvailable=Hiện không có trọng tài nào popup.warning.noMediatorsAvailable=There are no mediators available. popup.warning.notFullyConnected=Bạn cần phải đợi cho đến khi kết nối hoàn toàn với mạng.\nĐiều này mất khoảng 2 phút khi khởi động. @@ -1805,8 +1805,8 @@ formatter.makerTaker=Người tạo là {0} {1} / Người nhận là {2} {3} formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=Bạn là {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=Bạn đang tạo một chào giá đến {0} {1} -formatter.youAreCreatingAnOffer.altcoin=Bạn đang tạo một chào giá đến {0} {1} ({2} {3}) +formatter.youAreCreatingAnOffer.traditional=Bạn đang tạo một chào giá đến {0} {1} +formatter.youAreCreatingAnOffer.crypto=Bạn đang tạo một chào giá đến {0} {1} ({2} {3}) formatter.asMaker={0} {1} như người tạo formatter.asTaker={0} {1} như người nhận @@ -1898,11 +1898,11 @@ payment.email=Email payment.country=Quốc gia payment.extras=Yêu cầu thêm payment.email.mobile=Email hoặc số điện thoại -payment.altcoin.address=Địa chỉ Altcoin -payment.altcoin.tradeInstantCheckbox=Giao dịch ngay với Altcoin này (trong 1 giờ) -payment.altcoin.tradeInstant.popup=Để giao dịch ngay, cả hai đối tác giao dịch phải cùng trực tuyến để hoàn thành giao dịch trong vòng ít hơn 1 giờ. \n\nNếu bạn có chào giá đang mở mà bạn không trực tuyến, vui lòng tắt chúng ở phần 'Danh mục'. -payment.altcoin=Altcoin -payment.select.altcoin=Select or search Altcoin +payment.crypto.address=Địa chỉ Crypto +payment.crypto.tradeInstantCheckbox=Giao dịch ngay với Crypto này (trong 1 giờ) +payment.crypto.tradeInstant.popup=Để giao dịch ngay, cả hai đối tác giao dịch phải cùng trực tuyến để hoàn thành giao dịch trong vòng ít hơn 1 giờ. \n\nNếu bạn có chào giá đang mở mà bạn không trực tuyến, vui lòng tắt chúng ở phần 'Danh mục'. +payment.crypto=Crypto +payment.select.crypto=Select or search Crypto payment.secret=Câu hỏi bí mật payment.answer=Trả lời payment.wallet=ID ví @@ -1928,8 +1928,8 @@ payment.national.account.id.AR=Số CBU shared.accountSigningState=Account signing status #new -payment.altcoin.address.dyn=Địa chỉ {0}  -payment.altcoin.receiver.address=Địa chỉ altcoin của người nhận +payment.crypto.address.dyn=Địa chỉ {0}  +payment.crypto.receiver.address=Địa chỉ crypto của người nhận payment.accountNr=Số tài khoản payment.emailOrMobile=Email hoặc số điện thoại payment.useCustomAccountName=Sử dụng tên tài khoản thông dụng @@ -1975,7 +1975,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=Trading using US Postal Money Orders (USPMO) on Haveno requires that you understand the following:\n\n- BTC buyers must write the BTC Seller’s name in both the Payer and the Payee’s fields & take a high-resolution photo of the USPMO and envelope with proof of tracking before sending.\n- BTC buyers must send the USPMO to the BTC seller with Delivery Confirmation.\n\nIn the event mediation is necessary, or if there is a trade dispute, you will be required to send the photos to the Haveno mediator or refund agent, together with the USPMO Serial Number, Post Office Number, and dollar amount, so they can verify the details on the US Post Office website.\n\nFailure to provide the required information to the Mediator or Arbitrator will result in losing the dispute case.\n\nIn all dispute cases, the USPMO sender bears 100% of the burden of responsibility in providing evidence/proof to the Mediator or Arbitrator.\n\nIf you do not understand these requirements, do not trade using USPMO on Haveno. -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=thông tin liên hệ payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2072,7 +2072,7 @@ INTERAC_E_TRANSFER=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS=Altcoins +BLOCK_CHAINS=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY=PromptPay # suppress inspection "UnusedProperty" @@ -2082,7 +2082,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoin ngay tức thì +BLOCK_CHAINS_INSTANT=Crypto ngay tức thì # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2124,7 +2124,7 @@ INTERAC_E_TRANSFER_SHORT=Interac e-Transfer # suppress inspection "UnusedProperty" HAL_CASH_SHORT=HalCash # suppress inspection "UnusedProperty" -BLOCK_CHAINS_SHORT=Altcoins +BLOCK_CHAINS_SHORT=Cryptos # suppress inspection "UnusedProperty" PROMPT_PAY_SHORT=PromptPay # suppress inspection "UnusedProperty" @@ -2134,7 +2134,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=Amazon eGift Card # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoin ngay tức thì +BLOCK_CHAINS_INSTANT_SHORT=Crypto ngay tức thì # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2154,8 +2154,8 @@ validation.NaN=Giá trị nhập là số không có hiệu lực. validation.notAnInteger=Giá trị nhập không phải là một số nguyên. validation.zero=Không cho phép nhập giá trị 0. validation.negative=Không cho phép nhập giá trị âm. -validation.fiat.tooSmall=Không cho phép giá trị nhập nhỏ hơn giá trị có thể nhỏ nhất. -validation.fiat.tooLarge=Không cho phép giá trị nhập lớn hơn giá trị có thể lớn nhất. +validation.traditional.tooSmall=Không cho phép giá trị nhập nhỏ hơn giá trị có thể nhỏ nhất. +validation.traditional.tooLarge=Không cho phép giá trị nhập lớn hơn giá trị có thể lớn nhất. validation.xmr.fraction=Input will result in a bitcoin value of less than 1 satoshi validation.xmr.tooLarge=Không cho phép giá trị nhập lớn hơn {0}. validation.xmr.tooSmall=Không cho phép giá trị nhập nhỏ hơn {0}. @@ -2176,15 +2176,15 @@ validation.nationalAccountId={0} phải có {1} số. validation.invalidInput=Giá trị nhập không hợp lệ: {0} validation.accountNrFormat=Số tài khoản phải có định dạng : {0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=Xác nhận địa chỉ không thành công vì không khớp với cấu trúc của {0} địa chỉ. +validation.crypto.wrongStructure=Xác nhận địa chỉ không thành công vì không khớp với cấu trúc của {0} địa chỉ. # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. +validation.crypto.ltz.zAddressesNotSupported=LTZ address must start with L. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. +validation.crypto.zAddressesNotSupported=ZEC addresses must start with t. Addresses starting with z are not supported. # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=Địa chỉ không phải là địa chỉ {0} hợp lệ! {1} +validation.crypto.invalidAddress=Địa chỉ không phải là địa chỉ {0} hợp lệ! {1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. +validation.crypto.liquidBitcoin.invalidAddress=Native segwit addresses (those starting with 'lq') are not supported. validation.bic.invalidLength=Input length must be 8 or 11 validation.bic.letters=Mã NH và quốc gia phải là chữ validation.bic.invalidLocationCode=BIC chứa mã vị trí không hợp lệ diff --git a/core/src/main/resources/i18n/displayStrings_zh-hans.properties b/core/src/main/resources/i18n/displayStrings_zh-hans.properties index 3f61e90e..873af7f9 100644 --- a/core/src/main/resources/i18n/displayStrings_zh-hans.properties +++ b/core/src/main/resources/i18n/displayStrings_zh-hans.properties @@ -190,7 +190,7 @@ shared.makerTxFee=卖家:{0} shared.takerTxFee=买家:{0} shared.iConfirm=我确认 shared.openURL=打开 {0} -shared.fiat=法定货币 +shared.traditional=法定货币 shared.crypto=加密 shared.all=全部 shared.edit=编辑 @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=行情图 # OfferBookChartView -market.offerBook.buyAltcoin=我想要买入 {0}(卖出 {1}) -market.offerBook.sellAltcoin=我想要卖出 {0}(买入 {1}) -market.offerBook.buyWithFiat=购买 {0} -market.offerBook.sellWithFiat=出售 {0} +market.offerBook.buyCrypto=我想要买入 {0}(卖出 {1}) +market.offerBook.sellCrypto=我想要卖出 {0}(买入 {1}) +market.offerBook.buyWithTraditional=购买 {0} +market.offerBook.sellWithTraditional=出售 {0} market.offerBook.sellOffersHeaderLabel=出售 {0} 到 market.offerBook.buyOffersHeaderLabel=购买 {0} 以 market.offerBook.buy=我想要买入比特币 @@ -361,8 +361,8 @@ offerbook.deposit.help=交易双方均已支付保证金确保这个交易正常 offerbook.createOfferToBuy=创建新的报价来买入 {0} offerbook.createOfferToSell=创建新的报价来卖出 {0} -offerbook.createOfferToBuy.withFiat=创建新的报价用 {1} 购买 {0} -offerbook.createOfferToSell.forFiat=创建新的报价以 {1} 出售 {0} +offerbook.createOfferToBuy.withTraditional=创建新的报价用 {1} 购买 {0} +offerbook.createOfferToSell.forTraditional=创建新的报价以 {1} 出售 {0} offerbook.createOfferToBuy.withCrypto=创建新的卖出报价 {0} (买入 {1}) offerbook.createOfferToSell.forCrypto=创建新的买入报价 {0}(卖出 {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=编辑报价 portfolio.closedTrades.deviation.help=与市场价格偏差百分比 -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=等待区块链确认 portfolio.pending.step2_buyer.startPayment=开始付款 @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=请从您的外部 {0} 钱包划转\n{1} 到 BTC 卖家。\n\n +portfolio.pending.step2_buyer.crypto=请从您的外部 {0} 钱包划转\n{1} 到 BTC 卖家。\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=请到银行并支付 {0} 给 BTC 卖家。\n\n portfolio.pending.step2_buyer.cash.extra=重要要求:\n完成付款后在纸质收据上写下:不退款。\n然后将其撕成2份,拍照片并发送给 BTC 卖家的电子邮件地址。 @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=BTC 卖家仍然没有确认您的付 portfolio.pending.step3_buyer.openForDispute=BTC 卖家还没有确认你的付款!最大交易期限已过。您可以等待更长时间,并给交易伙伴更多时间或请求调解员的帮助。 # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=您的交易伙伴已经确认他们已经发起了 {0} 付款。\n\n -portfolio.pending.step3_seller.altcoin.explorer=在您最喜欢的 {0} 区块链浏览器 -portfolio.pending.step3_seller.altcoin.wallet=在您的 {0} 钱包 -portfolio.pending.step3_seller.altcoin={0} 请检查 {1} 是否交易已经到您的接收地址\n{2}\n已经有足够的区块链确认了\n支付金额必须为 {3}\n\n关闭该弹出窗口后,您可以从主界面复制并粘贴 {4} 地址。 +portfolio.pending.step3_seller.crypto.explorer=在您最喜欢的 {0} 区块链浏览器 +portfolio.pending.step3_seller.crypto.wallet=在您的 {0} 钱包 +portfolio.pending.step3_seller.crypto={0} 请检查 {1} 是否交易已经到您的接收地址\n{2}\n已经有足够的区块链确认了\n支付金额必须为 {3}\n\n关闭该弹出窗口后,您可以从主界面复制并粘贴 {4} 地址。 portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=交易密钥 portfolio.pending.step3_seller.buyersAccount=买方账号数据 portfolio.pending.step3_seller.confirmReceipt=确定付款收据 portfolio.pending.step3_seller.buyerStartedPayment=BTC 买家已经开始 {0} 的付款。\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=检查您的数字货币钱包或块浏览器的区块链确认,并确认付款时,您有足够的块链确认。 -portfolio.pending.step3_seller.buyerStartedPayment.fiat=检查您的交易账户(例如银行帐户),并确认您何时收到付款。 +portfolio.pending.step3_seller.buyerStartedPayment.crypto=检查您的数字货币钱包或块浏览器的区块链确认,并确认付款时,您有足够的块链确认。 +portfolio.pending.step3_seller.buyerStartedPayment.traditional=检查您的交易账户(例如银行帐户),并确认您何时收到付款。 portfolio.pending.step3_seller.warn.part1a=在 {0} 区块链 portfolio.pending.step3_seller.warn.part1b=在您的支付供应商(例如:银行) portfolio.pending.step3_seller.warn.part2=你还没有确认收到款项。如果您已经收到款项,请检查 {0}。 @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=首选货币 setting.preferences.displayFiat=显示国家货币 setting.preferences.noFiat=没有选定国家货币 setting.preferences.cannotRemovePrefCurrency=您不能删除您选定的首选货币 -setting.preferences.displayAltcoins=显示数字货币 -setting.preferences.noAltcoins=没有选定数字货币 +setting.preferences.displayCryptos=显示数字货币 +setting.preferences.noCryptos=没有选定数字货币 setting.preferences.addFiat=添加法定货币 -setting.preferences.addAltcoin=添加数字货币 +setting.preferences.addCrypto=添加数字货币 setting.preferences.displayOptions=显示选项 setting.preferences.showOwnOffers=在报价列表中显示我的报价 setting.preferences.useAnimations=使用动画 @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=无法删除仲裁员。{0} account.arbitratorRegistration.registerSuccess=您已从 Haveno 网络成功注册您的仲裁员。 account.arbitratorRegistration.registerFailed=无法注册仲裁员。{0} -account.altcoin.yourAltcoinAccounts=您的数字货币账户 -account.altcoin.popup.wallet.msg=请确保您按照 {1} 网页上所述使用 {0} 钱包的要求。\n使用集中式交易所的钱包,您无法控制密钥或使用不兼容的钱包软件,可能会导致交易资金的流失!\n调解员或仲裁员不是 {2} 专家,在这种情况下不能帮助。 -account.altcoin.popup.wallet.confirm=我了解并确定我知道我需要哪种钱包。 +account.crypto.yourCryptoAccounts=您的数字货币账户 +account.crypto.popup.wallet.msg=请确保您按照 {1} 网页上所述使用 {0} 钱包的要求。\n使用集中式交易所的钱包,您无法控制密钥或使用不兼容的钱包软件,可能会导致交易资金的流失!\n调解员或仲裁员不是 {2} 专家,在这种情况下不能帮助。 +account.crypto.popup.wallet.confirm=我了解并确定我知道我需要哪种钱包。 # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=在 Haveno 上交易 UPX 需要您了解并满足以下要求:\n\n要发送 UPX ,您需要使用官方的 UPXmA GUI 钱包或启用 store-tx-info 标志的 UPXmA CLI 钱包(在新版本中是默认的)。请确保您可以访问Tx密钥,因为在纠纷状态时需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高级>证明/检查页面。\n\n在普通的区块链浏览器中,这种交易是不可验证的。\n\n如有纠纷,你须向仲裁员提供下列资料:\n \n- Tx私钥\n- 交易哈希\n- 接收者的公开地址\n\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。如果发生纠纷,UPX 发送方负责向仲裁员提供 UPX 转账的验证。\n\n不需要支付 ID,只需要普通的公共地址。\n \n如果您对该流程不确定,请访问 UPXmA Discord 频道(https://discord.gg/vhdNSrV)或 Telegram 交流群(https://t.me/uplexaOfficial)了解更多信息。\n\n +account.crypto.popup.upx.msg=在 Haveno 上交易 UPX 需要您了解并满足以下要求:\n\n要发送 UPX ,您需要使用官方的 UPXmA GUI 钱包或启用 store-tx-info 标志的 UPXmA CLI 钱包(在新版本中是默认的)。请确保您可以访问Tx密钥,因为在纠纷状态时需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高级>证明/检查页面。\n\n在普通的区块链浏览器中,这种交易是不可验证的。\n\n如有纠纷,你须向仲裁员提供下列资料:\n \n- Tx私钥\n- 交易哈希\n- 接收者的公开地址\n\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。如果发生纠纷,UPX 发送方负责向仲裁员提供 UPX 转账的验证。\n\n不需要支付 ID,只需要普通的公共地址。\n \n如果您对该流程不确定,请访问 UPXmA Discord 频道(https://discord.gg/vhdNSrV)或 Telegram 交流群(https://t.me/uplexaOfficial)了解更多信息。\n\n # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=在 Haveno 上交易 ARQ 需要您了解并满足以下要求:\n\n要发送 ARQ ,您需要使用官方的 ArQmA GUI 钱包或启用 store-tx-info 标志的 ArQmA CLI 钱包(在新版本中是默认的)。请确保您可以访问Tx密钥,因为在纠纷状态时需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高级>证明/检查页面。\n\n在普通的区块链浏览器中,这种交易是不可验证的。\n\n如有纠纷,你须向调解员或仲裁员提供下列资料:\n\n- Tx私钥\n- 交易哈希\n- 接收者的公开地址\n\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。如果发生纠纷,ARQ 发送方负责向调解员或仲裁员提供 ARQ 转账的验证。\n\n不需要交易 ID,只需要普通的公共地址。\n\n如果您对该流程不确定,请访问 ArQmA Discord 频道(https://discord.gg/s9BQpJT)或 ArQmA 论坛(https://labs.arqma.com)了解更多信息。 +account.crypto.popup.arq.msg=在 Haveno 上交易 ARQ 需要您了解并满足以下要求:\n\n要发送 ARQ ,您需要使用官方的 ArQmA GUI 钱包或启用 store-tx-info 标志的 ArQmA CLI 钱包(在新版本中是默认的)。请确保您可以访问Tx密钥,因为在纠纷状态时需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高级>证明/检查页面。\n\n在普通的区块链浏览器中,这种交易是不可验证的。\n\n如有纠纷,你须向调解员或仲裁员提供下列资料:\n\n- Tx私钥\n- 交易哈希\n- 接收者的公开地址\n\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。如果发生纠纷,ARQ 发送方负责向调解员或仲裁员提供 ARQ 转账的验证。\n\n不需要交易 ID,只需要普通的公共地址。\n\n如果您对该流程不确定,请访问 ArQmA Discord 频道(https://discord.gg/s9BQpJT)或 ArQmA 论坛(https://labs.arqma.com)了解更多信息。 # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=在 Haveno 上交易 XMR 需要你理解并满足以下要求。\n\n如果您出售 XMR,当您在纠纷中您必须要提供下列信息给调解员或仲裁员:\n- 交易密钥(Tx 公钥,Tx密钥,Tx私钥)\n- 交易 ID(Tx ID 或 Tx 哈希)\n- 交易目标地址(接收者地址)\n\n在 wiki 中查看更多关于 Monero 钱包的信息:\nhttps://bisq.wiki/Trading_Monero#Proving_payments\n\n如未能提供要求的交易数据将在纠纷中直接判负\n\n还要注意,Haveno 现在提供了自动确认 XMR 交易的功能,以使交易更快,但是您需要在设置中启用它。\n\n有关自动确认功能的更多信息,请参见 Wiki:\nhttps://bisq.wiki/Trading_Monero#Auto-confirming_trades +account.crypto.popup.xmr.msg=在 Haveno 上交易 XMR 需要你理解并满足以下要求。\n\n如果您出售 XMR,当您在纠纷中您必须要提供下列信息给调解员或仲裁员:\n- 交易密钥(Tx 公钥,Tx密钥,Tx私钥)\n- 交易 ID(Tx ID 或 Tx 哈希)\n- 交易目标地址(接收者地址)\n\n在 wiki 中查看更多关于 Monero 钱包的信息:\nhttps://bisq.wiki/Trading_Monero#Proving_payments\n\n如未能提供要求的交易数据将在纠纷中直接判负\n\n还要注意,Haveno 现在提供了自动确认 XMR 交易的功能,以使交易更快,但是您需要在设置中启用它。\n\n有关自动确认功能的更多信息,请参见 Wiki:\nhttps://bisq.wiki/Trading_Monero#Auto-confirming_trades # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=区块链浏览器在 Haveno 上交易 XMR 需要您了解并满足以下要求:\n\n发送MSR时,您需要使用官方的 Masari GUI 钱包、启用store-tx-info标记的Masari CLI钱包(默认启用)或Masari 网页钱包(https://wallet.getmasari.org)。请确保您可以访问的 tx 密钥,因为如果发生纠纷这是需要的。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高级>证明/检查页面。\n\nMasari 网页钱包(前往 帐户->交易历史和查看您发送的交易细节)\n\n验证可以在钱包中完成。\nmonero-wallet-cli:使用命令(check_tx_key)。\nmonero-wallet-gui:在高级>证明/检查页面\n验证可以在区块浏览器中完成\n打开区块浏览器(https://explorer.getmasari.org),使用搜索栏查找您的事务哈希。\n一旦找到交易,滚动到底部的“证明发送”区域,并填写所需的详细信息。\n如有纠纷,你须向调解员或仲裁员提供下列资料:\n- Tx私钥\n- 交易哈希\n- 接收者的公开地址\n\n不需要交易 ID,只需要正常的公共地址。\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。如果发生纠纷,XMR 发送方负责向调解员或仲裁员提供 XMR 转账的验证。\n\n如果您对该流程不确定,请访问官方的 Masari Discord(https://discord.gg/sMCwMqs)上寻求帮助。 +account.crypto.popup.msr.msg=区块链浏览器在 Haveno 上交易 XMR 需要您了解并满足以下要求:\n\n发送MSR时,您需要使用官方的 Masari GUI 钱包、启用store-tx-info标记的Masari CLI钱包(默认启用)或Masari 网页钱包(https://wallet.getmasari.org)。请确保您可以访问的 tx 密钥,因为如果发生纠纷这是需要的。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高级>证明/检查页面。\n\nMasari 网页钱包(前往 帐户->交易历史和查看您发送的交易细节)\n\n验证可以在钱包中完成。\nmonero-wallet-cli:使用命令(check_tx_key)。\nmonero-wallet-gui:在高级>证明/检查页面\n验证可以在区块浏览器中完成\n打开区块浏览器(https://explorer.getmasari.org),使用搜索栏查找您的事务哈希。\n一旦找到交易,滚动到底部的“证明发送”区域,并填写所需的详细信息。\n如有纠纷,你须向调解员或仲裁员提供下列资料:\n- Tx私钥\n- 交易哈希\n- 接收者的公开地址\n\n不需要交易 ID,只需要正常的公共地址。\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。如果发生纠纷,XMR 发送方负责向调解员或仲裁员提供 XMR 转账的验证。\n\n如果您对该流程不确定,请访问官方的 Masari Discord(https://discord.gg/sMCwMqs)上寻求帮助。 # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=在 Haveno 上交易 BLUR 需要你了解并满足以下要求:\n\n要发送匿名信息你必须使用匿名网络 CLI 或 GUI 钱包。\n如果您正在使用 CLI 钱包,在传输发送后将显示交易哈希(tx ID)。您必须保存此信息。在发送传输之后,您必须立即使用“get_tx_key”命令来检索交易私钥。如果未能执行此步骤,以后可能无法检索密钥。\n\n如果您使用 Blur Network GUI 钱包,可以在“历史”选项卡中方便地找到交易私钥和交易 ID。发送后立即定位感兴趣的交易。单击包含交易的框的右下角的“?”符号。您必须保存此信息。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息:1.)交易ID,2.)交易私钥,3.)收件人地址。调解或仲裁程序将使用 BLUR 事务查看器(https://blur.cash/#tx-viewer)验证 BLUR 转账。\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有争议的情况下,匿名发送方承担100%的责任来向调解员或仲裁员核实交易。\n\n如果你不了解这些要求,不要在 Haveno 上交易。首先,在 Blur Network Discord 中寻求帮助(https://discord.gg/dMWaqVW)。 +account.crypto.popup.blur.msg=在 Haveno 上交易 BLUR 需要你了解并满足以下要求:\n\n要发送匿名信息你必须使用匿名网络 CLI 或 GUI 钱包。\n如果您正在使用 CLI 钱包,在传输发送后将显示交易哈希(tx ID)。您必须保存此信息。在发送传输之后,您必须立即使用“get_tx_key”命令来检索交易私钥。如果未能执行此步骤,以后可能无法检索密钥。\n\n如果您使用 Blur Network GUI 钱包,可以在“历史”选项卡中方便地找到交易私钥和交易 ID。发送后立即定位感兴趣的交易。单击包含交易的框的右下角的“?”符号。您必须保存此信息。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息:1.)交易ID,2.)交易私钥,3.)收件人地址。调解或仲裁程序将使用 BLUR 事务查看器(https://blur.cash/#tx-viewer)验证 BLUR 转账。\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有争议的情况下,匿名发送方承担100%的责任来向调解员或仲裁员核实交易。\n\n如果你不了解这些要求,不要在 Haveno 上交易。首先,在 Blur Network Discord 中寻求帮助(https://discord.gg/dMWaqVW)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=在 Haveno 上交易 Solo 需要您了解并满足以下要求:\n\n要发送 Solo,您必须使用 Solo CLI 网络钱包版本 5.1.3 或更高。\n\n如果您使用的是CLI钱包,则在发送交易之后,将显示交易ID。您必须保存此信息。在发送交易之后,您必须立即使用'get_tx_key'命令来检索交易密钥。如果未能执行此步骤,则以后可能无法检索密钥。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息:1)交易 ID,、2)交易密钥,3)收件人的地址。调解员或仲裁员将使用 Solo 区块资源管理器(https://explorer.Solo.org)搜索交易然后使用“发送证明”功能(https://explorer.minesolo.com/)\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有发生争议的情况下,在向调解员或仲裁员核实交易时,QWC 的发送方承担 100% 的责任。\n\n如果你不理解这些要求,不要在 Haveno 上交易。首先,在 Solo Discord 中寻求帮助(https://discord.minesolo.com/)。\n\n +account.crypto.popup.solo.msg=在 Haveno 上交易 Solo 需要您了解并满足以下要求:\n\n要发送 Solo,您必须使用 Solo CLI 网络钱包版本 5.1.3 或更高。\n\n如果您使用的是CLI钱包,则在发送交易之后,将显示交易ID。您必须保存此信息。在发送交易之后,您必须立即使用'get_tx_key'命令来检索交易密钥。如果未能执行此步骤,则以后可能无法检索密钥。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息:1)交易 ID,、2)交易密钥,3)收件人的地址。调解员或仲裁员将使用 Solo 区块资源管理器(https://explorer.Solo.org)搜索交易然后使用“发送证明”功能(https://explorer.minesolo.com/)\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有发生争议的情况下,在向调解员或仲裁员核实交易时,QWC 的发送方承担 100% 的责任。\n\n如果你不理解这些要求,不要在 Haveno 上交易。首先,在 Solo Discord 中寻求帮助(https://discord.minesolo.com/)。\n\n # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=在 Haveno 上交易 CASH2 需要您了解并满足以下要求:\n\n要发送 CASH2,您必须使用 CASH2 钱包版本 3 或更高。\n\n在发送交易之后,将显示交易ID。您必须保存此信息。在发送交易之后,必须立即在 simplewallet 中使用命令“getTxKey”来检索交易密钥。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息:1)交易 ID,2)交易密钥,3)收件人的 CASH2 地址。调解员或仲裁员将使用 CASH2 区块资源管理器(https://blocks.cash2.org)验证 CASH2 转账。\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有发生争议的情况下,在向调解员或仲裁员核实交易时,CASH2 的发送方承担 100% 的责任。\n\n如果你不理解这些要求,不要在 Haveno 上交易。首先,在 Cash2 Discord 中寻求帮助(https://discord.gg/FGfXAYN)。 +account.crypto.popup.cash2.msg=在 Haveno 上交易 CASH2 需要您了解并满足以下要求:\n\n要发送 CASH2,您必须使用 CASH2 钱包版本 3 或更高。\n\n在发送交易之后,将显示交易ID。您必须保存此信息。在发送交易之后,必须立即在 simplewallet 中使用命令“getTxKey”来检索交易密钥。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息:1)交易 ID,2)交易密钥,3)收件人的 CASH2 地址。调解员或仲裁员将使用 CASH2 区块资源管理器(https://blocks.cash2.org)验证 CASH2 转账。\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有发生争议的情况下,在向调解员或仲裁员核实交易时,CASH2 的发送方承担 100% 的责任。\n\n如果你不理解这些要求,不要在 Haveno 上交易。首先,在 Cash2 Discord 中寻求帮助(https://discord.gg/FGfXAYN)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=在 Haveno 上交易 Qwertycoin 需要您了解并满足以下要求:\n\n要发送 Qwertycoin,您必须使用 Qwertycoin 钱包版本 5.1.3 或更高。\n\n在发送交易之后,将显示交易ID。您必须保存此信息。在发送交易之后,必须立即在 simplewallet 中使用命令“get_Tx_Key”来检索交易密钥。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息::1)交易 ID,、2)交易密钥,3)收件人的 QWC 地址。调解员或仲裁员将使用 QWC 区块资源管理器(https://explorer.qwertycoin.org)验证 QWC 转账。\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有发生争议的情况下,在向调解员或仲裁员核实交易时,QWC 的发送方承担 100% 的责任。\n\n如果你不理解这些要求,不要在 Haveno 上交易。首先,在 QWC Discord 中寻求帮助(https://discord.gg/rUkfnpC)。 +account.crypto.popup.qwertycoin.msg=在 Haveno 上交易 Qwertycoin 需要您了解并满足以下要求:\n\n要发送 Qwertycoin,您必须使用 Qwertycoin 钱包版本 5.1.3 或更高。\n\n在发送交易之后,将显示交易ID。您必须保存此信息。在发送交易之后,必须立即在 simplewallet 中使用命令“get_Tx_Key”来检索交易密钥。\n\n如果仲裁是必要的,您必须向调解员或仲裁员提供以下信息::1)交易 ID,、2)交易密钥,3)收件人的 QWC 地址。调解员或仲裁员将使用 QWC 区块资源管理器(https://explorer.qwertycoin.org)验证 QWC 转账。\n\n未能向调解员或仲裁员提供必要的信息将导致败诉。在所有发生争议的情况下,在向调解员或仲裁员核实交易时,QWC 的发送方承担 100% 的责任。\n\n如果你不理解这些要求,不要在 Haveno 上交易。首先,在 QWC Discord 中寻求帮助(https://discord.gg/rUkfnpC)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=在 Haveno 上交易 Dragonglass 需要您了解并满足以下要求:\n\n由于 Dragonglass 提供了隐私保护,所以交易不能在公共区块链上验证。如果需要,您可以通过使用您的 TXN-Private-Key 来证明您的付款。\nTXN-Private 密匙是自动生成的一次性密匙,用于只能从 DRGL 钱包中访问的每个交易。\n要么通过 DRGL-wallet GUI(内部交易细节对话框),要么通过 Dragonglass CLI simplewallet(使用命令“get_tx_key”)。\n\n两者都需要 DRGL 版本的“Oathkeeper”或更高版本。\n\n如有争议,你必须向调解员或仲裁员提供下列资料:\n\n- txn-Privite-ket\n- 交易哈希 \n- 接收者的公开地址\n\n付款验证可以使用上面的数据作为输入(http://drgl.info/#check_txn)。\n\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。Dragonglass 发送方负责在发生争议时向调解员或仲裁员提供 DRGL 转账的验证。不需要使用付款 ID。\n\n如果您对这个过程的任何部分都不确定,请访问(http://discord.drgl.info)上的 Dragonglass 寻求帮助。 +account.crypto.popup.drgl.msg=在 Haveno 上交易 Dragonglass 需要您了解并满足以下要求:\n\n由于 Dragonglass 提供了隐私保护,所以交易不能在公共区块链上验证。如果需要,您可以通过使用您的 TXN-Private-Key 来证明您的付款。\nTXN-Private 密匙是自动生成的一次性密匙,用于只能从 DRGL 钱包中访问的每个交易。\n要么通过 DRGL-wallet GUI(内部交易细节对话框),要么通过 Dragonglass CLI simplewallet(使用命令“get_tx_key”)。\n\n两者都需要 DRGL 版本的“Oathkeeper”或更高版本。\n\n如有争议,你必须向调解员或仲裁员提供下列资料:\n\n- txn-Privite-ket\n- 交易哈希 \n- 接收者的公开地址\n\n付款验证可以使用上面的数据作为输入(http://drgl.info/#check_txn)。\n\n如未能提供上述资料,或使用不兼容的钱包,将会导致纠纷败诉。Dragonglass 发送方负责在发生争议时向调解员或仲裁员提供 DRGL 转账的验证。不需要使用付款 ID。\n\n如果您对这个过程的任何部分都不确定,请访问(http://discord.drgl.info)上的 Dragonglass 寻求帮助。 # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=当使用 Zcash 时,您只能使用透明地址(以 t 开头),而不能使用 z 地址(私有),因为调解员或仲裁员无法使用 z 地址验证交易。 +account.crypto.popup.ZEC.msg=当使用 Zcash 时,您只能使用透明地址(以 t 开头),而不能使用 z 地址(私有),因为调解员或仲裁员无法使用 z 地址验证交易。 # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=在使用 Zcoin 时,您只能使用透明的(可跟踪的)地址,而不能使用不可跟踪的地址,因为调解员或仲裁员无法在区块资源管理器中使用不可跟踪的地址验证交易。 +account.crypto.popup.XZC.msg=在使用 Zcoin 时,您只能使用透明的(可跟踪的)地址,而不能使用不可跟踪的地址,因为调解员或仲裁员无法在区块资源管理器中使用不可跟踪的地址验证交易。 # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN 需要发送方和接收方之间的交互过程来创建交易。请确保遵循 GRIN 项目网页中的说明,以可靠地发送和接收 GRIN(接收方需要在线,或至少在一定时间内在线)。\n \nHaveno 只支持 Grinbox(Wallet713)钱包 URL 格式。\n\nGRIN 发送者需要提供他们已成功发送 GRIN 的证明。如果钱包不能提供证明,一个潜在的纠纷将被解决,有利于露齿微笑的接受者。请确保您使用了最新的支持交易证明的 Grinbox 软件,并且您了解传输和接收 GRIN 的过程以及如何创建证明。\n请参阅 https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only,以获得关于 Grinbox 证明工具的更多信息。\n +account.crypto.popup.grin.msg=GRIN 需要发送方和接收方之间的交互过程来创建交易。请确保遵循 GRIN 项目网页中的说明,以可靠地发送和接收 GRIN(接收方需要在线,或至少在一定时间内在线)。\n \nHaveno 只支持 Grinbox(Wallet713)钱包 URL 格式。\n\nGRIN 发送者需要提供他们已成功发送 GRIN 的证明。如果钱包不能提供证明,一个潜在的纠纷将被解决,有利于露齿微笑的接受者。请确保您使用了最新的支持交易证明的 Grinbox 软件,并且您了解传输和接收 GRIN 的过程以及如何创建证明。\n请参阅 https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only,以获得关于 Grinbox 证明工具的更多信息。\n # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM 需要发送方和接收方之间的交互过程来创建交易。\n\n\n确保遵循 BEAM 项目网页的指示可靠地发送和接收 BEAM(接收方需要在线,或者至少在一定的时间范围内在线)。\n\nBEAM 发送者需要提供他们成功发送 BEAM 的证明。一定要使用钱包软件,可以产生这样的证明。如果钱包不能提供证据,一个潜在的纠纷将得到解决,有利于 BEAM 接收者。 +account.crypto.popup.beam.msg=BEAM 需要发送方和接收方之间的交互过程来创建交易。\n\n\n确保遵循 BEAM 项目网页的指示可靠地发送和接收 BEAM(接收方需要在线,或者至少在一定的时间范围内在线)。\n\nBEAM 发送者需要提供他们成功发送 BEAM 的证明。一定要使用钱包软件,可以产生这样的证明。如果钱包不能提供证据,一个潜在的纠纷将得到解决,有利于 BEAM 接收者。 # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=在 Haveno 上交易 ParsiCoin 需要您了解并满足以下要求:\n\n要发送 PARS ,您必须使用官方 ParsiCoin Wallet 版本 3.0.0 或更高。\n\n您可以在 GUI 钱包(ParsiPay)的交易部分检查您的交易哈希和交易键,您需要右键单击“交易”,然后单击“显示详情”。\n\n如果仲裁是 100% 必要的,您必须向调解员或仲裁员提供以下内容:1)交易哈希,2)交易密钥,以及3)接收方的 PARS 地址。调解员或仲裁员将使用 ParsiCoin 区块链浏览器 (http://explorer.parsicoin.net/#check_payment)验证 PARS 传输。\n\n如果你不了解这些要求,不要在 Haveno 上交易。首先,在 ParsiCoin Discord 寻求帮助(https://discord.gg/c7qmFNh)。 +account.crypto.popup.pars.msg=在 Haveno 上交易 ParsiCoin 需要您了解并满足以下要求:\n\n要发送 PARS ,您必须使用官方 ParsiCoin Wallet 版本 3.0.0 或更高。\n\n您可以在 GUI 钱包(ParsiPay)的交易部分检查您的交易哈希和交易键,您需要右键单击“交易”,然后单击“显示详情”。\n\n如果仲裁是 100% 必要的,您必须向调解员或仲裁员提供以下内容:1)交易哈希,2)交易密钥,以及3)接收方的 PARS 地址。调解员或仲裁员将使用 ParsiCoin 区块链浏览器 (http://explorer.parsicoin.net/#check_payment)验证 PARS 传输。\n\n如果你不了解这些要求,不要在 Haveno 上交易。首先,在 ParsiCoin Discord 寻求帮助(https://discord.gg/c7qmFNh)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=要交易烧毁的货币,你需要知道以下几点:\n\n烧毁的货币是不能花的。要在 Haveno 上交易它们,输出脚本需要采用以下形式:OP_RETURN OP_PUSHDATA,后跟相关的数据字节,这些字节经过十六进制编码后构成地址。例如,地址为666f6f(在UTF-8中的"foo")的烧毁的货币将有以下脚本:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\n要创建烧毁的货币,您可以使用“烧毁”RPC命令,它在一些钱包可用。\n\n对于可能的情况,可以查看 https://ibo.laboratorium.ee\n\n因为烧毁的货币是不能用的,所以不能重新出售。“出售”烧毁的货币意味着焚烧初始的货币(与目的地地址相关联的数据)。\n\n如果发生争议,BLK 卖方需要提供交易哈希。 +account.crypto.popup.blk-burnt.msg=要交易烧毁的货币,你需要知道以下几点:\n\n烧毁的货币是不能花的。要在 Haveno 上交易它们,输出脚本需要采用以下形式:OP_RETURN OP_PUSHDATA,后跟相关的数据字节,这些字节经过十六进制编码后构成地址。例如,地址为666f6f(在UTF-8中的"foo")的烧毁的货币将有以下脚本:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\n要创建烧毁的货币,您可以使用“烧毁”RPC命令,它在一些钱包可用。\n\n对于可能的情况,可以查看 https://ibo.laboratorium.ee\n\n因为烧毁的货币是不能用的,所以不能重新出售。“出售”烧毁的货币意味着焚烧初始的货币(与目的地地址相关联的数据)。\n\n如果发生争议,BLK 卖方需要提供交易哈希。 # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=在 Haveno 上交易 L-BTC 你必须理解下述条款:\n\n当你在 Haveno 上接受 L-BTC 交易时,你不能使用手机 Blockstream Green Wallet 或者是一个托管/交易钱包。你必须只接收 L-BTC 到 Liquid Elements Core 钱包,或另一个 L-BTC 钱包且允许你获得匿名的 L-BTC 地址以及密钥。\n\n在需要进行调解的情况下,或者如果发生了交易纠纷,您必须将接收 L-BTC地址的安全密钥披露给 Haveno 调解员或退款代理,以便他们能够在他们自己的 Elements Core 全节点上验证您的匿名交易的细节。\n\n如果你不了解或了解这些要求,不要在 Haveno 上交易 L-BTC。 +account.crypto.popup.liquidbitcoin.msg=在 Haveno 上交易 L-BTC 你必须理解下述条款:\n\n当你在 Haveno 上接受 L-BTC 交易时,你不能使用手机 Blockstream Green Wallet 或者是一个托管/交易钱包。你必须只接收 L-BTC 到 Liquid Elements Core 钱包,或另一个 L-BTC 钱包且允许你获得匿名的 L-BTC 地址以及密钥。\n\n在需要进行调解的情况下,或者如果发生了交易纠纷,您必须将接收 L-BTC地址的安全密钥披露给 Haveno 调解员或退款代理,以便他们能够在他们自己的 Elements Core 全节点上验证您的匿名交易的细节。\n\n如果你不了解或了解这些要求,不要在 Haveno 上交易 L-BTC。 -account.fiat.yourFiatAccounts=您的法定货币账户 +account.traditional.yourTraditionalAccounts=您的法定货币账户 account.backup.title=备份钱包 account.backup.location=备份路径 @@ -1807,8 +1807,8 @@ formatter.makerTaker=卖家 {0} {1} / 买家 {2} {3} formatter.youAreAsMaker=您是 {1} {0} 卖家 / 买家是 {3} {2} formatter.youAreAsTaker=您是 {1} {0} 买家 / 卖家是 {3} {2} formatter.youAre=您是 {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=您创建新的报价 {0} {1} -formatter.youAreCreatingAnOffer.altcoin=您正创建报价 {0} {1}({2} {3}) +formatter.youAreCreatingAnOffer.traditional=您创建新的报价 {0} {1} +formatter.youAreCreatingAnOffer.crypto=您正创建报价 {0} {1}({2} {3}) formatter.asMaker={0} {1} 是卖家 formatter.asTaker={0} {1} 是买家 @@ -1900,11 +1900,11 @@ payment.email=电子邮箱 payment.country=国家或地区 payment.extras=额外要求 payment.email.mobile=电子邮箱或手机号码 -payment.altcoin.address=数字货币地址 -payment.altcoin.tradeInstantCheckbox=使用数字货币进行即时交易( 1 小时内) -payment.altcoin.tradeInstant.popup=对于即时交易,要求交易双方都在线,能够在不到1小时内完成交易。\n \n如果你已经有未完成的报价以及你不能即时完成,请在资料页面禁用这些报价。 -payment.altcoin=数字货币 -payment.select.altcoin=选择或搜索数字货币 +payment.crypto.address=数字货币地址 +payment.crypto.tradeInstantCheckbox=使用数字货币进行即时交易( 1 小时内) +payment.crypto.tradeInstant.popup=对于即时交易,要求交易双方都在线,能够在不到1小时内完成交易。\n \n如果你已经有未完成的报价以及你不能即时完成,请在资料页面禁用这些报价。 +payment.crypto=数字货币 +payment.select.crypto=选择或搜索数字货币 payment.secret=密保问题 payment.answer=答案 payment.wallet=钱包 ID @@ -1930,8 +1930,8 @@ payment.national.account.id.AR=CBU 号码 shared.accountSigningState=账户验证状态 #new -payment.altcoin.address.dyn={0} 地址 -payment.altcoin.receiver.address=接收者的数字货币地址 +payment.crypto.address.dyn={0} 地址 +payment.crypto.receiver.address=接收者的数字货币地址 payment.accountNr=账号: payment.emailOrMobile=电子邮箱或手机号码 payment.useCustomAccountName=使用自定义名称 @@ -1977,7 +1977,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=在 Haveno 上交易 US Postal Money Orders (USPMO)您必须理解下述条款:\n\n- BTC 买方必须在发送方和收款人字段中都写上 BTC 卖方的名称,并在发送之前对 USPMO 和信封进行高分辨率照片拍照,并带有跟踪证明。\n- BTC 买方必须将 USPMO 连同交货确认书一起发送给 BTC 卖方。\n\n如果需要调解,或有交易纠纷,您将需要将照片连同 USPMO 编号,邮局编号和交易金额一起发送给 Haveno 调解员或退款代理,以便他们进行验证美国邮局网站上的详细信息。\n\n如未能提供要求的交易数据将在纠纷中直接判负\n\n在所有争议案件中,USPMO 发送方在向调解人或仲裁员提供证据/证明时承担 100% 的责任。\n\n如果您不理解这些要求,请不要在 Haveno 上使用 USPMO 进行交易。 -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=联系方式 payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2084,7 +2084,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=亚马逊电子礼品卡 # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins Instant +BLOCK_CHAINS_INSTANT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2136,7 +2136,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=亚马逊电子礼品卡 # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins Instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2156,8 +2156,8 @@ validation.NaN=输入的不是有效数字。 validation.notAnInteger=输入的不是整数。 validation.zero=不允许输入0。 validation.negative=不允许输入负值。 -validation.fiat.tooSmall=不允许输入比最小可能值还小的数值。 -validation.fiat.tooLarge=不允许输入比最大可能值还大的数值。 +validation.traditional.tooSmall=不允许输入比最小可能值还小的数值。 +validation.traditional.tooLarge=不允许输入比最大可能值还大的数值。 validation.xmr.fraction=此充值将会产生小于 1 聪的比特币数量。 validation.xmr.tooLarge=不允许充值大于{0} validation.xmr.tooSmall=不允许充值小于{0} @@ -2178,15 +2178,15 @@ validation.nationalAccountId={0} 必须由{1}个数字组成。 validation.invalidInput=输入无效:{0} validation.accountNrFormat=帐号必须是格式:{0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=地址验证失败,因为它与 {0} 地址的结构不匹配。 +validation.crypto.wrongStructure=地址验证失败,因为它与 {0} 地址的结构不匹配。 # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ 地址需要以 L 开头。 不支持以 Z 开头的地址。 +validation.crypto.ltz.zAddressesNotSupported=LTZ 地址需要以 L 开头。 不支持以 Z 开头的地址。 # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=LTZ 地址需要以 L 开头。 不支持以 Z 开头的地址。 +validation.crypto.zAddressesNotSupported=LTZ 地址需要以 L 开头。 不支持以 Z 开头的地址。 # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=这个地址不是有效的{0}地址!{1} +validation.crypto.invalidAddress=这个地址不是有效的{0}地址!{1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=不支持本地 segwit 地址(以“lq”开头的地址)。 +validation.crypto.liquidBitcoin.invalidAddress=不支持本地 segwit 地址(以“lq”开头的地址)。 validation.bic.invalidLength=输入长度既不是 8 也不是 11 validation.bic.letters=必须输入银行和国家或地区代码 validation.bic.invalidLocationCode=BIC 包含无效的地址代码 diff --git a/core/src/main/resources/i18n/displayStrings_zh-hant.properties b/core/src/main/resources/i18n/displayStrings_zh-hant.properties index 4ca77b6e..9248d41e 100644 --- a/core/src/main/resources/i18n/displayStrings_zh-hant.properties +++ b/core/src/main/resources/i18n/displayStrings_zh-hant.properties @@ -190,7 +190,7 @@ shared.makerTxFee=賣家:{0} shared.takerTxFee=買家:{0} shared.iConfirm=我確認 shared.openURL=打開 {0} -shared.fiat=法定貨幣 +shared.traditional=法定貨幣 shared.crypto=加密 shared.all=全部 shared.edit=編輯 @@ -287,10 +287,10 @@ market.tabs.spreadPayment=Offers by Payment Method market.tabs.trades=行情圖 # OfferBookChartView -market.offerBook.buyAltcoin=我想要買入 {0}(賣出 {1}) -market.offerBook.sellAltcoin=我想要賣出 {0}(買入 {1}) -market.offerBook.buyWithFiat=購買 {0} -market.offerBook.sellWithFiat=出售 {0} +market.offerBook.buyCrypto=我想要買入 {0}(賣出 {1}) +market.offerBook.sellCrypto=我想要賣出 {0}(買入 {1}) +market.offerBook.buyWithTraditional=購買 {0} +market.offerBook.sellWithTraditional=出售 {0} market.offerBook.sellOffersHeaderLabel=出售 {0} 到 market.offerBook.buyOffersHeaderLabel=購買 {0} 以 market.offerBook.buy=我想要買入比特幣 @@ -361,8 +361,8 @@ offerbook.deposit.help=交易雙方均已支付保證金確保這個交易正常 offerbook.createOfferToBuy=創建新的報價來買入 {0} offerbook.createOfferToSell=創建新的報價來賣出 {0} -offerbook.createOfferToBuy.withFiat=創建新的報價用 {1} 購買 {0} -offerbook.createOfferToSell.forFiat=創建新的報價以 {1} 出售 {0} +offerbook.createOfferToBuy.withTraditional=創建新的報價用 {1} 購買 {0} +offerbook.createOfferToSell.forTraditional=創建新的報價以 {1} 出售 {0} offerbook.createOfferToBuy.withCrypto=創建新的賣出報價 {0} (買入 {1}) offerbook.createOfferToSell.forCrypto=創建新的買入報價 {0}(賣出 {1}) @@ -550,7 +550,7 @@ portfolio.tab.editOpenOffer=編輯報價 portfolio.closedTrades.deviation.help=Percentage price deviation from market -portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the fiat or altcoin payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} +portfolio.pending.invalidTx=There is an issue with a missing or invalid transaction.\n\nPlease do NOT send the traditional or crypto payment.\n\nOpen a support ticket to get assistance from a Mediator.\n\nError message: {0} portfolio.pending.step1.waitForConf=等待區塊鏈確認 portfolio.pending.step2_buyer.startPayment=開始付款 @@ -600,7 +600,7 @@ portfolio.pending.step2_buyer.refTextWarn=Important: when making the payment, le # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.fees=If your bank charges you any fees to make the transfer, you are responsible for paying those fees. # suppress inspection "TrailingSpacesInProperty" -portfolio.pending.step2_buyer.altcoin=請從您的外部 {0} 錢包劃轉\n{1} 到 BTC 賣家。\n\n +portfolio.pending.step2_buyer.crypto=請從您的外部 {0} 錢包劃轉\n{1} 到 BTC 賣家。\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=請到銀行並支付 {0} 給 BTC 賣家。\n\n portfolio.pending.step2_buyer.cash.extra=重要要求:\n完成付款後在紙質收據上寫下:不退款。\n然後將其撕成2份,拍照片併發送給 BTC 賣家的電子郵件地址。 @@ -674,9 +674,9 @@ portfolio.pending.step3_buyer.warn.part2=BTC 賣家仍然沒有確認您的付 portfolio.pending.step3_buyer.openForDispute=BTC 賣家還沒有確認你的付款!最大交易期限已過。您可以等待更長時間,並給交易夥伴更多時間或請求調解員的幫助。 # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=您的交易夥伴已經確認他們已經發起了 {0} 付款。\n\n -portfolio.pending.step3_seller.altcoin.explorer=在您最喜歡的 {0} 區塊鏈瀏覽器 -portfolio.pending.step3_seller.altcoin.wallet=在您的 {0} 錢包 -portfolio.pending.step3_seller.altcoin={0} 請檢查 {1} 是否交易已經到您的接收地址\n{2}\n已經有足夠的區塊鏈確認了\n支付金額必須為 {3}\n\n關閉該彈出窗口後,您可以從主界面複製並粘貼 {4} 地址。 +portfolio.pending.step3_seller.crypto.explorer=在您最喜歡的 {0} 區塊鏈瀏覽器 +portfolio.pending.step3_seller.crypto.wallet=在您的 {0} 錢包 +portfolio.pending.step3_seller.crypto={0} 請檢查 {1} 是否交易已經到您的接收地址\n{2}\n已經有足夠的區塊鏈確認了\n支付金額必須為 {3}\n\n關閉該彈出窗口後,您可以從主界面複製並粘貼 {4} 地址。 portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.cashByMail={0}Please check if you have received {1} with \"Cash by Mail\" from the BTC buyer. @@ -701,8 +701,8 @@ portfolio.pending.step3_seller.xmrTxKey=交易密鑰 portfolio.pending.step3_seller.buyersAccount=買方賬號數據 portfolio.pending.step3_seller.confirmReceipt=確定付款收據 portfolio.pending.step3_seller.buyerStartedPayment=BTC 買家已經開始 {0} 的付款。\n{1} -portfolio.pending.step3_seller.buyerStartedPayment.altcoin=檢查您的數字貨幣錢包或塊瀏覽器的區塊鏈確認,並確認付款時,您有足夠的塊鏈確認。 -portfolio.pending.step3_seller.buyerStartedPayment.fiat=檢查您的交易賬户(例如銀行帳户),並確認您何時收到付款。 +portfolio.pending.step3_seller.buyerStartedPayment.crypto=檢查您的數字貨幣錢包或塊瀏覽器的區塊鏈確認,並確認付款時,您有足夠的塊鏈確認。 +portfolio.pending.step3_seller.buyerStartedPayment.traditional=檢查您的交易賬户(例如銀行帳户),並確認您何時收到付款。 portfolio.pending.step3_seller.warn.part1a=在 {0} 區塊鏈 portfolio.pending.step3_seller.warn.part1b=在您的支付供應商(例如:銀行) portfolio.pending.step3_seller.warn.part2=你還沒有確認收到款項。如果您已經收到款項,請檢查 {0}。 @@ -998,10 +998,10 @@ setting.preferences.prefCurrency=首選貨幣 setting.preferences.displayFiat=顯示國家貨幣 setting.preferences.noFiat=沒有選定國家貨幣 setting.preferences.cannotRemovePrefCurrency=您不能刪除您選定的首選貨幣 -setting.preferences.displayAltcoins=顯示數字貨幣 -setting.preferences.noAltcoins=沒有選定數字貨幣 +setting.preferences.displayCryptos=顯示數字貨幣 +setting.preferences.noCryptos=沒有選定數字貨幣 setting.preferences.addFiat=添加法定貨幣 -setting.preferences.addAltcoin=添加數字貨幣 +setting.preferences.addCrypto=添加數字貨幣 setting.preferences.displayOptions=顯示選項 setting.preferences.showOwnOffers=在報價列表中顯示我的報價 setting.preferences.useAnimations=使用動畫 @@ -1177,45 +1177,45 @@ account.arbitratorRegistration.removedFailed=無法刪除仲裁員。{0} account.arbitratorRegistration.registerSuccess=您已從 Haveno 網絡成功註冊您的仲裁員。 account.arbitratorRegistration.registerFailed=無法註冊仲裁員。{0} -account.altcoin.yourAltcoinAccounts=您的數字貨幣賬户 -account.altcoin.popup.wallet.msg=請確保您按照 {1} 網頁上所述使用 {0} 錢包的要求。\n使用集中式交易所的錢包,您無法控制密鑰或使用不兼容的錢包軟件,可能會導致交易資金的流失!\n調解員或仲裁員不是 {2} 專家,在這種情況下不能幫助。 -account.altcoin.popup.wallet.confirm=我瞭解並確定我知道我需要哪種錢包。 +account.crypto.yourCryptoAccounts=您的數字貨幣賬户 +account.crypto.popup.wallet.msg=請確保您按照 {1} 網頁上所述使用 {0} 錢包的要求。\n使用集中式交易所的錢包,您無法控制密鑰或使用不兼容的錢包軟件,可能會導致交易資金的流失!\n調解員或仲裁員不是 {2} 專家,在這種情況下不能幫助。 +account.crypto.popup.wallet.confirm=我瞭解並確定我知道我需要哪種錢包。 # suppress inspection "UnusedProperty" -account.altcoin.popup.upx.msg=在 Haveno 上交易 UPX 需要您瞭解並滿足以下要求:\n\n要發送 UPX ,您需要使用官方的 UPXmA GUI 錢包或啟用 store-tx-info 標誌的 UPXmA CLI 錢包(在新版本中是默認的)。請確保您可以訪問Tx密鑰,因為在糾紛狀態時需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高級>證明/檢查頁面。\n\n在普通的區塊鏈瀏覽器中,這種交易是不可驗證的。\n\n如有糾紛,你須向仲裁員提供下列資料:\n \n- Tx私鑰\n- 交易哈希\n- 接收者的公開地址\n\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。如果發生糾紛,UPX 發送方負責向仲裁員提供 UPX 轉賬的驗證。\n\n不需要支付 ID,只需要普通的公共地址。\n \n如果您對該流程不確定,請訪問 UPXmA Discord 頻道(https://discord.gg/vhdNSrV)或 Telegram 交流羣(https://t.me/uplexaOfficial)瞭解更多信息。\n\n +account.crypto.popup.upx.msg=在 Haveno 上交易 UPX 需要您瞭解並滿足以下要求:\n\n要發送 UPX ,您需要使用官方的 UPXmA GUI 錢包或啟用 store-tx-info 標誌的 UPXmA CLI 錢包(在新版本中是默認的)。請確保您可以訪問Tx密鑰,因為在糾紛狀態時需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高級>證明/檢查頁面。\n\n在普通的區塊鏈瀏覽器中,這種交易是不可驗證的。\n\n如有糾紛,你須向仲裁員提供下列資料:\n \n- Tx私鑰\n- 交易哈希\n- 接收者的公開地址\n\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。如果發生糾紛,UPX 發送方負責向仲裁員提供 UPX 轉賬的驗證。\n\n不需要支付 ID,只需要普通的公共地址。\n \n如果您對該流程不確定,請訪問 UPXmA Discord 頻道(https://discord.gg/vhdNSrV)或 Telegram 交流羣(https://t.me/uplexaOfficial)瞭解更多信息。\n\n # suppress inspection "UnusedProperty" -account.altcoin.popup.arq.msg=在 Haveno 上交易 ARQ 需要您瞭解並滿足以下要求:\n\n要發送 ARQ ,您需要使用官方的 ArQmA GUI 錢包或啟用 store-tx-info 標誌的 ArQmA CLI 錢包(在新版本中是默認的)。請確保您可以訪問Tx密鑰,因為在糾紛狀態時需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高級>證明/檢查頁面。\n\n在普通的區塊鏈瀏覽器中,這種交易是不可驗證的。\n\n如有糾紛,你須向調解員或仲裁員提供下列資料:\n\n- Tx私鑰\n- 交易哈希\n- 接收者的公開地址\n\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。如果發生糾紛,ARQ 發送方負責向調解員或仲裁員提供 ARQ 轉賬的驗證。\n\n不需要交易 ID,只需要普通的公共地址。\n\n如果您對該流程不確定,請訪問 ArQmA Discord 頻道(https://discord.gg/s9BQpJT)或 ArQmA 論壇(https://labs.arqma.com)瞭解更多信息。 +account.crypto.popup.arq.msg=在 Haveno 上交易 ARQ 需要您瞭解並滿足以下要求:\n\n要發送 ARQ ,您需要使用官方的 ArQmA GUI 錢包或啟用 store-tx-info 標誌的 ArQmA CLI 錢包(在新版本中是默認的)。請確保您可以訪問Tx密鑰,因為在糾紛狀態時需要。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高級>證明/檢查頁面。\n\n在普通的區塊鏈瀏覽器中,這種交易是不可驗證的。\n\n如有糾紛,你須向調解員或仲裁員提供下列資料:\n\n- Tx私鑰\n- 交易哈希\n- 接收者的公開地址\n\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。如果發生糾紛,ARQ 發送方負責向調解員或仲裁員提供 ARQ 轉賬的驗證。\n\n不需要交易 ID,只需要普通的公共地址。\n\n如果您對該流程不確定,請訪問 ArQmA Discord 頻道(https://discord.gg/s9BQpJT)或 ArQmA 論壇(https://labs.arqma.com)瞭解更多信息。 # suppress inspection "UnusedProperty" -account.altcoin.popup.xmr.msg=在 Haveno 上交易 XMR 需要你理解並滿足以下要求。\n\n如果您出售 XMR,當您在糾紛中您必須要提供下列信息給調解員或仲裁員:\n- 交易密鑰(Tx 公鑰,Tx密鑰,Tx私鑰)\n- 交易 ID(Tx ID 或 Tx 哈希)\n- 交易目標地址(接收者地址)\n\n在 wiki 中查看更多關於 Monero 錢包的信息:\nhttps://bisq.wiki/Trading_Monero#Proving_payments\n\n如未能提供要求的交易數據將在糾紛中直接判負\n\n還要注意,Haveno 現在提供了自動確認 XMR 交易的功能,以使交易更快,但是您需要在設置中啟用它。\n\n有關自動確認功能的更多信息,請參見 Wiki:\nhttps://bisq.wiki/Trading_Monero#Auto-confirming_trades +account.crypto.popup.xmr.msg=在 Haveno 上交易 XMR 需要你理解並滿足以下要求。\n\n如果您出售 XMR,當您在糾紛中您必須要提供下列信息給調解員或仲裁員:\n- 交易密鑰(Tx 公鑰,Tx密鑰,Tx私鑰)\n- 交易 ID(Tx ID 或 Tx 哈希)\n- 交易目標地址(接收者地址)\n\n在 wiki 中查看更多關於 Monero 錢包的信息:\nhttps://bisq.wiki/Trading_Monero#Proving_payments\n\n如未能提供要求的交易數據將在糾紛中直接判負\n\n還要注意,Haveno 現在提供了自動確認 XMR 交易的功能,以使交易更快,但是您需要在設置中啟用它。\n\n有關自動確認功能的更多信息,請參見 Wiki:\nhttps://bisq.wiki/Trading_Monero#Auto-confirming_trades # suppress inspection "UnusedProperty" -account.altcoin.popup.msr.msg=區塊鏈瀏覽器在 Haveno 上交易 XMR 需要您瞭解並滿足以下要求:\n\n發送MSR時,您需要使用官方的 Masari GUI 錢包、啟用store-tx-info標記的Masari CLI錢包(默認啟用)或Masari 網頁錢包(https://wallet.getmasari.org)。請確保您可以訪問的 tx 密鑰,因為如果發生糾紛這是需要的。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高級>證明/檢查頁面。\n\nMasari 網頁錢包(前往 帳户->交易歷史和查看您發送的交易細節)\n\n驗證可以在錢包中完成。\nmonero-wallet-cli:使用命令(check_tx_key)。\nmonero-wallet-gui:在高級>證明/檢查頁面\n驗證可以在區塊瀏覽器中完成\n打開區塊瀏覽器(https://explorer.getmasari.org),使用搜索欄查找您的事務哈希。\n一旦找到交易,滾動到底部的“證明發送”區域,並填寫所需的詳細信息。\n如有糾紛,你須向調解員或仲裁員提供下列資料:\n- Tx私鑰\n- 交易哈希\n- 接收者的公開地址\n\n不需要交易 ID,只需要正常的公共地址。\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。如果發生糾紛,XMR 發送方負責向調解員或仲裁員提供 XMR 轉賬的驗證。\n\n如果您對該流程不確定,請訪問官方的 Masari Discord(https://discord.gg/sMCwMqs)上尋求幫助。 +account.crypto.popup.msr.msg=區塊鏈瀏覽器在 Haveno 上交易 XMR 需要您瞭解並滿足以下要求:\n\n發送MSR時,您需要使用官方的 Masari GUI 錢包、啟用store-tx-info標記的Masari CLI錢包(默認啟用)或Masari 網頁錢包(https://wallet.getmasari.org)。請確保您可以訪問的 tx 密鑰,因為如果發生糾紛這是需要的。\nmonero-wallet-cli(使用get_Tx_key命令)\nmonero-wallet-gui:在高級>證明/檢查頁面。\n\nMasari 網頁錢包(前往 帳户->交易歷史和查看您發送的交易細節)\n\n驗證可以在錢包中完成。\nmonero-wallet-cli:使用命令(check_tx_key)。\nmonero-wallet-gui:在高級>證明/檢查頁面\n驗證可以在區塊瀏覽器中完成\n打開區塊瀏覽器(https://explorer.getmasari.org),使用搜索欄查找您的事務哈希。\n一旦找到交易,滾動到底部的“證明發送”區域,並填寫所需的詳細信息。\n如有糾紛,你須向調解員或仲裁員提供下列資料:\n- Tx私鑰\n- 交易哈希\n- 接收者的公開地址\n\n不需要交易 ID,只需要正常的公共地址。\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。如果發生糾紛,XMR 發送方負責向調解員或仲裁員提供 XMR 轉賬的驗證。\n\n如果您對該流程不確定,請訪問官方的 Masari Discord(https://discord.gg/sMCwMqs)上尋求幫助。 # suppress inspection "UnusedProperty" -account.altcoin.popup.blur.msg=在 Haveno 上交易 BLUR 需要你瞭解並滿足以下要求:\n\n要發送匿名信息你必須使用匿名網絡 CLI 或 GUI 錢包。\n如果您正在使用 CLI 錢包,在傳輸發送後將顯示交易哈希(tx ID)。您必須保存此信息。在發送傳輸之後,您必須立即使用“get_tx_key”命令來檢索交易私鑰。如果未能執行此步驟,以後可能無法檢索密鑰。\n\n如果您使用 Blur Network GUI 錢包,可以在“歷史”選項卡中方便地找到交易私鑰和交易 ID。發送後立即定位感興趣的交易。單擊包含交易的框的右下角的“?”符號。您必須保存此信息。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息:1.)交易ID,2.)交易私鑰,3.)收件人地址。調解或仲裁程序將使用 BLUR 事務查看器(https://blur.cash/#tx-viewer)驗證 BLUR 轉賬。\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有爭議的情況下,匿名發送方承擔100%的責任來向調解員或仲裁員核實交易。\n\n如果你不瞭解這些要求,不要在 Haveno 上交易。首先,在 Blur Network Discord 中尋求幫助(https://discord.gg/dMWaqVW)。 +account.crypto.popup.blur.msg=在 Haveno 上交易 BLUR 需要你瞭解並滿足以下要求:\n\n要發送匿名信息你必須使用匿名網絡 CLI 或 GUI 錢包。\n如果您正在使用 CLI 錢包,在傳輸發送後將顯示交易哈希(tx ID)。您必須保存此信息。在發送傳輸之後,您必須立即使用“get_tx_key”命令來檢索交易私鑰。如果未能執行此步驟,以後可能無法檢索密鑰。\n\n如果您使用 Blur Network GUI 錢包,可以在“歷史”選項卡中方便地找到交易私鑰和交易 ID。發送後立即定位感興趣的交易。單擊包含交易的框的右下角的“?”符號。您必須保存此信息。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息:1.)交易ID,2.)交易私鑰,3.)收件人地址。調解或仲裁程序將使用 BLUR 事務查看器(https://blur.cash/#tx-viewer)驗證 BLUR 轉賬。\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有爭議的情況下,匿名發送方承擔100%的責任來向調解員或仲裁員核實交易。\n\n如果你不瞭解這些要求,不要在 Haveno 上交易。首先,在 Blur Network Discord 中尋求幫助(https://discord.gg/dMWaqVW)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.solo.msg=在 Haveno 上交易 Solo 需要您瞭解並滿足以下要求:\n\n要發送 Solo,您必須使用 Solo CLI 網絡錢包版本 5.1.3 或更高。\n\n如果您使用的是CLI錢包,則在發送交易之後,將顯示交易ID。您必須保存此信息。在發送交易之後,您必須立即使用'get_tx_key'命令來檢索交易密鑰。如果未能執行此步驟,則以後可能無法檢索密鑰。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息:1)交易 ID,、2)交易密鑰,3)收件人的地址。調解員或仲裁員將使用 Solo 區塊資源管理器(https://explorer.Solo.org)搜索交易然後使用“發送證明”功能(https://explorer.minesolo.com/)\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有發生爭議的情況下,在向調解員或仲裁員核實交易時,QWC 的發送方承擔 100% 的責任。\n\n如果你不理解這些要求,不要在 Haveno 上交易。首先,在 Solo Discord 中尋求幫助(https://discord.minesolo.com/)。\n\n +account.crypto.popup.solo.msg=在 Haveno 上交易 Solo 需要您瞭解並滿足以下要求:\n\n要發送 Solo,您必須使用 Solo CLI 網絡錢包版本 5.1.3 或更高。\n\n如果您使用的是CLI錢包,則在發送交易之後,將顯示交易ID。您必須保存此信息。在發送交易之後,您必須立即使用'get_tx_key'命令來檢索交易密鑰。如果未能執行此步驟,則以後可能無法檢索密鑰。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息:1)交易 ID,、2)交易密鑰,3)收件人的地址。調解員或仲裁員將使用 Solo 區塊資源管理器(https://explorer.Solo.org)搜索交易然後使用“發送證明”功能(https://explorer.minesolo.com/)\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有發生爭議的情況下,在向調解員或仲裁員核實交易時,QWC 的發送方承擔 100% 的責任。\n\n如果你不理解這些要求,不要在 Haveno 上交易。首先,在 Solo Discord 中尋求幫助(https://discord.minesolo.com/)。\n\n # suppress inspection "UnusedProperty" -account.altcoin.popup.cash2.msg=在 Haveno 上交易 CASH2 需要您瞭解並滿足以下要求:\n\n要發送 CASH2,您必須使用 CASH2 錢包版本 3 或更高。\n\n在發送交易之後,將顯示交易ID。您必須保存此信息。在發送交易之後,必須立即在 simplewallet 中使用命令“getTxKey”來檢索交易密鑰。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息:1)交易 ID,2)交易密鑰,3)收件人的 CASH2 地址。調解員或仲裁員將使用 CASH2 區塊資源管理器(https://blocks.cash2.org)驗證 CASH2 轉賬。\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有發生爭議的情況下,在向調解員或仲裁員核實交易時,CASH2 的發送方承擔 100% 的責任。\n\n如果你不理解這些要求,不要在 Haveno 上交易。首先,在 Cash2 Discord 中尋求幫助(https://discord.gg/FGfXAYN)。 +account.crypto.popup.cash2.msg=在 Haveno 上交易 CASH2 需要您瞭解並滿足以下要求:\n\n要發送 CASH2,您必須使用 CASH2 錢包版本 3 或更高。\n\n在發送交易之後,將顯示交易ID。您必須保存此信息。在發送交易之後,必須立即在 simplewallet 中使用命令“getTxKey”來檢索交易密鑰。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息:1)交易 ID,2)交易密鑰,3)收件人的 CASH2 地址。調解員或仲裁員將使用 CASH2 區塊資源管理器(https://blocks.cash2.org)驗證 CASH2 轉賬。\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有發生爭議的情況下,在向調解員或仲裁員核實交易時,CASH2 的發送方承擔 100% 的責任。\n\n如果你不理解這些要求,不要在 Haveno 上交易。首先,在 Cash2 Discord 中尋求幫助(https://discord.gg/FGfXAYN)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.qwertycoin.msg=在 Haveno 上交易 Qwertycoin 需要您瞭解並滿足以下要求:\n\n要發送 Qwertycoin,您必須使用 Qwertycoin 錢包版本 5.1.3 或更高。\n\n在發送交易之後,將顯示交易ID。您必須保存此信息。在發送交易之後,必須立即在 simplewallet 中使用命令“get_Tx_Key”來檢索交易密鑰。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息::1)交易 ID,、2)交易密鑰,3)收件人的 QWC 地址。調解員或仲裁員將使用 QWC 區塊資源管理器(https://explorer.qwertycoin.org)驗證 QWC 轉賬。\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有發生爭議的情況下,在向調解員或仲裁員核實交易時,QWC 的發送方承擔 100% 的責任。\n\n如果你不理解這些要求,不要在 Haveno 上交易。首先,在 QWC Discord 中尋求幫助(https://discord.gg/rUkfnpC)。 +account.crypto.popup.qwertycoin.msg=在 Haveno 上交易 Qwertycoin 需要您瞭解並滿足以下要求:\n\n要發送 Qwertycoin,您必須使用 Qwertycoin 錢包版本 5.1.3 或更高。\n\n在發送交易之後,將顯示交易ID。您必須保存此信息。在發送交易之後,必須立即在 simplewallet 中使用命令“get_Tx_Key”來檢索交易密鑰。\n\n如果仲裁是必要的,您必須向調解員或仲裁員提供以下信息::1)交易 ID,、2)交易密鑰,3)收件人的 QWC 地址。調解員或仲裁員將使用 QWC 區塊資源管理器(https://explorer.qwertycoin.org)驗證 QWC 轉賬。\n\n未能向調解員或仲裁員提供必要的信息將導致敗訴。在所有發生爭議的情況下,在向調解員或仲裁員核實交易時,QWC 的發送方承擔 100% 的責任。\n\n如果你不理解這些要求,不要在 Haveno 上交易。首先,在 QWC Discord 中尋求幫助(https://discord.gg/rUkfnpC)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.drgl.msg=在 Haveno 上交易 Dragonglass 需要您瞭解並滿足以下要求:\n\n由於 Dragonglass 提供了隱私保護,所以交易不能在公共區塊鏈上驗證。如果需要,您可以通過使用您的 TXN-Private-Key 來證明您的付款。\nTXN-Private 密匙是自動生成的一次性密匙,用於只能從 DRGL 錢包中訪問的每個交易。\n要麼通過 DRGL-wallet GUI(內部交易細節對話框),要麼通過 Dragonglass CLI simplewallet(使用命令“get_tx_key”)。\n\n兩者都需要 DRGL 版本的“Oathkeeper”或更高版本。\n\n如有爭議,你必須向調解員或仲裁員提供下列資料:\n\n- txn-Privite-ket\n- 交易哈希 \n- 接收者的公開地址\n\n付款驗證可以使用上面的數據作為輸入(http://drgl.info/#check_txn)。\n\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。Dragonglass 發送方負責在發生爭議時向調解員或仲裁員提供 DRGL 轉賬的驗證。不需要使用付款 ID。\n\n如果您對這個過程的任何部分都不確定,請訪問(http://discord.drgl.info)上的 Dragonglass 尋求幫助。 +account.crypto.popup.drgl.msg=在 Haveno 上交易 Dragonglass 需要您瞭解並滿足以下要求:\n\n由於 Dragonglass 提供了隱私保護,所以交易不能在公共區塊鏈上驗證。如果需要,您可以通過使用您的 TXN-Private-Key 來證明您的付款。\nTXN-Private 密匙是自動生成的一次性密匙,用於只能從 DRGL 錢包中訪問的每個交易。\n要麼通過 DRGL-wallet GUI(內部交易細節對話框),要麼通過 Dragonglass CLI simplewallet(使用命令“get_tx_key”)。\n\n兩者都需要 DRGL 版本的“Oathkeeper”或更高版本。\n\n如有爭議,你必須向調解員或仲裁員提供下列資料:\n\n- txn-Privite-ket\n- 交易哈希 \n- 接收者的公開地址\n\n付款驗證可以使用上面的數據作為輸入(http://drgl.info/#check_txn)。\n\n如未能提供上述資料,或使用不兼容的錢包,將會導致糾紛敗訴。Dragonglass 發送方負責在發生爭議時向調解員或仲裁員提供 DRGL 轉賬的驗證。不需要使用付款 ID。\n\n如果您對這個過程的任何部分都不確定,請訪問(http://discord.drgl.info)上的 Dragonglass 尋求幫助。 # suppress inspection "UnusedProperty" -account.altcoin.popup.ZEC.msg=當使用 Zcash 時,您只能使用透明地址(以 t 開頭),而不能使用 z 地址(私有),因為調解員或仲裁員無法使用 z 地址驗證交易。 +account.crypto.popup.ZEC.msg=當使用 Zcash 時,您只能使用透明地址(以 t 開頭),而不能使用 z 地址(私有),因為調解員或仲裁員無法使用 z 地址驗證交易。 # suppress inspection "UnusedProperty" -account.altcoin.popup.XZC.msg=在使用 Zcoin 時,您只能使用透明的(可跟蹤的)地址,而不能使用不可跟蹤的地址,因為調解員或仲裁員無法在區塊資源管理器中使用不可跟蹤的地址驗證交易。 +account.crypto.popup.XZC.msg=在使用 Zcoin 時,您只能使用透明的(可跟蹤的)地址,而不能使用不可跟蹤的地址,因為調解員或仲裁員無法在區塊資源管理器中使用不可跟蹤的地址驗證交易。 # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN 需要發送方和接收方之間的交互過程來創建交易。請確保遵循 GRIN 項目網頁中的説明,以可靠地發送和接收 GRIN(接收方需要在線,或至少在一定時間內在線)。\n \nHaveno 只支持 Grinbox(Wallet713)錢包 URL 格式。\n\nGRIN 發送者需要提供他們已成功發送 GRIN 的證明。如果錢包不能提供證明,一個潛在的糾紛將被解決,有利於露齒微笑的接受者。請確保您使用了最新的支持交易證明的 Grinbox 軟件,並且您瞭解傳輸和接收 GRIN 的過程以及如何創建證明。\n請參閲 https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only,以獲得關於 Grinbox 證明工具的更多信息。\n +account.crypto.popup.grin.msg=GRIN 需要發送方和接收方之間的交互過程來創建交易。請確保遵循 GRIN 項目網頁中的説明,以可靠地發送和接收 GRIN(接收方需要在線,或至少在一定時間內在線)。\n \nHaveno 只支持 Grinbox(Wallet713)錢包 URL 格式。\n\nGRIN 發送者需要提供他們已成功發送 GRIN 的證明。如果錢包不能提供證明,一個潛在的糾紛將被解決,有利於露齒微笑的接受者。請確保您使用了最新的支持交易證明的 Grinbox 軟件,並且您瞭解傳輸和接收 GRIN 的過程以及如何創建證明。\n請參閲 https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only,以獲得關於 Grinbox 證明工具的更多信息。\n # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM 需要發送方和接收方之間的交互過程來創建交易。\n\n\n確保遵循 BEAM 項目網頁的指示可靠地發送和接收 BEAM(接收方需要在線,或者至少在一定的時間範圍內在線)。\n\nBEAM 發送者需要提供他們成功發送 BEAM 的證明。一定要使用錢包軟件,可以產生這樣的證明。如果錢包不能提供證據,一個潛在的糾紛將得到解決,有利於 BEAM 接收者。 +account.crypto.popup.beam.msg=BEAM 需要發送方和接收方之間的交互過程來創建交易。\n\n\n確保遵循 BEAM 項目網頁的指示可靠地發送和接收 BEAM(接收方需要在線,或者至少在一定的時間範圍內在線)。\n\nBEAM 發送者需要提供他們成功發送 BEAM 的證明。一定要使用錢包軟件,可以產生這樣的證明。如果錢包不能提供證據,一個潛在的糾紛將得到解決,有利於 BEAM 接收者。 # suppress inspection "UnusedProperty" -account.altcoin.popup.pars.msg=在 Haveno 上交易 ParsiCoin 需要您瞭解並滿足以下要求:\n\n要發送 PARS ,您必須使用官方 ParsiCoin Wallet 版本 3.0.0 或更高。\n\n您可以在 GUI 錢包(ParsiPay)的交易部分檢查您的交易哈希和交易鍵,您需要右鍵單擊“交易”,然後單擊“顯示詳情”。\n\n如果仲裁是 100% 必要的,您必須向調解員或仲裁員提供以下內容:1)交易哈希,2)交易密鑰,以及3)接收方的 PARS 地址。調解員或仲裁員將使用 ParsiCoin 區塊鏈瀏覽器 (http://explorer.parsicoin.net/#check_payment)驗證 PARS 傳輸。\n\n如果你不瞭解這些要求,不要在 Haveno 上交易。首先,在 ParsiCoin Discord 尋求幫助(https://discord.gg/c7qmFNh)。 +account.crypto.popup.pars.msg=在 Haveno 上交易 ParsiCoin 需要您瞭解並滿足以下要求:\n\n要發送 PARS ,您必須使用官方 ParsiCoin Wallet 版本 3.0.0 或更高。\n\n您可以在 GUI 錢包(ParsiPay)的交易部分檢查您的交易哈希和交易鍵,您需要右鍵單擊“交易”,然後單擊“顯示詳情”。\n\n如果仲裁是 100% 必要的,您必須向調解員或仲裁員提供以下內容:1)交易哈希,2)交易密鑰,以及3)接收方的 PARS 地址。調解員或仲裁員將使用 ParsiCoin 區塊鏈瀏覽器 (http://explorer.parsicoin.net/#check_payment)驗證 PARS 傳輸。\n\n如果你不瞭解這些要求,不要在 Haveno 上交易。首先,在 ParsiCoin Discord 尋求幫助(https://discord.gg/c7qmFNh)。 # suppress inspection "UnusedProperty" -account.altcoin.popup.blk-burnt.msg=要交易燒燬的貨幣,你需要知道以下幾點:\n\n燒燬的貨幣是不能花的。要在 Haveno 上交易它們,輸出腳本需要採用以下形式:OP_RETURN OP_PUSHDATA,後跟相關的數據字節,這些字節經過十六進制編碼後構成地址。例如,地址為666f6f(在UTF-8中的"foo")的燒燬的貨幣將有以下腳本:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\n要創建燒燬的貨幣,您可以使用“燒燬”RPC命令,它在一些錢包可用。\n\n對於可能的情況,可以查看 https://ibo.laboratorium.ee\n\n因為燒燬的貨幣是不能用的,所以不能重新出售。“出售”燒燬的貨幣意味着焚燒初始的貨幣(與目的地地址相關聯的數據)。\n\n如果發生爭議,BLK 賣方需要提供交易哈希。 +account.crypto.popup.blk-burnt.msg=要交易燒燬的貨幣,你需要知道以下幾點:\n\n燒燬的貨幣是不能花的。要在 Haveno 上交易它們,輸出腳本需要採用以下形式:OP_RETURN OP_PUSHDATA,後跟相關的數據字節,這些字節經過十六進制編碼後構成地址。例如,地址為666f6f(在UTF-8中的"foo")的燒燬的貨幣將有以下腳本:\n\nOP_RETURN OP_PUSHDATA 666f6f\n\n要創建燒燬的貨幣,您可以使用“燒燬”RPC命令,它在一些錢包可用。\n\n對於可能的情況,可以查看 https://ibo.laboratorium.ee\n\n因為燒燬的貨幣是不能用的,所以不能重新出售。“出售”燒燬的貨幣意味着焚燒初始的貨幣(與目的地地址相關聯的數據)。\n\n如果發生爭議,BLK 賣方需要提供交易哈希。 # suppress inspection "UnusedProperty" -account.altcoin.popup.liquidbitcoin.msg=在 Haveno 上交易 L-BTC 你必須理解下述條款:\n\n當你在 Haveno 上接受 L-BTC 交易時,你不能使用手機 Blockstream Green Wallet 或者是一個託管/交易錢包。你必須只接收 L-BTC 到 Liquid Elements Core 錢包,或另一個 L-BTC 錢包且允許你獲得匿名的 L-BTC 地址以及密鑰。\n\n在需要進行調解的情況下,或者如果發生了交易糾紛,您必須將接收 L-BTC地址的安全密鑰披露給 Haveno 調解員或退款代理,以便他們能夠在他們自己的 Elements Core 全節點上驗證您的匿名交易的細節。\n\n如果你不瞭解或瞭解這些要求,不要在 Haveno 上交易 L-BTC。 +account.crypto.popup.liquidbitcoin.msg=在 Haveno 上交易 L-BTC 你必須理解下述條款:\n\n當你在 Haveno 上接受 L-BTC 交易時,你不能使用手機 Blockstream Green Wallet 或者是一個託管/交易錢包。你必須只接收 L-BTC 到 Liquid Elements Core 錢包,或另一個 L-BTC 錢包且允許你獲得匿名的 L-BTC 地址以及密鑰。\n\n在需要進行調解的情況下,或者如果發生了交易糾紛,您必須將接收 L-BTC地址的安全密鑰披露給 Haveno 調解員或退款代理,以便他們能夠在他們自己的 Elements Core 全節點上驗證您的匿名交易的細節。\n\n如果你不瞭解或瞭解這些要求,不要在 Haveno 上交易 L-BTC。 -account.fiat.yourFiatAccounts=您的法定貨幣賬户 +account.traditional.yourTraditionalAccounts=您的法定貨幣賬户 account.backup.title=備份錢包 account.backup.location=備份路徑 @@ -1803,8 +1803,8 @@ formatter.makerTaker=賣家 {0} {1} / 買家 {2} {3} formatter.youAreAsMaker=You are: {1} {0} (maker) / Taker is: {3} {2} formatter.youAreAsTaker=You are: {1} {0} (taker) / Maker is: {3} {2} formatter.youAre=您是 {0} {1} ({2} {3}) -formatter.youAreCreatingAnOffer.fiat=您創建新的報價 {0} {1} -formatter.youAreCreatingAnOffer.altcoin=您正創建報價 {0} {1}({2} {3}) +formatter.youAreCreatingAnOffer.traditional=您創建新的報價 {0} {1} +formatter.youAreCreatingAnOffer.crypto=您正創建報價 {0} {1}({2} {3}) formatter.asMaker={0} {1} 是賣家 formatter.asTaker={0} {1} 是買家 @@ -1896,11 +1896,11 @@ payment.email=電子郵箱 payment.country=國家或地區 payment.extras=額外要求 payment.email.mobile=電子郵箱或手機號碼 -payment.altcoin.address=數字貨幣地址 -payment.altcoin.tradeInstantCheckbox=使用數字貨幣進行即時交易( 1 小時內) -payment.altcoin.tradeInstant.popup=對於即時交易,要求交易雙方都在線,能夠在不到1小時內完成交易。\n \n如果你已經有未完成的報價以及你不能即時完成,請在資料頁面禁用這些報價。 -payment.altcoin=數字貨幣 -payment.select.altcoin=選擇或搜索數字貨幣 +payment.crypto.address=數字貨幣地址 +payment.crypto.tradeInstantCheckbox=使用數字貨幣進行即時交易( 1 小時內) +payment.crypto.tradeInstant.popup=對於即時交易,要求交易雙方都在線,能夠在不到1小時內完成交易。\n \n如果你已經有未完成的報價以及你不能即時完成,請在資料頁面禁用這些報價。 +payment.crypto=數字貨幣 +payment.select.crypto=選擇或搜索數字貨幣 payment.secret=密保問題 payment.answer=答案 payment.wallet=錢包 ID @@ -1926,8 +1926,8 @@ payment.national.account.id.AR=CBU 號碼 shared.accountSigningState=賬户驗證狀態 #new -payment.altcoin.address.dyn={0} 地址 -payment.altcoin.receiver.address=接收者的數字貨幣地址 +payment.crypto.address.dyn={0} 地址 +payment.crypto.receiver.address=接收者的數字貨幣地址 payment.accountNr=賬號: payment.emailOrMobile=電子郵箱或手機號碼 payment.useCustomAccountName=使用自定義名稱 @@ -1973,7 +1973,7 @@ payment.amazonGiftCard.upgrade.headLine=Update Amazon Gift Card account payment.usPostalMoneyOrder.info=在 Haveno 上交易 US Postal Money Orders (USPMO)您必須理解下述條款:\n\n- BTC 買方必須在發送方和收款人字段中都寫上 BTC 賣方的名稱,並在發送之前對 USPMO 和信封進行高分辨率照片拍照,並帶有跟蹤證明。\n- BTC 買方必須將 USPMO 連同交貨確認書一起發送給 BTC 賣方。\n\n如果需要調解,或有交易糾紛,您將需要將照片連同 USPMO 編號,郵局編號和交易金額一起發送給 Haveno 調解員或退款代理,以便他們進行驗證美國郵局網站上的詳細信息。\n\n如未能提供要求的交易數據將在糾紛中直接判負\n\n在所有爭議案件中,USPMO 發送方在向調解人或仲裁員提供證據/證明時承擔 100% 的責任。\n\n如果您不理解這些要求,請不要在 Haveno 上使用 USPMO 進行交易。 -payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. +payment.cashByMail.info=Trading using cash-by-mail (CBM) on Haveno requires that you understand the following:\n\n● BTC buyer should package cash in a tamper-evident cash bag.\n● BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.\n● BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.\n● BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.\n● Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.\n● Offer taker agrees to the offer maker's terms and conditions by taking the offer.\n\nCBM trades put the onus to act honestly squarely on both peers.\n\n● CBM trades have less verifiable actions than other traditional trades. This makes handling dispute much harder.\n● Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.\n● Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.\n● If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Haveno 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.\n● If a trader rejects a mediation suggestion and opens arbitration, it could lead to a loss of both the trading and the deposit funds.\n● Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.\n● Reimbursement requests any lost funds resulting from Cash By Mail trades to the Haveno DAO will NOT be considered.\n\nTo be sure you fully understand the requirements of cash-by-mail trades, please see: [HYPERLINK:https://bisq.wiki/Cash_by_Mail]\n\nIf you do not understand these requirements, do not trade using CBM on Haveno. payment.cashByMail.contact=聯繫方式 payment.cashByMail.contact.prompt=Name or nym envelope should be addressed to @@ -2080,7 +2080,7 @@ TRANSFERWISE=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD=亞馬遜電子禮品卡 # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT=Altcoins Instant +BLOCK_CHAINS_INSTANT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2132,7 +2132,7 @@ TRANSFERWISE_SHORT=TransferWise # suppress inspection "UnusedProperty" AMAZON_GIFT_CARD_SHORT=亞馬遜電子禮品卡 # suppress inspection "UnusedProperty" -BLOCK_CHAINS_INSTANT_SHORT=Altcoins Instant +BLOCK_CHAINS_INSTANT_SHORT=Cryptos Instant # Deprecated: Cannot be deleted as it would break old trade history entries # suppress inspection "UnusedProperty" @@ -2152,8 +2152,8 @@ validation.NaN=輸入的不是有效數字。 validation.notAnInteger=輸入的不是整數。 validation.zero=不允許輸入0。 validation.negative=不允許輸入負值。 -validation.fiat.tooSmall=不允許輸入比最小可能值還小的數值。 -validation.fiat.tooLarge=不允許輸入比最大可能值還大的數值。 +validation.traditional.tooSmall=不允許輸入比最小可能值還小的數值。 +validation.traditional.tooLarge=不允許輸入比最大可能值還大的數值。 validation.xmr.fraction=此充值將會產生小於 1 聰的比特幣數量。 validation.xmr.tooLarge=不允許充值大於{0} validation.xmr.tooSmall=不允許充值小於{0} @@ -2174,15 +2174,15 @@ validation.nationalAccountId={0} 必須由{1}個數字組成。 validation.invalidInput=輸入無效:{0} validation.accountNrFormat=帳號必須是格式:{0} # suppress inspection "UnusedProperty" -validation.altcoin.wrongStructure=地址驗證失敗,因為它與 {0} 地址的結構不匹配。 +validation.crypto.wrongStructure=地址驗證失敗,因為它與 {0} 地址的結構不匹配。 # suppress inspection "UnusedProperty" -validation.altcoin.ltz.zAddressesNotSupported=LTZ 地址需要以 L 開頭。 不支持以 Z 開頭的地址。 +validation.crypto.ltz.zAddressesNotSupported=LTZ 地址需要以 L 開頭。 不支持以 Z 開頭的地址。 # suppress inspection "UnusedProperty" -validation.altcoin.zAddressesNotSupported=LTZ 地址需要以 L 開頭。 不支持以 Z 開頭的地址。 +validation.crypto.zAddressesNotSupported=LTZ 地址需要以 L 開頭。 不支持以 Z 開頭的地址。 # suppress inspection "UnusedProperty" -validation.altcoin.invalidAddress=這個地址不是有效的{0}地址!{1} +validation.crypto.invalidAddress=這個地址不是有效的{0}地址!{1} # suppress inspection "UnusedProperty" -validation.altcoin.liquidBitcoin.invalidAddress=不支持本地 segwit 地址(以“lq”開頭的地址)。 +validation.crypto.liquidBitcoin.invalidAddress=不支持本地 segwit 地址(以“lq”開頭的地址)。 validation.bic.invalidLength=輸入長度既不是 8 也不是 11 validation.bic.letters=必須輸入銀行和國家或地區代碼 validation.bic.invalidLocationCode=BIC 包含無效的地址代碼 diff --git a/core/src/test/java/haveno/core/payment/validation/AltCoinAddressValidatorTest.java b/core/src/test/java/haveno/core/payment/validation/CryptoAddressValidatorTest.java similarity index 93% rename from core/src/test/java/haveno/core/payment/validation/AltCoinAddressValidatorTest.java rename to core/src/test/java/haveno/core/payment/validation/CryptoAddressValidatorTest.java index 867bf420..97ee8757 100644 --- a/core/src/test/java/haveno/core/payment/validation/AltCoinAddressValidatorTest.java +++ b/core/src/test/java/haveno/core/payment/validation/CryptoAddressValidatorTest.java @@ -27,11 +27,11 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -public class AltCoinAddressValidatorTest { +public class CryptoAddressValidatorTest { @Test public void test() { - AltCoinAddressValidator validator = new AltCoinAddressValidator(new AssetRegistry()); + CryptoAddressValidator validator = new CryptoAddressValidator(new AssetRegistry()); BaseCurrencyNetwork baseCurrencyNetwork = Config.baseCurrencyNetwork(); String currencyCode = baseCurrencyNetwork.getCurrencyCode(); diff --git a/core/src/test/java/haveno/core/user/PreferencesTest.java b/core/src/test/java/haveno/core/user/PreferencesTest.java index e1d4a851..5648b1d0 100644 --- a/core/src/test/java/haveno/core/user/PreferencesTest.java +++ b/core/src/test/java/haveno/core/user/PreferencesTest.java @@ -22,7 +22,7 @@ import haveno.common.persistence.PersistenceManager; import haveno.core.locale.CountryUtil; import haveno.core.locale.CryptoCurrency; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.GlobalSettings; import haveno.core.locale.Res; import haveno.core.xmr.nodes.LocalBitcoinNode; @@ -63,36 +63,36 @@ public class PreferencesTest { @Test public void testAddFiatCurrency() { - final FiatCurrency usd = new FiatCurrency("USD"); - final FiatCurrency usd2 = new FiatCurrency("USD"); - final ObservableList fiatCurrencies = preferences.getFiatCurrenciesAsObservable(); + final TraditionalCurrency usd = new TraditionalCurrency("USD"); + final TraditionalCurrency usd2 = new TraditionalCurrency("USD"); + final ObservableList traditionalCurrencies = preferences.getTraditionalCurrenciesAsObservable(); - preferences.addFiatCurrency(usd); + preferences.addTraditionalCurrency(usd); - assertEquals(1, fiatCurrencies.size()); + assertEquals(1, traditionalCurrencies.size()); - preferences.addFiatCurrency(usd2); + preferences.addTraditionalCurrency(usd2); - assertEquals(1, fiatCurrencies.size()); + assertEquals(1, traditionalCurrencies.size()); } @Test public void testGetUniqueListOfFiatCurrencies() { PreferencesPayload payload = mock(PreferencesPayload.class); - List fiatCurrencies = CurrencyUtil.getMainFiatCurrencies(); - final FiatCurrency usd = new FiatCurrency("USD"); - fiatCurrencies.add(usd); + List traditionalCurrencies = CurrencyUtil.getMainTraditionalCurrencies(); + final TraditionalCurrency usd = new TraditionalCurrency("USD"); + traditionalCurrencies.add(usd); when(persistenceManager.getPersisted(anyString())).thenReturn(payload); when(payload.getUserLanguage()).thenReturn("en"); when(payload.getUserCountry()).thenReturn(CountryUtil.getDefaultCountry()); when(payload.getPreferredTradeCurrency()).thenReturn(usd); - when(payload.getFiatCurrencies()).thenReturn(fiatCurrencies); + when(payload.getTraditionalCurrencies()).thenReturn(traditionalCurrencies); preferences.readPersisted(() -> { - assertEquals(7, preferences.getFiatCurrenciesAsObservable().size()); - assertTrue(preferences.getFiatCurrenciesAsObservable().contains(usd)); + assertEquals(7, preferences.getTraditionalCurrenciesAsObservable().size()); + assertTrue(preferences.getTraditionalCurrenciesAsObservable().contains(usd)); }); } @@ -107,7 +107,7 @@ public class PreferencesTest { when(persistenceManager.getPersisted(anyString())).thenReturn(payload); when(payload.getUserLanguage()).thenReturn("en"); when(payload.getUserCountry()).thenReturn(CountryUtil.getDefaultCountry()); - when(payload.getPreferredTradeCurrency()).thenReturn(new FiatCurrency("USD")); + when(payload.getPreferredTradeCurrency()).thenReturn(new TraditionalCurrency("USD")); when(payload.getCryptoCurrencies()).thenReturn(cryptoCurrencies); preferences.readPersisted(() -> { @@ -119,9 +119,9 @@ public class PreferencesTest { public void testUpdateOfPersistedFiatCurrenciesAfterLocaleChanged() { PreferencesPayload payload = mock(PreferencesPayload.class); - List fiatCurrencies = new ArrayList<>(); - final FiatCurrency usd = new FiatCurrency(Currency.getInstance("USD"), new Locale("de", "AT")); - fiatCurrencies.add(usd); + List traditionalCurrencies = new ArrayList<>(); + final TraditionalCurrency usd = new TraditionalCurrency(Currency.getInstance("USD"), new Locale("de", "AT")); + traditionalCurrencies.add(usd); assertEquals("US-Dollar (USD)", usd.getNameAndCode()); @@ -129,10 +129,10 @@ public class PreferencesTest { when(payload.getUserLanguage()).thenReturn("en"); when(payload.getUserCountry()).thenReturn(CountryUtil.getDefaultCountry()); when(payload.getPreferredTradeCurrency()).thenReturn(usd); - when(payload.getFiatCurrencies()).thenReturn(fiatCurrencies); + when(payload.getTraditionalCurrencies()).thenReturn(traditionalCurrencies); preferences.readPersisted(() -> { - assertEquals("US Dollar (USD)", preferences.getFiatCurrenciesAsObservable().get(0).getNameAndCode()); + assertEquals("US Dollar (USD)", preferences.getTraditionalCurrenciesAsObservable().get(0).getNameAndCode()); }); } } diff --git a/core/src/test/java/haveno/core/util/FormattingUtilsTest.java b/core/src/test/java/haveno/core/util/FormattingUtilsTest.java index 6eb3c49b..0536a27b 100644 --- a/core/src/test/java/haveno/core/util/FormattingUtilsTest.java +++ b/core/src/test/java/haveno/core/util/FormattingUtilsTest.java @@ -5,7 +5,8 @@ import com.natpryce.makeiteasy.Property; import haveno.core.locale.GlobalSettings; import haveno.core.locale.Res; import haveno.core.monetary.Price; -import org.bitcoinj.utils.Fiat; +import haveno.core.monetary.TraditionalMoney; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -22,7 +23,7 @@ public class FormattingUtilsTest { private static final Property currencyCode = new Property<>(); private static final Property priceString = new Property<>(); private static final Maker usdPrice = a(lookup -> - new Price(Fiat.parseFiat(lookup.valueOf(currencyCode, "USD"), lookup.valueOf(priceString, "100")))); + new Price(TraditionalMoney.parseTraditionalMoney(lookup.valueOf(currencyCode, "USD"), lookup.valueOf(priceString, "100")))); @BeforeEach public void setUp() { diff --git a/desktop/src/main/java/haveno/desktop/components/PeerInfoIconTrading.java b/desktop/src/main/java/haveno/desktop/components/PeerInfoIconTrading.java index dc5ffb81..2791e637 100644 --- a/desktop/src/main/java/haveno/desktop/components/PeerInfoIconTrading.java +++ b/desktop/src/main/java/haveno/desktop/components/PeerInfoIconTrading.java @@ -42,7 +42,7 @@ import static haveno.desktop.util.Colors.AVATAR_RED; @Slf4j public class PeerInfoIconTrading extends PeerInfoIcon { private final AccountAgeWitnessService accountAgeWitnessService; - private boolean isFiatCurrency; + private boolean isTraditionalCurrency; public PeerInfoIconTrading(NodeAddress nodeAddress, String role, @@ -99,7 +99,7 @@ public class PeerInfoIconTrading extends PeerInfoIcon { offer = trade.getOffer(); } checkNotNull(offer, "Offer must not be null"); - isFiatCurrency = offer.isFiatOffer(); + isTraditionalCurrency = offer.isTraditionalOffer(); initialize(role, offer, trade, privateNotificationManager, useDevPrivilegeKeys); } @@ -120,19 +120,19 @@ public class PeerInfoIconTrading extends PeerInfoIcon { createAvatar(getRingColor(offer, trade, accountAge, signAge)); addMouseListener(numTrades, privateNotificationManager, trade, offer, preferences, useDevPrivilegeKeys, - isFiatCurrency, accountAge, signAge, peersAccount.third, peersAccount.fourth, peersAccount.fifth); + isTraditionalCurrency, accountAge, signAge, peersAccount.third, peersAccount.fourth, peersAccount.fifth); } @Override protected String getAccountAgeTooltip(Long accountAge) { - return isFiatCurrency ? super.getAccountAgeTooltip(accountAge) : ""; + return isTraditionalCurrency ? super.getAccountAgeTooltip(accountAge) : ""; } protected Color getRingColor(Offer offer, Trade Trade, Long accountAge, Long signAge) { // outer circle - // for altcoins we always display green + // for cryptos we always display green Color ringColor = AVATAR_GREEN; - if (isFiatCurrency) { + if (isTraditionalCurrency) { switch (accountAgeWitnessService.getPeersAccountAgeCategory(hasChargebackRisk(Trade, offer) ? signAge : accountAge)) { case TWO_MONTHS_OR_MORE: ringColor = AVATAR_GREEN; diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/AssetsForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/AssetsForm.java index 6b0e7ed3..5038afd3 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/AssetsForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/AssetsForm.java @@ -29,7 +29,7 @@ import haveno.core.payment.InstantCryptoCurrencyAccount; import haveno.core.payment.PaymentAccount; import haveno.core.payment.payload.AssetAccountPayload; import haveno.core.payment.payload.PaymentAccountPayload; -import haveno.core.payment.validation.AltCoinAddressValidator; +import haveno.core.payment.validation.CryptoAddressValidator; import haveno.core.util.coin.CoinFormatter; import haveno.core.util.validation.InputValidator; import haveno.desktop.components.AutocompleteComboBox; @@ -54,7 +54,7 @@ import static haveno.desktop.util.GUIUtil.getComboBoxButtonCell; public class AssetsForm extends PaymentMethodForm { public static final String INSTANT_TRADE_NEWS = "instantTradeNews0.9.5"; private final AssetAccount assetAccount; - private final AltCoinAddressValidator altCoinAddressValidator; + private final CryptoAddressValidator altCoinAddressValidator; private final FilterManager filterManager; private InputTextField addressInputTextField; @@ -72,7 +72,7 @@ public class AssetsForm extends PaymentMethodForm { public AssetsForm(PaymentAccount paymentAccount, AccountAgeWitnessService accountAgeWitnessService, - AltCoinAddressValidator altCoinAddressValidator, + CryptoAddressValidator altCoinAddressValidator, InputValidator inputValidator, GridPane gridPane, int gridRow, @@ -94,12 +94,12 @@ public class AssetsForm extends PaymentMethodForm { currencyComboBox.setPrefWidth(250); tradeInstantCheckBox = addLabelCheckBox(gridPane, ++gridRow, - Res.get("payment.altcoin.tradeInstantCheckbox"), 10); + Res.get("payment.crypto.tradeInstantCheckbox"), 10); tradeInstantCheckBox.setSelected(tradeInstant); tradeInstantCheckBox.setOnAction(e -> { tradeInstant = tradeInstantCheckBox.isSelected(); if (tradeInstant) - new Popup().information(Res.get("payment.altcoin.tradeInstant.popup")).show(); + new Popup().information(Res.get("payment.crypto.tradeInstant.popup")).show(); paymentLimitationsTextField.setText(getLimitationsText()); }); @@ -109,7 +109,7 @@ public class AssetsForm extends PaymentMethodForm { gridPane.getChildren().add(tradeInstantCheckBox); addressInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, - Res.get("payment.altcoin.address")); + Res.get("payment.crypto.address")); addressInputTextField.setValidator(altCoinAddressValidator); addressInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { @@ -148,7 +148,7 @@ public class AssetsForm extends PaymentMethodForm { @Override public void updateFromInputs() { if (addressInputTextField != null && assetAccount.getSingleTradeCurrency() != null) - addressInputTextField.setPromptText(Res.get("payment.altcoin.address.dyn", + addressInputTextField.setPromptText(Res.get("payment.crypto.address.dyn", assetAccount.getSingleTradeCurrency().getName())); super.updateFromInputs(); } @@ -167,12 +167,12 @@ public class AssetsForm extends PaymentMethodForm { addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"), Res.get(assetAccount.getPaymentMethod().getId())); Tuple3 tuple2 = addCompactTopLabelTextField(gridPane, ++gridRow, - Res.get("payment.altcoin.address"), assetAccount.getAddress()); + Res.get("payment.crypto.address"), assetAccount.getAddress()); TextField field = tuple2.second; field.setMouseTransparent(false); final TradeCurrency singleTradeCurrency = assetAccount.getSingleTradeCurrency(); final String nameAndCode = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : ""; - addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.altcoin"), + addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.crypto"), nameAndCode); addLimitations(true); } @@ -190,10 +190,10 @@ public class AssetsForm extends PaymentMethodForm { @Override protected void addTradeCurrencyComboBox() { - currencyComboBox = FormBuilder.addLabelAutocompleteComboBox(gridPane, ++gridRow, Res.get("payment.altcoin"), + currencyComboBox = FormBuilder.addLabelAutocompleteComboBox(gridPane, ++gridRow, Res.get("payment.crypto"), Layout.FIRST_ROW_AND_GROUP_DISTANCE).second; - currencyComboBox.setPromptText(Res.get("payment.select.altcoin")); - currencyComboBox.setButtonCell(getComboBoxButtonCell(Res.get("payment.select.altcoin"), currencyComboBox)); + currencyComboBox.setPromptText(Res.get("payment.select.crypto")); + currencyComboBox.setButtonCell(getComboBoxButtonCell(Res.get("payment.select.crypto"), currencyComboBox)); currencyComboBox.getEditor().focusedProperty().addListener(observable -> currencyComboBox.setPromptText("")); @@ -224,7 +224,7 @@ public class AssetsForm extends PaymentMethodForm { updateFromInputs(); if (tradeCurrency != null && tradeCurrency.getCode().equals("BSQ")) { - new Popup().information(Res.get("payment.select.altcoin.bsq.warning")).show(); + new Popup().information(Res.get("payment.select.crypto.bsq.warning")).show(); } }); } diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/BankForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/BankForm.java index 21441dc0..1ba7e5d0 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/BankForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/BankForm.java @@ -24,7 +24,7 @@ import haveno.core.locale.BankUtil; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; import haveno.core.payment.CountryBasedPaymentAccount; @@ -363,7 +363,7 @@ abstract class BankForm extends GeneralBankForm { } private void onTradeCurrencySelected(TradeCurrency tradeCurrency) { - FiatCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); + TraditionalCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); applyTradeCurrency(tradeCurrency, defaultCurrency); } diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashByMailForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashByMailForm.java index 1564fe8e..4df92672 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashByMailForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashByMailForm.java @@ -76,7 +76,7 @@ public class CashByMailForm extends PaymentMethodForm { gridRowFrom = gridRow + 1; addTradeCurrencyComboBox(); - currencyComboBox.setItems(FXCollections.observableArrayList(CurrencyUtil.getAllSortedFiatCurrencies())); + currencyComboBox.setItems(FXCollections.observableArrayList(CurrencyUtil.getAllSortedTraditionalCurrencies())); InputTextField contactField = addInputTextField(gridPane, ++gridRow, Res.get("payment.cashByMail.contact")); diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashDepositForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashDepositForm.java index 060bb105..f708d3ae 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashDepositForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/CashDepositForm.java @@ -24,7 +24,7 @@ import haveno.core.locale.BankUtil; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; import haveno.core.payment.CountryBasedPaymentAccount; @@ -318,7 +318,7 @@ public class CashDepositForm extends GeneralBankForm { } private void onTradeCurrencySelected(TradeCurrency tradeCurrency) { - FiatCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); + TraditionalCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); applyTradeCurrency(tradeCurrency, defaultCurrency); } diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/F2FForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/F2FForm.java index 4a3d744b..3ec594ea 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/F2FForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/F2FForm.java @@ -23,7 +23,7 @@ import haveno.core.account.witness.AccountAgeWitnessService; import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; import haveno.core.offer.Offer; @@ -134,7 +134,7 @@ public class F2FForm extends PaymentMethodForm { } private void onTradeCurrencySelected(TradeCurrency tradeCurrency) { - FiatCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); + TraditionalCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); applyTradeCurrency(tradeCurrency, defaultCurrency); } diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/PaymentMethodForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/PaymentMethodForm.java index bf46b2a9..7ba3d20c 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/PaymentMethodForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/PaymentMethodForm.java @@ -23,7 +23,7 @@ import haveno.common.util.Utilities; import haveno.core.account.witness.AccountAgeWitness; import haveno.core.account.witness.AccountAgeWitnessService; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; import haveno.core.offer.Offer; @@ -99,7 +99,7 @@ public abstract class PaymentMethodForm { protected void addTradeCurrencyComboBox() { currencyComboBox = FormBuilder.addComboBox(gridPane, ++gridRow, Res.get("shared.currency")); currencyComboBox.setPromptText(Res.get("list.currency.select")); - currencyComboBox.setItems(FXCollections.observableArrayList(CurrencyUtil.getMainFiatCurrencies())); + currencyComboBox.setItems(FXCollections.observableArrayList(CurrencyUtil.getMainTraditionalCurrencies())); currencyComboBox.setConverter(new StringConverter<>() { @Override public String toString(TradeCurrency tradeCurrency) { @@ -265,7 +265,7 @@ public abstract class PaymentMethodForm { } } - void applyTradeCurrency(TradeCurrency tradeCurrency, FiatCurrency defaultCurrency) { + void applyTradeCurrency(TradeCurrency tradeCurrency, TraditionalCurrency defaultCurrency) { if (!defaultCurrency.equals(tradeCurrency)) { new Popup().warning(Res.get("payment.foreign.currency")) .actionButtonText(Res.get("shared.yes")) diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/PerfectMoneyForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/PerfectMoneyForm.java index f1d5ef78..a1f8a163 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/PerfectMoneyForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/PerfectMoneyForm.java @@ -18,7 +18,7 @@ package haveno.desktop.components.paymentmethods; import haveno.core.account.witness.AccountAgeWitnessService; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.payment.PaymentAccount; import haveno.core.payment.PerfectMoneyAccount; @@ -50,7 +50,7 @@ public class PerfectMoneyForm extends GeneralAccountNumberForm { @Override public void addTradeCurrency() { addTradeCurrencyComboBox(); - currencyComboBox.setItems(FXCollections.observableArrayList(new FiatCurrency("USD"), new FiatCurrency("EUR"))); + currencyComboBox.setItems(FXCollections.observableArrayList(new TraditionalCurrency("USD"), new TraditionalCurrency("EUR"))); } @Override diff --git a/desktop/src/main/java/haveno/desktop/components/paymentmethods/WesternUnionForm.java b/desktop/src/main/java/haveno/desktop/components/paymentmethods/WesternUnionForm.java index e0523b75..2e10d2a1 100644 --- a/desktop/src/main/java/haveno/desktop/components/paymentmethods/WesternUnionForm.java +++ b/desktop/src/main/java/haveno/desktop/components/paymentmethods/WesternUnionForm.java @@ -22,7 +22,7 @@ import haveno.core.account.witness.AccountAgeWitnessService; import haveno.core.locale.BankUtil; import haveno.core.locale.Country; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; import haveno.core.payment.CountryBasedPaymentAccount; @@ -100,7 +100,7 @@ public class WesternUnionForm extends PaymentMethodForm { } private void onTradeCurrencySelected(TradeCurrency tradeCurrency) { - FiatCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); + TraditionalCurrency defaultCurrency = CurrencyUtil.getCurrencyByCountryCode(selectedCountry.code); applyTradeCurrency(tradeCurrency, defaultCurrency); } diff --git a/desktop/src/main/java/haveno/desktop/main/MainViewModel.java b/desktop/src/main/java/haveno/desktop/main/MainViewModel.java index 78525f60..f882d449 100644 --- a/desktop/src/main/java/haveno/desktop/main/MainViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/MainViewModel.java @@ -273,8 +273,8 @@ public class MainViewModel implements ViewModel, HavenoSetup.HavenoSetupListener UserThread.execute(() -> getShowAppScreen().set(true)); - // We only show the popup if the user has already set up any fiat account. For new users it is not a rule - // change and for altcoins its not relevant. + // We only show the popup if the user has already set up any traditional account. For new users it is not a rule + // change and for crypto its not relevant. String key = "newFeatureDuplicateOffer"; if (DontShowAgainLookup.showAgain(key)) { UserThread.runAfter(() -> { diff --git a/desktop/src/main/java/haveno/desktop/main/account/AccountView.fxml b/desktop/src/main/java/haveno/desktop/main/account/AccountView.fxml index 34f628b2..2b137d65 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/AccountView.fxml +++ b/desktop/src/main/java/haveno/desktop/main/account/AccountView.fxml @@ -26,13 +26,13 @@ AnchorPane.bottomAnchor="0" AnchorPane.leftAnchor="0" AnchorPane.rightAnchor="0" AnchorPane.topAnchor="0" xmlns:fx="http://javafx.com/fxml"> - + - + { @FXML - Tab fiatAccountsTab, altcoinAccountsTab, notificationTab, + Tab traditionalAccountsTab, cryptoAccountsTab, notificationTab, passwordTab, seedWordsTab, walletInfoTab, backupTab; private Navigation.Listener navigationListener; @@ -88,8 +88,8 @@ public class AccountView extends ActivatableView { root.setTabClosingPolicy(TabPane.TabClosingPolicy.ALL_TABS); - fiatAccountsTab.setText(Res.get("account.menu.paymentAccount").toUpperCase()); - altcoinAccountsTab.setText(Res.get("account.menu.altCoinsAccountView").toUpperCase()); + traditionalAccountsTab.setText(Res.get("account.menu.paymentAccount").toUpperCase()); + cryptoAccountsTab.setText(Res.get("account.menu.altCoinsAccountView").toUpperCase()); notificationTab.setText(Res.get("account.menu.notifications").toUpperCase()); passwordTab.setText(Res.get("account.menu.password").toUpperCase()); seedWordsTab.setText(Res.get("account.menu.seedWords").toUpperCase()); @@ -99,13 +99,13 @@ public class AccountView extends ActivatableView { navigationListener = (viewPath, data) -> { if (viewPath.size() == 3 && viewPath.indexOf(AccountView.class) == 1) { if (arbitratorRegistrationTab == null && viewPath.get(2).equals(ArbitratorRegistrationView.class)) { - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } else if (mediatorRegistrationTab == null && viewPath.get(2).equals(MediatorRegistrationView.class)) { - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } else if (refundAgentRegistrationTab == null && viewPath.get(2).equals(RefundAgentRegistrationView.class)) { - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } else if (signingTab == null && viewPath.get(2).equals(SigningView.class)) { - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } else { loadView(viewPath.tip()); } @@ -151,10 +151,10 @@ public class AccountView extends ActivatableView { navigation.navigateTo(MainView.class, AccountView.class, RefundAgentRegistrationView.class); } else if (signingTab != null && !selectedTab.equals(signingTab)) { navigation.navigateTo(MainView.class, AccountView.class, SigningView.class); - } else if (newValue == fiatAccountsTab && selectedTab != fiatAccountsTab) { - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); - } else if (newValue == altcoinAccountsTab && selectedTab != altcoinAccountsTab) { - navigation.navigateTo(MainView.class, AccountView.class, AltCoinAccountsView.class); + } else if (newValue == traditionalAccountsTab && selectedTab != traditionalAccountsTab) { + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); + } else if (newValue == cryptoAccountsTab && selectedTab != cryptoAccountsTab) { + navigation.navigateTo(MainView.class, AccountView.class, CryptoAccountsView.class); } else if (newValue == notificationTab && selectedTab != notificationTab) { navigation.navigateTo(MainView.class, AccountView.class, MobileNotificationsView.class); } else if (newValue == passwordTab && selectedTab != passwordTab) { @@ -202,22 +202,22 @@ public class AccountView extends ActivatableView { private void onArbitratorRegistrationTabRemoved() { arbitratorRegistrationTab = null; - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } private void onMediatorRegistrationTabRemoved() { mediatorRegistrationTab = null; - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } private void onRefundAgentRegistrationTabRemoved() { refundAgentRegistrationTab = null; - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } private void onSigningTabRemoved() { signingTab = null; - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } @Override @@ -243,10 +243,10 @@ public class AccountView extends ActivatableView { navigation.navigateTo(MainView.class, AccountView.class, RefundAgentRegistrationView.class); else if (signingTab != null) navigation.navigateTo(MainView.class, AccountView.class, SigningView.class); - else if (root.getSelectionModel().getSelectedItem() == fiatAccountsTab) - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); - else if (root.getSelectionModel().getSelectedItem() == altcoinAccountsTab) - navigation.navigateTo(MainView.class, AccountView.class, AltCoinAccountsView.class); + else if (root.getSelectionModel().getSelectedItem() == traditionalAccountsTab) + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); + else if (root.getSelectionModel().getSelectedItem() == cryptoAccountsTab) + navigation.navigateTo(MainView.class, AccountView.class, CryptoAccountsView.class); else if (root.getSelectionModel().getSelectedItem() == notificationTab) navigation.navigateTo(MainView.class, AccountView.class, MobileNotificationsView.class); else if (root.getSelectionModel().getSelectedItem() == passwordTab) @@ -258,7 +258,7 @@ public class AccountView extends ActivatableView { else if (root.getSelectionModel().getSelectedItem() == backupTab) navigation.navigateTo(MainView.class, AccountView.class, BackupView.class); else - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } } @@ -299,10 +299,10 @@ public class AccountView extends ActivatableView { if (signingTab != null) { selectedTab = signingTab; } - } else if (view instanceof FiatAccountsView) { - selectedTab = fiatAccountsTab; - } else if (view instanceof AltCoinAccountsView) { - selectedTab = altcoinAccountsTab; + } else if (view instanceof TraditionalAccountsView) { + selectedTab = traditionalAccountsTab; + } else if (view instanceof CryptoAccountsView) { + selectedTab = cryptoAccountsTab; } else if (view instanceof MobileNotificationsView) { selectedTab = notificationTab; } else if (view instanceof PasswordView) { diff --git a/desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsDataModel.java b/desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsDataModel.java similarity index 91% rename from desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsDataModel.java rename to desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsDataModel.java index 5ad32256..943c5e99 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsDataModel.java +++ b/desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsDataModel.java @@ -15,7 +15,7 @@ * along with Haveno. If not, see . */ -package haveno.desktop.main.account.content.altcoinaccounts; +package haveno.desktop.main.account.content.cryptoaccounts; import com.google.inject.Inject; import haveno.common.crypto.KeyRing; @@ -23,7 +23,7 @@ import haveno.common.file.CorruptedStorageFileHandler; import haveno.common.proto.persistable.PersistenceProtoResolver; import haveno.core.account.witness.AccountAgeWitnessService; import haveno.core.locale.CryptoCurrency; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.offer.OpenOfferManager; import haveno.core.payment.AssetAccount; @@ -43,7 +43,7 @@ import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; -class AltCoinAccountsDataModel extends ActivatableDataModel { +class CryptoAccountsDataModel extends ActivatableDataModel { private final User user; private final Preferences preferences; @@ -52,13 +52,13 @@ class AltCoinAccountsDataModel extends ActivatableDataModel { private final AccountAgeWitnessService accountAgeWitnessService; final ObservableList paymentAccounts = FXCollections.observableArrayList(); private final SetChangeListener setChangeListener; - private final String accountsFileName = "AltcoinPaymentAccounts"; + private final String accountsFileName = "CryptoPaymentAccounts"; private final PersistenceProtoResolver persistenceProtoResolver; private final CorruptedStorageFileHandler corruptedStorageFileHandler; private final KeyRing keyRing; @Inject - public AltCoinAccountsDataModel(User user, + public CryptoAccountsDataModel(User user, Preferences preferences, OpenOfferManager openOfferManager, TradeManager tradeManager, @@ -106,14 +106,14 @@ class AltCoinAccountsDataModel extends ActivatableDataModel { TradeCurrency singleTradeCurrency = paymentAccount.getSingleTradeCurrency(); List tradeCurrencies = paymentAccount.getTradeCurrencies(); if (singleTradeCurrency != null) { - if (singleTradeCurrency instanceof FiatCurrency) - preferences.addFiatCurrency((FiatCurrency) singleTradeCurrency); + if (singleTradeCurrency instanceof TraditionalCurrency) + preferences.addTraditionalCurrency((TraditionalCurrency) singleTradeCurrency); else preferences.addCryptoCurrency((CryptoCurrency) singleTradeCurrency); } else if (tradeCurrencies != null && !tradeCurrencies.isEmpty()) { tradeCurrencies.forEach(tradeCurrency -> { - if (tradeCurrency instanceof FiatCurrency) - preferences.addFiatCurrency((FiatCurrency) tradeCurrency); + if (tradeCurrency instanceof TraditionalCurrency) + preferences.addTraditionalCurrency((TraditionalCurrency) tradeCurrency); else preferences.addCryptoCurrency((CryptoCurrency) tradeCurrency); }); diff --git a/desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsView.fxml b/desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsView.fxml similarity index 96% rename from desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsView.fxml rename to desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsView.fxml index 14f53616..7c157ef0 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsView.fxml +++ b/desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsView.fxml @@ -22,7 +22,7 @@ -. */ -package haveno.desktop.main.account.content.altcoinaccounts; +package haveno.desktop.main.account.content.cryptoaccounts; -import haveno.asset.AltCoinAccountDisclaimer; +import haveno.asset.CryptoAccountDisclaimer; import haveno.asset.Asset; import haveno.asset.coins.Monero; import haveno.common.util.Tuple2; @@ -31,7 +31,7 @@ import haveno.core.locale.TradeCurrency; import haveno.core.payment.PaymentAccount; import haveno.core.payment.PaymentAccountFactory; import haveno.core.payment.payload.PaymentMethod; -import haveno.core.payment.validation.AltCoinAddressValidator; +import haveno.core.payment.validation.CryptoAddressValidator; import haveno.core.user.Preferences; import haveno.core.util.FormattingUtils; import haveno.core.util.coin.CoinFormatter; @@ -63,10 +63,10 @@ import static haveno.desktop.util.FormBuilder.addTitledGroupBg; import static haveno.desktop.util.FormBuilder.addTopLabelListView; @FxmlView -public class AltCoinAccountsView extends PaymentAccountsView { +public class CryptoAccountsView extends PaymentAccountsView { private final InputValidator inputValidator; - private final AltCoinAddressValidator altCoinAddressValidator; + private final CryptoAddressValidator altCoinAddressValidator; private final FilterManager filterManager; private final CoinFormatter formatter; private final Preferences preferences; @@ -77,9 +77,9 @@ public class AltCoinAccountsView extends PaymentAccountsView asset = CurrencyUtil.findAsset(selectedTradeCurrency.getCode()); if (asset.isPresent()) { - final AltCoinAccountDisclaimer disclaimerAnnotation = asset.get().getClass().getAnnotation(AltCoinAccountDisclaimer.class); + final CryptoAccountDisclaimer disclaimerAnnotation = asset.get().getClass().getAnnotation(CryptoAccountDisclaimer.class); if (disclaimerAnnotation != null) { new Popup() .width(asset.get() instanceof Monero ? 1000 : 669) @@ -174,7 +174,7 @@ public class AltCoinAccountsView extends PaymentAccountsView, VBox> tuple = addTopLabelListView(root, gridRow, Res.get("account.altcoin.yourAltcoinAccounts"), Layout.FIRST_ROW_DISTANCE); + Tuple3, VBox> tuple = addTopLabelListView(root, gridRow, Res.get("account.crypto.yourCryptoAccounts"), Layout.FIRST_ROW_DISTANCE); paymentAccountsListView = tuple.second; int prefNumRows = Math.min(4, Math.max(2, model.dataModel.getNumPaymentAccounts())); paymentAccountsListView.setMinHeight(prefNumRows * Layout.LIST_ROW_HEIGHT + 28); diff --git a/desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsViewModel.java b/desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsViewModel.java similarity index 89% rename from desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsViewModel.java rename to desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsViewModel.java index 2aca1041..74ac3a40 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/account/content/cryptoaccounts/CryptoAccountsViewModel.java @@ -15,7 +15,7 @@ * along with Haveno. If not, see . */ -package haveno.desktop.main.account.content.fiataccounts; +package haveno.desktop.main.account.content.cryptoaccounts; import com.google.inject.Inject; import haveno.core.payment.PaymentAccount; @@ -23,10 +23,10 @@ import haveno.desktop.common.model.ActivatableWithDataModel; import haveno.desktop.common.model.ViewModel; import javafx.collections.ObservableList; -class FiatAccountsViewModel extends ActivatableWithDataModel implements ViewModel { +class CryptoAccountsViewModel extends ActivatableWithDataModel implements ViewModel { @Inject - public FiatAccountsViewModel(FiatAccountsDataModel dataModel) { + public CryptoAccountsViewModel(CryptoAccountsDataModel dataModel) { super(dataModel); } diff --git a/desktop/src/main/java/haveno/desktop/main/account/content/notifications/MobileNotificationsView.java b/desktop/src/main/java/haveno/desktop/main/account/content/notifications/MobileNotificationsView.java index 94cb1fb3..10e6d750 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/content/notifications/MobileNotificationsView.java +++ b/desktop/src/main/java/haveno/desktop/main/account/content/notifications/MobileNotificationsView.java @@ -40,7 +40,7 @@ import haveno.core.user.User; import haveno.core.util.FormattingUtils; import haveno.core.util.ParsingUtils; import haveno.core.util.PriceUtil; -import haveno.core.util.validation.AltcoinValidator; +import haveno.core.util.validation.NonFiatPriceValidator; import haveno.core.util.validation.FiatPriceValidator; import haveno.core.util.validation.InputValidator; import haveno.desktop.common.view.ActivatableView; @@ -313,9 +313,9 @@ public class MobileNotificationsView extends ActivatableView { TradeCurrency selectedItem = currencyComboBox.getSelectionModel().getSelectedItem(); if (selectedItem != null) { selectedPriceAlertTradeCurrency = selectedItem.getCode(); - boolean isCryptoCurrency = CurrencyUtil.isCryptoCurrency(selectedPriceAlertTradeCurrency); - priceAlertHighInputTextField.setValidator(isCryptoCurrency ? new AltcoinValidator() : new FiatPriceValidator()); - priceAlertLowInputTextField.setValidator(isCryptoCurrency ? new AltcoinValidator() : new FiatPriceValidator()); + boolean isFiatCurrency = CurrencyUtil.isFiatCurrency(selectedPriceAlertTradeCurrency); + priceAlertHighInputTextField.setValidator(isFiatCurrency ? new FiatPriceValidator() : new NonFiatPriceValidator()); + priceAlertLowInputTextField.setValidator(isFiatCurrency ? new FiatPriceValidator() : new NonFiatPriceValidator()); } else { selectedPriceAlertTradeCurrency = null; } diff --git a/desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsDataModel.java b/desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsDataModel.java similarity index 92% rename from desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsDataModel.java rename to desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsDataModel.java index 55f8576f..7010cb17 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/content/fiataccounts/FiatAccountsDataModel.java +++ b/desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsDataModel.java @@ -15,7 +15,7 @@ * along with Haveno. If not, see . */ -package haveno.desktop.main.account.content.fiataccounts; +package haveno.desktop.main.account.content.traditionalaccounts; import com.google.inject.Inject; import haveno.common.crypto.KeyRing; @@ -24,7 +24,7 @@ import haveno.common.proto.persistable.PersistenceProtoResolver; import haveno.core.account.witness.AccountAgeWitnessService; import haveno.core.locale.CryptoCurrency; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.TradeCurrency; import haveno.core.offer.OpenOfferManager; import haveno.core.payment.AssetAccount; @@ -44,7 +44,7 @@ import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; -class FiatAccountsDataModel extends ActivatableDataModel { +class TraditionalAccountsDataModel extends ActivatableDataModel { private final User user; private final Preferences preferences; @@ -59,7 +59,7 @@ class FiatAccountsDataModel extends ActivatableDataModel { private final KeyRing keyRing; @Inject - public FiatAccountsDataModel(User user, + public TraditionalAccountsDataModel(User user, Preferences preferences, OpenOfferManager openOfferManager, TradeManager tradeManager, @@ -108,8 +108,8 @@ class FiatAccountsDataModel extends ActivatableDataModel { TradeCurrency singleTradeCurrency = paymentAccount.getSingleTradeCurrency(); List tradeCurrencies = paymentAccount.getTradeCurrencies(); if (singleTradeCurrency != null) { - if (singleTradeCurrency instanceof FiatCurrency) - preferences.addFiatCurrency((FiatCurrency) singleTradeCurrency); + if (singleTradeCurrency instanceof TraditionalCurrency) + preferences.addTraditionalCurrency((TraditionalCurrency) singleTradeCurrency); else preferences.addCryptoCurrency((CryptoCurrency) singleTradeCurrency); } else if (tradeCurrencies != null && !tradeCurrencies.isEmpty()) { @@ -119,8 +119,8 @@ class FiatAccountsDataModel extends ActivatableDataModel { paymentAccount.setSelectedTradeCurrency(tradeCurrencies.get(0)); tradeCurrencies.forEach(tradeCurrency -> { - if (tradeCurrency instanceof FiatCurrency) - preferences.addFiatCurrency((FiatCurrency) tradeCurrency); + if (tradeCurrency instanceof TraditionalCurrency) + preferences.addTraditionalCurrency((TraditionalCurrency) tradeCurrency); else preferences.addCryptoCurrency((CryptoCurrency) tradeCurrency); }); diff --git a/desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsView.fxml b/desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsView.fxml similarity index 96% rename from desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsView.fxml rename to desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsView.fxml index ece55c98..bd21d104 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsView.fxml +++ b/desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsView.fxml @@ -22,7 +22,7 @@ -. */ -package haveno.desktop.main.account.content.fiataccounts; +package haveno.desktop.main.account.content.traditionalaccounts; import haveno.common.config.Config; import haveno.common.util.Tuple2; @@ -145,7 +145,7 @@ import static haveno.desktop.util.FormBuilder.addTitledGroupBg; import static haveno.desktop.util.FormBuilder.addTopLabelListView; @FxmlView -public class FiatAccountsView extends PaymentAccountsView { +public class TraditionalAccountsView extends PaymentAccountsView { private final BICValidator bicValidator; private final CapitualValidator capitualValidator; @@ -177,7 +177,7 @@ public class FiatAccountsView extends PaymentAccountsView, VBox> tuple = addTopLabelListView(root, gridRow, Res.get("account.fiat.yourFiatAccounts"), Layout.FIRST_ROW_DISTANCE); + Tuple3, VBox> tuple = addTopLabelListView(root, gridRow, Res.get("account.traditional.yourTraditionalAccounts"), Layout.FIRST_ROW_DISTANCE); paymentAccountsListView = tuple.second; int prefNumRows = Math.min(4, Math.max(2, model.dataModel.getNumPaymentAccounts())); paymentAccountsListView.setMinHeight(prefNumRows * Layout.LIST_ROW_HEIGHT + 28); @@ -421,7 +421,7 @@ public class FiatAccountsView extends PaymentAccountsView list = PaymentMethod.paymentMethods.stream() - .filter(PaymentMethod::isFiat) + .filter(PaymentMethod::isTraditional) .sorted() .collect(Collectors.toList()); paymentMethodComboBox.setItems(FXCollections.observableArrayList(list)); diff --git a/desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsViewModel.java b/desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsViewModel.java similarity index 88% rename from desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsViewModel.java rename to desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsViewModel.java index be7b7586..737b4ffa 100644 --- a/desktop/src/main/java/haveno/desktop/main/account/content/altcoinaccounts/AltCoinAccountsViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/account/content/traditionalaccounts/TraditionalAccountsViewModel.java @@ -15,7 +15,7 @@ * along with Haveno. If not, see . */ -package haveno.desktop.main.account.content.altcoinaccounts; +package haveno.desktop.main.account.content.traditionalaccounts; import com.google.inject.Inject; import haveno.core.payment.PaymentAccount; @@ -23,10 +23,10 @@ import haveno.desktop.common.model.ActivatableWithDataModel; import haveno.desktop.common.model.ViewModel; import javafx.collections.ObservableList; -class AltCoinAccountsViewModel extends ActivatableWithDataModel implements ViewModel { +class TraditionalAccountsViewModel extends ActivatableWithDataModel implements ViewModel { @Inject - public AltCoinAccountsViewModel(AltCoinAccountsDataModel dataModel) { + public TraditionalAccountsViewModel(TraditionalAccountsDataModel dataModel) { super(dataModel); } diff --git a/desktop/src/main/java/haveno/desktop/main/market/offerbook/OfferBookChartViewModel.java b/desktop/src/main/java/haveno/desktop/main/market/offerbook/OfferBookChartViewModel.java index bec4cdac..aae4a050 100644 --- a/desktop/src/main/java/haveno/desktop/main/market/offerbook/OfferBookChartViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/market/offerbook/OfferBookChartViewModel.java @@ -259,13 +259,13 @@ class OfferBookChartViewModel extends ActivatableViewModel { public int getMaxNumberOfPriceZeroDecimalsToColorize(Offer offer) { return offer.isFiatOffer() ? GUIUtil.FIAT_DECIMALS_WITH_ZEROS - : GUIUtil.ALTCOINS_DECIMALS_WITH_ZEROS; + : GUIUtil.CRYPTOS_DECIMALS_WITH_ZEROS; } public int getZeroDecimalsForPrice(Offer offer) { return offer.isFiatOffer() ? GUIUtil.FIAT_PRICE_DECIMALS_WITH_ZEROS - : GUIUtil.ALTCOINS_DECIMALS_WITH_ZEROS; + : GUIUtil.CRYPTOS_DECIMALS_WITH_ZEROS; } public String getPrice(Offer offer) { @@ -307,8 +307,8 @@ class OfferBookChartViewModel extends ActivatableViewModel { // Offer price can be null (if price feed unavailable), thus a null-tolerant comparator is used. Comparator offerPriceComparator = Comparator.comparing(Offer::getPrice, Comparator.nullsLast(Comparator.naturalOrder())); - // Trading btc-fiat is considered as buying/selling BTC, but trading btc-altcoin is - // considered as buying/selling Altcoin. Because of this, when viewing a btc-altcoin pair, + // Trading xmr-traditional is considered as buying/selling XMR, but trading xmr-crypto is + // considered as buying/selling Crypto. Because of this, when viewing a xmr-crypto pair, // the buy column is actually the sell column and vice versa. To maintain the expected // ordering, we have to reverse the price comparator. boolean isCrypto = CurrencyUtil.isCryptoCurrency(getCurrencyCode()); @@ -417,15 +417,15 @@ class OfferBookChartViewModel extends ActivatableViewModel { private void updateScreenCurrencyInPreferences(OfferDirection direction) { if (isSellOffer(direction)) { - if (CurrencyUtil.isFiatCurrency(getCurrencyCode())) { + if (CurrencyUtil.isTraditionalCurrency(getCurrencyCode())) { preferences.setBuyScreenCurrencyCode(getCurrencyCode()); - } else if (!getCurrencyCode().equals(GUIUtil.TOP_ALTCOIN.getCode())) { + } else if (!getCurrencyCode().equals(GUIUtil.TOP_CRYPTO.getCode())) { preferences.setBuyScreenCryptoCurrencyCode(getCurrencyCode()); } } else { - if (CurrencyUtil.isFiatCurrency(getCurrencyCode())) { + if (CurrencyUtil.isTraditionalCurrency(getCurrencyCode())) { preferences.setSellScreenCurrencyCode(getCurrencyCode()); - } else if (!getCurrencyCode().equals(GUIUtil.TOP_ALTCOIN.getCode())) { + } else if (!getCurrencyCode().equals(GUIUtil.TOP_CRYPTO.getCode())) { preferences.setSellScreenCryptoCurrencyCode(getCurrencyCode()); } } diff --git a/desktop/src/main/java/haveno/desktop/main/market/spread/SpreadViewModel.java b/desktop/src/main/java/haveno/desktop/main/market/spread/SpreadViewModel.java index f58691de..3529cb94 100644 --- a/desktop/src/main/java/haveno/desktop/main/market/spread/SpreadViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/market/spread/SpreadViewModel.java @@ -20,8 +20,9 @@ package haveno.desktop.main.market.spread; import com.google.inject.Inject; import haveno.common.UserThread; import haveno.core.locale.Res; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.offer.Offer; import haveno.core.offer.OfferDirection; import haveno.core.provider.price.MarketPrice; @@ -41,7 +42,6 @@ import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import lombok.Getter; import lombok.Setter; -import org.bitcoinj.utils.Fiat; import javax.inject.Named; import java.math.BigDecimal; @@ -133,7 +133,7 @@ class SpreadViewModel extends ActivatableViewModel { for (String key : offersByCurrencyMap.keySet()) { List offers = offersByCurrencyMap.get(key); - boolean isFiatCurrency = (offers.size() > 0 && offers.get(0).getPaymentMethod().isFiat()); + boolean iTraditionalCurrency = (offers.size() > 0 && offers.get(0).getPaymentMethod().isTraditional()); List uniqueOffers = offers.stream().filter(distinctByKey(Offer::getId)).collect(Collectors.toList()); @@ -144,7 +144,7 @@ class SpreadViewModel extends ActivatableViewModel { long a = o1.getPrice() != null ? o1.getPrice().getValue() : 0; long b = o2.getPrice() != null ? o2.getPrice().getValue() : 0; if (a != b) { - if (isFiatCurrency) { + if (iTraditionalCurrency) { return a < b ? 1 : -1; } else { return a < b ? -1 : 1; @@ -161,7 +161,7 @@ class SpreadViewModel extends ActivatableViewModel { long a = o1.getPrice() != null ? o1.getPrice().getValue() : 0; long b = o2.getPrice() != null ? o2.getPrice().getValue() : 0; if (a != b) { - if (isFiatCurrency) { + if (iTraditionalCurrency) { return a > b ? 1 : -1; } else { return a > b ? -1 : 1; @@ -184,7 +184,7 @@ class SpreadViewModel extends ActivatableViewModel { // We never found out which offer it was. So add here a try/catch to get better info if it // happens again try { - if (isFiatCurrency) + if (iTraditionalCurrency) spread = bestSellOfferPrice.subtract(bestBuyOfferPrice); else spread = bestBuyOfferPrice.subtract(bestSellOfferPrice); @@ -194,9 +194,9 @@ class SpreadViewModel extends ActivatableViewModel { if (spread != null && marketPrice != null && marketPrice.isPriceAvailable()) { double marketPriceAsDouble = marketPrice.getPrice(); - final double precision = isFiatCurrency ? - Math.pow(10, Fiat.SMALLEST_UNIT_EXPONENT) : - Math.pow(10, Altcoin.SMALLEST_UNIT_EXPONENT); + final double precision = iTraditionalCurrency ? + Math.pow(10, TraditionalMoney.SMALLEST_UNIT_EXPONENT) : + Math.pow(10, CryptoMoney.SMALLEST_UNIT_EXPONENT); BigDecimal marketPriceAsBigDecimal = BigDecimal.valueOf(marketPriceAsDouble) .multiply(BigDecimal.valueOf(precision)); diff --git a/desktop/src/main/java/haveno/desktop/main/market/trades/ChartCalculations.java b/desktop/src/main/java/haveno/desktop/main/market/trades/ChartCalculations.java index bf6d2a7e..f12af422 100644 --- a/desktop/src/main/java/haveno/desktop/main/market/trades/ChartCalculations.java +++ b/desktop/src/main/java/haveno/desktop/main/market/trades/ChartCalculations.java @@ -20,7 +20,7 @@ package haveno.desktop.main.market.trades; import com.google.common.annotations.VisibleForTesting; import haveno.common.util.MathUtils; import haveno.core.locale.CurrencyUtil; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.trade.statistics.TradeStatistics3; import haveno.desktop.main.market.trades.charts.CandleData; import haveno.desktop.util.DisplayUtils; @@ -262,7 +262,7 @@ public class ChartCalculations { boolean isBullish; if (CurrencyUtil.isCryptoCurrency(currencyCode)) { isBullish = close < open; - double accumulatedAmountAsDouble = MathUtils.scaleUpByPowerOf10((double) accumulatedAmount, Altcoin.SMALLEST_UNIT_EXPONENT); + double accumulatedAmountAsDouble = MathUtils.scaleUpByPowerOf10((double) accumulatedAmount, CryptoMoney.SMALLEST_UNIT_EXPONENT); averagePrice = MathUtils.roundDoubleToLong(accumulatedAmountAsDouble / accumulatedVolume); } else { isBullish = close > open; diff --git a/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferDataModel.java b/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferDataModel.java index 254d2905..45bb7ea5 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferDataModel.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferDataModel.java @@ -255,12 +255,12 @@ public abstract class MutableOfferDataModel extends OfferDataModel { @NotNull private Optional getAnyPaymentAccount() { - if (CurrencyUtil.isFiatCurrency(tradeCurrency.getCode())) { - return paymentAccounts.stream().filter(paymentAccount1 -> !paymentAccount1.getPaymentMethod().isAltcoin()).findAny(); + if (CurrencyUtil.isTraditionalCurrency(tradeCurrency.getCode())) { + return paymentAccounts.stream().filter(paymentAccount1 -> !paymentAccount1.getPaymentMethod().isCrypto()).findAny(); } else { - return paymentAccounts.stream().filter(paymentAccount1 -> paymentAccount1.getPaymentMethod().isAltcoin() && + return paymentAccounts.stream().filter(paymentAccount1 -> paymentAccount1.getPaymentMethod().isCrypto() && paymentAccount1.getTradeCurrency().isPresent() && - !Objects.equals(paymentAccount1.getTradeCurrency().get().getCode(), GUIUtil.TOP_ALTCOIN.getCode())).findAny(); + !Objects.equals(paymentAccount1.getTradeCurrency().get().getCode(), GUIUtil.TOP_CRYPTO.getCode())).findAny(); } } @@ -384,7 +384,7 @@ public abstract class MutableOfferDataModel extends OfferDataModel { if (CurrencyUtil.isCryptoCurrency(code)) { CurrencyUtil.getCryptoCurrency(code).ifPresent(preferences::addCryptoCurrency); } else { - CurrencyUtil.getFiatCurrency(code).ifPresent(preferences::addFiatCurrency); + CurrencyUtil.getTraditionalCurrency(code).ifPresent(preferences::addTraditionalCurrency); } } } @@ -617,7 +617,7 @@ public abstract class MutableOfferDataModel extends OfferDataModel { } boolean isFiatCurrency() { - return CurrencyUtil.isFiatCurrency(tradeCurrencyCode.get()); + return CurrencyUtil.isTraditionalCurrency(tradeCurrencyCode.get()); } ReadOnlyBooleanProperty getUseMarketBasedPrice() { diff --git a/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferView.java b/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferView.java index 78415b30..4316cc92 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferView.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferView.java @@ -49,7 +49,7 @@ import haveno.desktop.components.InputTextField; import haveno.desktop.components.TitledGroupBg; import haveno.desktop.main.MainView; import haveno.desktop.main.account.AccountView; -import haveno.desktop.main.account.content.fiataccounts.FiatAccountsView; +import haveno.desktop.main.account.content.traditionalaccounts.TraditionalAccountsView; import haveno.desktop.main.overlays.notifications.Notification; import haveno.desktop.main.overlays.popups.Popup; import haveno.desktop.main.overlays.windows.OfferDetailsWindow; @@ -295,7 +295,7 @@ public abstract class MutableOfferView> exten .actionButtonTextWithGoTo("navigation.account") .onAction(() -> { navigation.setReturnPath(navigation.getCurrentPath()); - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); }).show(); } @@ -303,19 +303,19 @@ public abstract class MutableOfferView> exten if (OfferViewUtil.isShownAsBuyOffer(direction, tradeCurrency)) { placeOfferButton.setId("buy-button-big"); - if (CurrencyUtil.isFiatCurrency(tradeCurrency.getCode())) { + if (CurrencyUtil.isTraditionalCurrency(tradeCurrency.getCode())) { placeOfferButtonLabel = Res.get("createOffer.placeOfferButton", Res.get("shared.buy")); } else { - placeOfferButtonLabel = Res.get("createOffer.placeOfferButtonAltcoin", Res.get("shared.buy"), tradeCurrency.getCode()); + placeOfferButtonLabel = Res.get("createOffer.placeOfferButtonCrypto", Res.get("shared.buy"), tradeCurrency.getCode()); } nextButton.setId("buy-button"); fundFromSavingsWalletButton.setId("buy-button"); } else { placeOfferButton.setId("sell-button-big"); - if (CurrencyUtil.isFiatCurrency(tradeCurrency.getCode())) { + if (CurrencyUtil.isTraditionalCurrency(tradeCurrency.getCode())) { placeOfferButtonLabel = Res.get("createOffer.placeOfferButton", Res.get("shared.sell")); } else { - placeOfferButtonLabel = Res.get("createOffer.placeOfferButtonAltcoin", Res.get("shared.sell"), tradeCurrency.getCode()); + placeOfferButtonLabel = Res.get("createOffer.placeOfferButtonCrypto", Res.get("shared.sell"), tradeCurrency.getCode()); } nextButton.setId("sell-button"); fundFromSavingsWalletButton.setId("sell-button"); @@ -695,12 +695,12 @@ public abstract class MutableOfferView> exten marketBasedPriceTextField.clear(); volumeTextField.clear(); triggerPriceInputTextField.clear(); - if (!CurrencyUtil.isFiatCurrency(newValue)) { + if (!CurrencyUtil.isTraditionalCurrency(newValue)) { if (model.isShownAsBuyOffer()) { - placeOfferButton.updateText(Res.get("createOffer.placeOfferButtonAltcoin", Res.get("shared.buy"), + placeOfferButton.updateText(Res.get("createOffer.placeOfferButtonCrypto", Res.get("shared.buy"), model.getTradeCurrency().getCode())); } else { - placeOfferButton.updateText(Res.get("createOffer.placeOfferButtonAltcoin", Res.get("shared.sell"), + placeOfferButton.updateText(Res.get("createOffer.placeOfferButtonCrypto", Res.get("shared.sell"), model.getTradeCurrency().getCode())); } } @@ -1251,9 +1251,7 @@ public abstract class MutableOfferView> exten int marketPriceAvailable = model.marketPriceAvailableProperty.get(); fixedPriceSelected = fixedPriceSelected || (marketPriceAvailable == 0); - if (marketPriceAvailable == 1) { - model.getDataModel().setUseMarketBasedPrice(!fixedPriceSelected); - } + model.getDataModel().setUseMarketBasedPrice(marketPriceAvailable == 1 && !fixedPriceSelected); percentagePriceBox.setDisable(fixedPriceSelected); fixedPriceBox.setDisable(!fixedPriceSelected); @@ -1284,7 +1282,7 @@ public abstract class MutableOfferView> exten } private void addSecondRow() { - // price as fiat + // price as traditional currency Tuple3 priceValueCurrencyBoxTuple = getEditableValueBox( Res.get("createOffer.price.prompt")); priceValueCurrencyBox = priceValueCurrencyBoxTuple.first; diff --git a/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferViewModel.java b/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferViewModel.java index c409642d..f01212cb 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/MutableOfferViewModel.java @@ -24,8 +24,9 @@ import haveno.core.account.witness.AccountAgeWitnessService; import haveno.core.locale.CurrencyUtil; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; -import haveno.core.monetary.Altcoin; +import haveno.core.monetary.CryptoMoney; import haveno.core.monetary.Price; +import haveno.core.monetary.TraditionalMoney; import haveno.core.monetary.Volume; import haveno.core.offer.Offer; import haveno.core.offer.OfferDirection; @@ -46,7 +47,7 @@ import haveno.core.util.PriceUtil; import haveno.core.util.VolumeUtil; import haveno.core.util.coin.CoinFormatter; import haveno.core.util.coin.CoinUtil; -import haveno.core.util.validation.AltcoinValidator; +import haveno.core.util.validation.NonFiatPriceValidator; import haveno.core.util.validation.FiatPriceValidator; import haveno.core.util.validation.InputValidator; import haveno.core.util.validation.MonetaryValidator; @@ -76,7 +77,6 @@ import javafx.scene.control.ListView; import javafx.util.Callback; import lombok.extern.slf4j.Slf4j; import org.bitcoinj.core.Coin; -import org.bitcoinj.utils.Fiat; import javax.inject.Inject; import javax.inject.Named; @@ -96,7 +96,7 @@ public abstract class MutableOfferViewModel ext protected final CoinFormatter btcFormatter; private final FiatVolumeValidator fiatVolumeValidator; private final FiatPriceValidator fiatPriceValidator; - private final AltcoinValidator altcoinValidator; + private final NonFiatPriceValidator nonFiatPriceValidator; protected final OfferUtil offerUtil; private String amountDescription; @@ -110,7 +110,7 @@ public abstract class MutableOfferViewModel ext final StringProperty buyerSecurityDepositInBTC = new SimpleStringProperty(); final StringProperty buyerSecurityDepositLabel = new SimpleStringProperty(); - // Price in the viewModel is always dependent on fiat/altcoin: Fiat Fiat/BTC, for altcoins we use inverted price. + // Price in the viewModel is always dependent on fiat/crypto: Fiat Fiat/BTC, for cryptos we use inverted price. // The domain (dataModel) uses always the same price model (otherCurrencyBTC) // If we would change the price representation in the domain we would not be backward compatible public final StringProperty price = new SimpleStringProperty(); @@ -123,7 +123,7 @@ public abstract class MutableOfferViewModel ext // Positive % value means always a better price form the maker's perspective: // Buyer (with fiat): lower price as market - // Buyer (with altcoin): higher (display) price as market (display price is inverted) + // Buyer (with crypto): higher (display) price as market (display price is inverted) public final StringProperty marketPriceMargin = new SimpleStringProperty(); public final StringProperty volume = new SimpleStringProperty(); final StringProperty volumeDescriptionLabel = new SimpleStringProperty(); @@ -184,7 +184,7 @@ public abstract class MutableOfferViewModel ext public MutableOfferViewModel(M dataModel, FiatVolumeValidator fiatVolumeValidator, FiatPriceValidator fiatPriceValidator, - AltcoinValidator altcoinValidator, + NonFiatPriceValidator nonFiatPriceValidator, XmrValidator btcValidator, SecurityDepositValidator securityDepositValidator, PriceFeedService priceFeedService, @@ -197,7 +197,7 @@ public abstract class MutableOfferViewModel ext this.fiatVolumeValidator = fiatVolumeValidator; this.fiatPriceValidator = fiatPriceValidator; - this.altcoinValidator = altcoinValidator; + this.nonFiatPriceValidator = nonFiatPriceValidator; this.xmrValidator = btcValidator; this.securityDepositValidator = securityDepositValidator; this.priceFeedService = priceFeedService; @@ -251,15 +251,15 @@ public abstract class MutableOfferViewModel ext private void addBindings() { if (dataModel.getDirection() == OfferDirection.BUY) { volumeDescriptionLabel.bind(createStringBinding( - () -> Res.get(CurrencyUtil.isFiatCurrency(dataModel.getTradeCurrencyCode().get()) ? + () -> Res.get(CurrencyUtil.isTraditionalCurrency(dataModel.getTradeCurrencyCode().get()) ? "createOffer.amountPriceBox.buy.volumeDescription" : - "createOffer.amountPriceBox.buy.volumeDescriptionAltcoin", dataModel.getTradeCurrencyCode().get()), + "createOffer.amountPriceBox.buy.volumeDescriptionCrypto", dataModel.getTradeCurrencyCode().get()), dataModel.getTradeCurrencyCode())); } else { volumeDescriptionLabel.bind(createStringBinding( - () -> Res.get(CurrencyUtil.isFiatCurrency(dataModel.getTradeCurrencyCode().get()) ? + () -> Res.get(CurrencyUtil.isTraditionalCurrency(dataModel.getTradeCurrencyCode().get()) ? "createOffer.amountPriceBox.sell.volumeDescription" : - "createOffer.amountPriceBox.sell.volumeDescriptionAltcoin", dataModel.getTradeCurrencyCode().get()), + "createOffer.amountPriceBox.sell.volumeDescriptionCrypto", dataModel.getTradeCurrencyCode().get()), dataModel.getTradeCurrencyCode())); } volumePromptLabel.bind(createStringBinding( @@ -357,16 +357,15 @@ public abstract class MutableOfferViewModel ext if (marketPrice != null && marketPrice.isRecentExternalPriceAvailable()) { percentage = MathUtils.roundDouble(percentage, 4); double marketPriceAsDouble = marketPrice.getPrice(); - final boolean isCryptoCurrency = CurrencyUtil.isCryptoCurrency(currencyCode); - final OfferDirection compareDirection = isCryptoCurrency ? + final OfferDirection compareDirection = CurrencyUtil.isCryptoCurrency(currencyCode) ? OfferDirection.SELL : OfferDirection.BUY; double factor = dataModel.getDirection() == compareDirection ? 1 - percentage : 1 + percentage; double targetPrice = marketPriceAsDouble * factor; - int precision = isCryptoCurrency ? - Altcoin.SMALLEST_UNIT_EXPONENT : Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : CryptoMoney.SMALLEST_UNIT_EXPONENT; // protect from triggering unwanted updates ignorePriceStringListener = true; price.set(FormattingUtils.formatRoundedDoubleWithPrecision(targetPrice, precision)); @@ -575,14 +574,14 @@ public abstract class MutableOfferViewModel ext final boolean isBuy = dataModel.getDirection() == OfferDirection.BUY; - boolean isFiatCurrency = CurrencyUtil.isFiatCurrency(tradeCurrency.getCode()); + boolean isFiatCurrency = CurrencyUtil.isTraditionalCurrency(tradeCurrency.getCode()); if (isFiatCurrency) { amountDescription = Res.get("createOffer.amountPriceBox.amountDescription", isBuy ? Res.get("shared.buy") : Res.get("shared.sell")); } else { - amountDescription = Res.get(isBuy ? "createOffer.amountPriceBox.sell.amountDescriptionAltcoin" : - "createOffer.amountPriceBox.buy.amountDescriptionAltcoin"); + amountDescription = Res.get(isBuy ? "createOffer.amountPriceBox.sell.amountDescriptionCrypto" : + "createOffer.amountPriceBox.buy.amountDescriptionCrypto"); } securityDepositValidator.setPaymentAccount(dataModel.paymentAccount); @@ -1183,15 +1182,15 @@ public abstract class MutableOfferViewModel ext } private MonetaryValidator getPriceValidator() { - return CurrencyUtil.isCryptoCurrency(getTradeCurrency().getCode()) ? altcoinValidator : fiatPriceValidator; + return CurrencyUtil.isFiatCurrency(getTradeCurrency().getCode()) ? fiatPriceValidator : nonFiatPriceValidator; } private MonetaryValidator getVolumeValidator() { final String code = getTradeCurrency().getCode(); - if (CurrencyUtil.isCryptoCurrency(code)) { - return altcoinValidator; - } else { + if (CurrencyUtil.isFiatCurrency(code)) { return fiatVolumeValidator; + } else { + return nonFiatPriceValidator; } } @@ -1253,9 +1252,8 @@ public abstract class MutableOfferViewModel ext double volumeAsDouble = ParsingUtils.parseNumberStringToDouble(volume.get()); double manualPriceAsDouble = dataModel.calculateMarketPriceManual(marketPriceAsDouble, volumeAsDouble, amountAsDouble); - final boolean isCryptoCurrency = CurrencyUtil.isCryptoCurrency(currencyCode); - int precision = isCryptoCurrency ? - Altcoin.SMALLEST_UNIT_EXPONENT : Fiat.SMALLEST_UNIT_EXPONENT; + int precision = CurrencyUtil.isTraditionalCurrency(currencyCode) ? + TraditionalMoney.SMALLEST_UNIT_EXPONENT : CryptoMoney.SMALLEST_UNIT_EXPONENT; price.set(FormattingUtils.formatRoundedDoubleWithPrecision(manualPriceAsDouble, precision)); setPriceToModel(); dataModel.calculateTotalToPay(); diff --git a/desktop/src/main/java/haveno/desktop/main/offer/OfferView.java b/desktop/src/main/java/haveno/desktop/main/offer/OfferView.java index f6aee67b..a3a154e2 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/OfferView.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/OfferView.java @@ -36,7 +36,7 @@ import haveno.desktop.main.offer.createoffer.CreateOfferView; import haveno.desktop.main.offer.offerbook.BtcOfferBookView; import haveno.desktop.main.offer.offerbook.OfferBookView; import haveno.desktop.main.offer.offerbook.OtherOfferBookView; -import haveno.desktop.main.offer.offerbook.TopAltcoinOfferBookView; +import haveno.desktop.main.offer.offerbook.TopCryptoOfferBookView; import haveno.desktop.main.offer.takeoffer.TakeOfferView; import haveno.desktop.util.GUIUtil; import haveno.network.p2p.P2PService; @@ -50,9 +50,9 @@ import java.util.Optional; public abstract class OfferView extends ActivatableView { - private OfferBookView btcOfferBookView, topAltcoinOfferBookView, otherOfferBookView; + private OfferBookView btcOfferBookView, topCryptoOfferBookView, otherOfferBookView; - private Tab btcOfferBookTab, topAltcoinOfferBookTab, otherOfferBookTab; + private Tab btcOfferBookTab, topCryptoOfferBookTab, otherOfferBookTab; private final ViewLoader viewLoader; private final Navigation navigation; @@ -101,11 +101,11 @@ public abstract class OfferView extends ActivatableView { } else { loadView(BtcOfferBookView.class, null, null); } - } else if (newValue.equals(topAltcoinOfferBookTab)) { - if (topAltcoinOfferBookView != null) { - topAltcoinOfferBookView.onTabSelected(true); + } else if (newValue.equals(topCryptoOfferBookTab)) { + if (topCryptoOfferBookView != null) { + topCryptoOfferBookView.onTabSelected(true); } else { - loadView(TopAltcoinOfferBookView.class, null, null); + loadView(TopCryptoOfferBookView.class, null, null); } } else if (newValue.equals(otherOfferBookTab)) { if (otherOfferBookView != null) { @@ -118,8 +118,8 @@ public abstract class OfferView extends ActivatableView { if (oldValue != null) { if (oldValue.equals(btcOfferBookTab) && btcOfferBookView != null) { btcOfferBookView.onTabSelected(false); - } else if (oldValue.equals(topAltcoinOfferBookTab) && topAltcoinOfferBookView != null) { - topAltcoinOfferBookView.onTabSelected(false); + } else if (oldValue.equals(topCryptoOfferBookTab) && topCryptoOfferBookView != null) { + topCryptoOfferBookView.onTabSelected(false); } else if (oldValue.equals(otherOfferBookTab) && otherOfferBookView != null) { otherOfferBookView.onTabSelected(false); } @@ -158,10 +158,10 @@ public abstract class OfferView extends ActivatableView { navigation.navigateTo(MainView.class, this.getClass(), BtcOfferBookView.class); } - GUIUtil.updateTopAltcoin(preferences); + GUIUtil.updateTopCrypto(preferences); - if (topAltcoinOfferBookTab != null) { - topAltcoinOfferBookTab.setText(GUIUtil.TOP_ALTCOIN.getCode()); + if (topCryptoOfferBookTab != null) { + topCryptoOfferBookTab.setText(GUIUtil.TOP_CRYPTO.getCode()); } } @@ -188,16 +188,16 @@ public abstract class OfferView extends ActivatableView { loadCreateViewClass(btcOfferBookView, viewClass, childViewClass, btcOfferBookTab, (PaymentMethod) data); } tabPane.getSelectionModel().select(btcOfferBookTab); - } else if (viewClass == TopAltcoinOfferBookView.class && topAltcoinOfferBookTab != null && topAltcoinOfferBookView != null) { + } else if (viewClass == TopCryptoOfferBookView.class && topCryptoOfferBookTab != null && topCryptoOfferBookView != null) { if (childViewClass == null) { - topAltcoinOfferBookTab.setContent(topAltcoinOfferBookView.getRoot()); + topCryptoOfferBookTab.setContent(topCryptoOfferBookView.getRoot()); } else if (childViewClass == TakeOfferView.class) { - loadTakeViewClass(viewClass, childViewClass, topAltcoinOfferBookTab); + loadTakeViewClass(viewClass, childViewClass, topCryptoOfferBookTab); } else { - tradeCurrency = GUIUtil.TOP_ALTCOIN; - loadCreateViewClass(topAltcoinOfferBookView, viewClass, childViewClass, topAltcoinOfferBookTab, (PaymentMethod) data); + tradeCurrency = GUIUtil.TOP_CRYPTO; + loadCreateViewClass(topCryptoOfferBookView, viewClass, childViewClass, topCryptoOfferBookTab, (PaymentMethod) data); } - tabPane.getSelectionModel().select(topAltcoinOfferBookTab); + tabPane.getSelectionModel().select(topCryptoOfferBookTab); } else if (viewClass == OtherOfferBookView.class && otherOfferBookTab != null && otherOfferBookView != null) { if (childViewClass == null) { otherOfferBookTab.setContent(otherOfferBookView.getRoot()); @@ -205,7 +205,7 @@ public abstract class OfferView extends ActivatableView { loadTakeViewClass(viewClass, childViewClass, otherOfferBookTab); } else { //add sanity check in case of app restart - if (CurrencyUtil.isFiatCurrency(tradeCurrency.getCode())) { + if (CurrencyUtil.isTraditionalCurrency(tradeCurrency.getCode())) { Optional tradeCurrencyOptional = (this.direction == OfferDirection.SELL) ? CurrencyUtil.getTradeCurrency(preferences.getSellScreenCryptoCurrencyCode()) : CurrencyUtil.getTradeCurrency(preferences.getBuyScreenCryptoCurrencyCode()); @@ -218,12 +218,12 @@ public abstract class OfferView extends ActivatableView { if (btcOfferBookTab == null) { btcOfferBookTab = new Tab(Res.getBaseCurrencyName().toUpperCase()); btcOfferBookTab.setClosable(false); - topAltcoinOfferBookTab = new Tab(GUIUtil.TOP_ALTCOIN.getCode()); - topAltcoinOfferBookTab.setClosable(false); + topCryptoOfferBookTab = new Tab(GUIUtil.TOP_CRYPTO.getCode()); + topCryptoOfferBookTab.setClosable(false); otherOfferBookTab = new Tab(Res.get("shared.other").toUpperCase()); otherOfferBookTab.setClosable(false); - tabPane.getTabs().addAll(btcOfferBookTab, topAltcoinOfferBookTab, otherOfferBookTab); + tabPane.getTabs().addAll(btcOfferBookTab, topCryptoOfferBookTab, otherOfferBookTab); } if (viewClass == BtcOfferBookView.class) { btcOfferBookView = (BtcOfferBookView) viewLoader.load(BtcOfferBookView.class); @@ -232,13 +232,13 @@ public abstract class OfferView extends ActivatableView { btcOfferBookView.onTabSelected(true); tabPane.getSelectionModel().select(btcOfferBookTab); btcOfferBookTab.setContent(btcOfferBookView.getRoot()); - } else if (viewClass == TopAltcoinOfferBookView.class) { - topAltcoinOfferBookView = (TopAltcoinOfferBookView) viewLoader.load(TopAltcoinOfferBookView.class); - topAltcoinOfferBookView.setOfferActionHandler(offerActionHandler); - topAltcoinOfferBookView.setDirection(direction); - topAltcoinOfferBookView.onTabSelected(true); - tabPane.getSelectionModel().select(topAltcoinOfferBookTab); - topAltcoinOfferBookTab.setContent(topAltcoinOfferBookView.getRoot()); + } else if (viewClass == TopCryptoOfferBookView.class) { + topCryptoOfferBookView = (TopCryptoOfferBookView) viewLoader.load(TopCryptoOfferBookView.class); + topCryptoOfferBookView.setOfferActionHandler(offerActionHandler); + topCryptoOfferBookView.setDirection(direction); + topCryptoOfferBookView.onTabSelected(true); + tabPane.getSelectionModel().select(topCryptoOfferBookTab); + topCryptoOfferBookTab.setContent(topCryptoOfferBookView.getRoot()); } else if (viewClass == OtherOfferBookView.class) { otherOfferBookView = (OtherOfferBookView) viewLoader.load(OtherOfferBookView.class); otherOfferBookView.setOfferActionHandler(offerActionHandler); @@ -323,10 +323,10 @@ public abstract class OfferView extends ActivatableView { @NotNull private Class> getOfferBookViewClassFor(String currencyCode) { Class> offerBookViewClass; - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { offerBookViewClass = BtcOfferBookView.class; - } else if (currencyCode.equals(GUIUtil.TOP_ALTCOIN.getCode())) { - offerBookViewClass = TopAltcoinOfferBookView.class; + } else if (currencyCode.equals(GUIUtil.TOP_CRYPTO.getCode())) { + offerBookViewClass = TopCryptoOfferBookView.class; } else { offerBookViewClass = OtherOfferBookView.class; } diff --git a/desktop/src/main/java/haveno/desktop/main/offer/OfferViewUtil.java b/desktop/src/main/java/haveno/desktop/main/offer/OfferViewUtil.java index a52f0c12..ef9d0cf0 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/OfferViewUtil.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/OfferViewUtil.java @@ -33,7 +33,7 @@ import haveno.desktop.components.HyperlinkWithIcon; import haveno.desktop.main.offer.offerbook.BtcOfferBookView; import haveno.desktop.main.offer.offerbook.OfferBookView; import haveno.desktop.main.offer.offerbook.OtherOfferBookView; -import haveno.desktop.main.offer.offerbook.TopAltcoinOfferBookView; +import haveno.desktop.main.offer.offerbook.TopCryptoOfferBookView; import haveno.desktop.main.overlays.popups.Popup; import haveno.desktop.util.GUIUtil; import javafx.geometry.HPos; @@ -126,10 +126,10 @@ public class OfferViewUtil { public static Class> getOfferBookViewClass(String currencyCode) { Class> offerBookViewClazz; - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { offerBookViewClazz = BtcOfferBookView.class; - } else if (currencyCode.equals(GUIUtil.TOP_ALTCOIN.getCode())) { - offerBookViewClazz = TopAltcoinOfferBookView.class; + } else if (currencyCode.equals(GUIUtil.TOP_CRYPTO.getCode())) { + offerBookViewClazz = TopCryptoOfferBookView.class; } else { offerBookViewClazz = OtherOfferBookView.class; } @@ -145,7 +145,7 @@ public class OfferViewUtil { } public static boolean isShownAsSellOffer(String currencyCode, OfferDirection direction) { - return CurrencyUtil.isFiatCurrency(currencyCode) == (direction == OfferDirection.SELL); + return CurrencyUtil.isTraditionalCurrency(currencyCode) == (direction == OfferDirection.SELL); } public static boolean isShownAsBuyOffer(Offer offer) { @@ -163,7 +163,7 @@ public class OfferViewUtil { @NotNull public static Stream getMainCryptoCurrencies() { return CurrencyUtil.getMainCryptoCurrencies().stream().filter(cryptoCurrency -> - !Objects.equals(cryptoCurrency.getCode(), GUIUtil.TOP_ALTCOIN.getCode())); + !Objects.equals(cryptoCurrency.getCode(), GUIUtil.TOP_CRYPTO.getCode())); } public static void submitTransactionHex(XmrWalletService xmrWalletService, diff --git a/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferView.java b/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferView.java index c4e9cf3d..cffef240 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferView.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferView.java @@ -55,7 +55,7 @@ public class CreateOfferView extends MutableOfferView { TradeCurrency tradeCurrency, OfferView.OfferActionHandler offerActionHandler) { // Invert direction for non-Fiat trade currencies -> BUY BSQ is to SELL Bitcoin - OfferDirection offerDirection = CurrencyUtil.isFiatCurrency(tradeCurrency.getCode()) ? direction : + OfferDirection offerDirection = CurrencyUtil.isTraditionalCurrency(tradeCurrency.getCode()) ? direction : direction == OfferDirection.BUY ? OfferDirection.SELL : OfferDirection.BUY; super.initWithData(offerDirection, tradeCurrency, offerActionHandler); } @@ -64,13 +64,13 @@ public class CreateOfferView extends MutableOfferView { protected ObservableList filterPaymentAccounts(ObservableList paymentAccounts) { return FXCollections.observableArrayList( paymentAccounts.stream().filter(paymentAccount -> { - if (model.getTradeCurrency().equals(GUIUtil.TOP_ALTCOIN)) { - return Objects.equals(paymentAccount.getSingleTradeCurrency(), GUIUtil.TOP_ALTCOIN); - } else if (CurrencyUtil.isFiatCurrency(model.getTradeCurrency().getCode())) { - return !paymentAccount.getPaymentMethod().isAltcoin(); + if (model.getTradeCurrency().equals(GUIUtil.TOP_CRYPTO)) { + return Objects.equals(paymentAccount.getSingleTradeCurrency(), GUIUtil.TOP_CRYPTO); + } else if (CurrencyUtil.isTraditionalCurrency(model.getTradeCurrency().getCode())) { + return !paymentAccount.getPaymentMethod().isCrypto(); } else { - return paymentAccount.getPaymentMethod().isAltcoin() && - !Objects.equals(paymentAccount.getSingleTradeCurrency(), GUIUtil.TOP_ALTCOIN); + return paymentAccount.getPaymentMethod().isCrypto() && + !Objects.equals(paymentAccount.getSingleTradeCurrency(), GUIUtil.TOP_CRYPTO); } }).collect(Collectors.toList())); } diff --git a/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferViewModel.java b/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferViewModel.java index 7fe9acc2..00b9d678 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/createoffer/CreateOfferViewModel.java @@ -27,7 +27,7 @@ import haveno.core.provider.price.PriceFeedService; import haveno.core.user.Preferences; import haveno.core.util.FormattingUtils; import haveno.core.util.coin.CoinFormatter; -import haveno.core.util.validation.AltcoinValidator; +import haveno.core.util.validation.NonFiatPriceValidator; import haveno.core.util.validation.FiatPriceValidator; import haveno.desktop.Navigation; import haveno.desktop.common.model.ViewModel; @@ -41,7 +41,7 @@ class CreateOfferViewModel extends MutableOfferViewModel i public CreateOfferViewModel(CreateOfferDataModel dataModel, FiatVolumeValidator fiatVolumeValidator, FiatPriceValidator fiatPriceValidator, - AltcoinValidator altcoinValidator, + NonFiatPriceValidator nonFiatPriceValidator, XmrValidator btcValidator, SecurityDepositValidator securityDepositValidator, PriceFeedService priceFeedService, @@ -53,7 +53,7 @@ class CreateOfferViewModel extends MutableOfferViewModel i super(dataModel, fiatVolumeValidator, fiatPriceValidator, - altcoinValidator, + nonFiatPriceValidator, btcValidator, securityDepositValidator, priceFeedService, diff --git a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/BtcOfferBookView.java b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/BtcOfferBookView.java index f6c030ad..e7f26e91 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/BtcOfferBookView.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/BtcOfferBookView.java @@ -51,8 +51,8 @@ public class BtcOfferBookView extends OfferBookView { if (showAllTradeCurrenciesProperty.get()) { - return paymentMethod.isFiat(); + return paymentMethod.isTraditional(); } - return paymentMethod.isFiat() && + return paymentMethod.isTraditional() && PaymentAccountUtil.supportsCurrency(paymentMethod, selectedTradeCurrency); }) .collect(Collectors.toList())); @@ -97,11 +97,11 @@ public class BtcOfferBookViewModel extends OfferBookViewModel { ObservableList allCurrencies) { // Used for ignoring filter (show all) tradeCurrencies.add(new CryptoCurrency(GUIUtil.SHOW_ALL_FLAG, "")); - tradeCurrencies.addAll(preferences.getFiatCurrenciesAsObservable()); + tradeCurrencies.addAll(preferences.getTraditionalCurrenciesAsObservable()); tradeCurrencies.add(new CryptoCurrency(GUIUtil.EDIT_FLAG, "")); allCurrencies.add(new CryptoCurrency(GUIUtil.SHOW_ALL_FLAG, "")); - allCurrencies.addAll(CurrencyUtil.getAllSortedFiatCurrencies()); + allCurrencies.addAll(CurrencyUtil.getAllSortedTraditionalCurrencies()); allCurrencies.add(new CryptoCurrency(GUIUtil.EDIT_FLAG, "")); } @@ -111,7 +111,7 @@ public class BtcOfferBookViewModel extends OfferBookViewModel { return offerBookListItem -> { Offer offer = offerBookListItem.getOffer(); boolean directionResult = offer.getDirection() != direction; - boolean currencyResult = (showAllTradeCurrenciesProperty.get() && offer.isFiatOffer()) || + boolean currencyResult = (showAllTradeCurrenciesProperty.get() && offer.isTraditionalOffer()) || offer.getCurrencyCode().equals(selectedTradeCurrency.getCode()); boolean paymentMethodResult = showAllPaymentMethods || offer.getPaymentMethod().equals(selectedPaymentMethod); @@ -124,7 +124,7 @@ public class BtcOfferBookViewModel extends OfferBookViewModel { TradeCurrency getDefaultTradeCurrency() { TradeCurrency defaultTradeCurrency = GlobalSettings.getDefaultTradeCurrency(); - if (CurrencyUtil.isFiatCurrency(defaultTradeCurrency.getCode()) && hasPaymentAccountForCurrency(defaultTradeCurrency)) { + if (CurrencyUtil.isTraditionalCurrency(defaultTradeCurrency.getCode()) && hasPaymentAccountForCurrency(defaultTradeCurrency)) { return defaultTradeCurrency; } @@ -137,7 +137,7 @@ public class BtcOfferBookViewModel extends OfferBookViewModel { !hasPaymentAccountForCurrency(o2))).collect(Collectors.toList()); return sortedList.get(0); } else { - return CurrencyUtil.getMainFiatCurrencies().stream().sorted((o1, o2) -> + return CurrencyUtil.getMainTraditionalCurrencies().stream().sorted((o1, o2) -> Boolean.compare(!hasPaymentAccountForCurrency(o1), !hasPaymentAccountForCurrency(o2))).collect(Collectors.toList()).get(0); } @@ -148,6 +148,6 @@ public class BtcOfferBookViewModel extends OfferBookViewModel { // validate if previous stored currencies are Fiat ones String currencyCode = direction == OfferDirection.BUY ? preferences.getBuyScreenCurrencyCode() : preferences.getSellScreenCurrencyCode(); - return CurrencyUtil.isFiatCurrency(currencyCode) ? currencyCode : null; + return CurrencyUtil.isTraditionalCurrency(currencyCode) ? currencyCode : null; } } diff --git a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookListItem.java b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookListItem.java index 9d6400b5..282b7a02 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookListItem.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookListItem.java @@ -68,7 +68,7 @@ public class OfferBookListItem { SignedWitnessService signedWitnessService) { if (witnessAgeData == null) { if (CurrencyUtil.isCryptoCurrency(offer.getCurrencyCode())) { - witnessAgeData = new WitnessAgeData(WitnessAgeData.TYPE_ALTCOINS); + witnessAgeData = new WitnessAgeData(WitnessAgeData.TYPE_CRYPTOS); } else if (PaymentMethod.hasChargebackRisk(offer.getPaymentMethod(), offer.getCurrencyCode())) { // Fiat and signed witness required Optional optionalWitness = accountAgeWitnessService.findWitness(offer); @@ -128,7 +128,7 @@ public class OfferBookListItem { public static final long TYPE_SIGNED_OR_BANNED = 3L; public static final long TYPE_NOT_SIGNED = 2L; public static final long TYPE_NOT_SIGNING_REQUIRED = 1L; - public static final long TYPE_ALTCOINS = 0L; + public static final long TYPE_CRYPTOS = 0L; public WitnessAgeData(long type) { this(type, 0, null); @@ -175,7 +175,7 @@ public class OfferBookListItem { } public boolean isSigningRequired() { - return this.type != TYPE_NOT_SIGNING_REQUIRED && this.type != TYPE_ALTCOINS; + return this.type != TYPE_NOT_SIGNING_REQUIRED && this.type != TYPE_CRYPTOS; } @Override diff --git a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookView.java b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookView.java index f0a71934..df96f62c 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookView.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OfferBookView.java @@ -54,8 +54,8 @@ import haveno.desktop.components.PeerInfoIconTrading; import haveno.desktop.components.TitledGroupBg; import haveno.desktop.main.MainView; import haveno.desktop.main.account.AccountView; -import haveno.desktop.main.account.content.altcoinaccounts.AltCoinAccountsView; -import haveno.desktop.main.account.content.fiataccounts.FiatAccountsView; +import haveno.desktop.main.account.content.cryptoaccounts.CryptoAccountsView; +import haveno.desktop.main.account.content.traditionalaccounts.TraditionalAccountsView; import haveno.desktop.main.funds.FundsView; import haveno.desktop.main.funds.withdrawal.WithdrawalView; import haveno.desktop.main.offer.OfferView; @@ -613,10 +613,10 @@ abstract public class OfferBookView { navigation.setReturnPath(navigation.getCurrentPath()); - if (CurrencyUtil.isFiatCurrency(model.getSelectedTradeCurrency().getCode())) { - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + if (CurrencyUtil.isTraditionalCurrency(model.getSelectedTradeCurrency().getCode())) { + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); } else { - navigation.navigateTo(MainView.class, AccountView.class, AltCoinAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, CryptoAccountsView.class); } }) .width(725) @@ -749,7 +749,7 @@ abstract public class OfferBookView getMarketBasedPrice(Offer offer) { - OfferDirection displayDirection = offer.isFiatOffer() ? direction : + OfferDirection displayDirection = offer.isTraditionalOffer() ? direction : direction.equals(OfferDirection.BUY) ? OfferDirection.SELL : OfferDirection.BUY; return priceUtil.getMarketBasedPrice(offer, displayDirection); } @@ -427,7 +427,7 @@ abstract class OfferBookViewModel extends ActivatableViewModel { } int getNumberOfDecimalsForVolume(OfferBookListItem item) { - return item.getOffer().isFiatOffer() ? GUIUtil.FIAT_DECIMALS_WITH_ZEROS : GUIUtil.ALTCOINS_DECIMALS_WITH_ZEROS; + return item.getOffer().isFiatOffer() ? GUIUtil.FIAT_DECIMALS_WITH_ZEROS : GUIUtil.CRYPTOS_DECIMALS_WITH_ZEROS; } String getPaymentMethod(OfferBookListItem item) { @@ -622,7 +622,7 @@ abstract class OfferBookViewModel extends ActivatableViewModel { } private static String getDirectionWithCodeDetailed(OfferDirection direction, String currencyCode) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) return (direction == OfferDirection.BUY) ? Res.get("shared.buyingBTCWith", currencyCode) : Res.get("shared.sellingBTCFor", currencyCode); else return (direction == OfferDirection.SELL) ? Res.get("shared.buyingCurrency", currencyCode) : Res.get("shared.sellingCurrency", currencyCode); diff --git a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OtherOfferBookViewModel.java b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OtherOfferBookViewModel.java index d244cafc..0c42a544 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OtherOfferBookViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/OtherOfferBookViewModel.java @@ -91,13 +91,13 @@ public class OtherOfferBookViewModel extends OfferBookViewModel { tradeCurrencies.add(new CryptoCurrency(GUIUtil.SHOW_ALL_FLAG, "")); tradeCurrencies.addAll(preferences.getCryptoCurrenciesAsObservable().stream() - .filter(withoutTopAltcoin()) + .filter(withoutTopCrypto()) .collect(Collectors.toList())); tradeCurrencies.add(new CryptoCurrency(GUIUtil.EDIT_FLAG, "")); allCurrencies.add(new CryptoCurrency(GUIUtil.SHOW_ALL_FLAG, "")); allCurrencies.addAll(CurrencyUtil.getAllSortedCryptoCurrencies().stream() - .filter(withoutTopAltcoin()) + .filter(withoutTopCrypto()) .collect(Collectors.toList())); allCurrencies.add(new CryptoCurrency(GUIUtil.EDIT_FLAG, "")); } @@ -107,11 +107,11 @@ public class OtherOfferBookViewModel extends OfferBookViewModel { TradeCurrency selectedTradeCurrency) { return offerBookListItem -> { Offer offer = offerBookListItem.getOffer(); - // BUY Altcoin is actually SELL Bitcoin + // BUY Crypto is actually SELL Bitcoin boolean directionResult = offer.getDirection() == direction; boolean currencyResult = CurrencyUtil.isCryptoCurrency(offer.getCurrencyCode()) && ((showAllTradeCurrenciesProperty.get() && - !offer.getCurrencyCode().equals(GUIUtil.TOP_ALTCOIN.getCode())) || + !offer.getCurrencyCode().equals(GUIUtil.TOP_CRYPTO.getCode())) || offer.getCurrencyCode().equals(selectedTradeCurrency.getCode())); boolean paymentMethodResult = showAllPaymentMethods || offer.getPaymentMethod().equals(selectedPaymentMethod); @@ -124,8 +124,8 @@ public class OtherOfferBookViewModel extends OfferBookViewModel { TradeCurrency getDefaultTradeCurrency() { TradeCurrency defaultTradeCurrency = GlobalSettings.getDefaultTradeCurrency(); - if (!CurrencyUtil.isFiatCurrency(defaultTradeCurrency.getCode()) && - !defaultTradeCurrency.equals(GUIUtil.TOP_ALTCOIN) && + if (!CurrencyUtil.isTraditionalCurrency(defaultTradeCurrency.getCode()) && + !defaultTradeCurrency.equals(GUIUtil.TOP_CRYPTO) && hasPaymentAccountForCurrency(defaultTradeCurrency)) { return defaultTradeCurrency; } @@ -152,8 +152,8 @@ public class OtherOfferBookViewModel extends OfferBookViewModel { } @NotNull - private Predicate withoutTopAltcoin() { + private Predicate withoutTopCrypto() { return cryptoCurrency -> - !cryptoCurrency.equals(GUIUtil.TOP_ALTCOIN); + !cryptoCurrency.equals(GUIUtil.TOP_CRYPTO); } } diff --git a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopAltcoinOfferBookView.fxml b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopCryptoOfferBookView.fxml similarity index 97% rename from desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopAltcoinOfferBookView.fxml rename to desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopCryptoOfferBookView.fxml index 3d1e3798..45a46ca7 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopAltcoinOfferBookView.fxml +++ b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopCryptoOfferBookView.fxml @@ -19,7 +19,7 @@ - diff --git a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopAltcoinOfferBookView.java b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopCryptoOfferBookView.java similarity index 80% rename from desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopAltcoinOfferBookView.java rename to desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopCryptoOfferBookView.java index 40b5439f..b04f0410 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopAltcoinOfferBookView.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/offerbook/TopCryptoOfferBookView.java @@ -34,10 +34,10 @@ import javax.inject.Inject; import javax.inject.Named; @FxmlView -public class TopAltcoinOfferBookView extends OfferBookView { +public class TopCryptoOfferBookView extends OfferBookView { @Inject - TopAltcoinOfferBookView(TopAltcoinOfferBookViewModel model, + TopCryptoOfferBookView(TopCryptoOfferBookViewModel model, Navigation navigation, OfferDetailsWindow offerDetailsWindow, @Named(FormattingUtils.BTC_FORMATTER_KEY) CoinFormatter formatter, @@ -51,13 +51,13 @@ public class TopAltcoinOfferBookView extends OfferBookView tradeCurrencies, ObservableList allCurrencies) { - tradeCurrencies.add(TOP_ALTCOIN); - allCurrencies.add(TOP_ALTCOIN); + tradeCurrencies.add(TOP_CRYPTO); + allCurrencies.add(TOP_CRYPTO); } @Override @@ -95,9 +95,9 @@ public class TopAltcoinOfferBookViewModel extends OfferBookViewModel { TradeCurrency selectedTradeCurrency) { return offerBookListItem -> { Offer offer = offerBookListItem.getOffer(); - // BUY Altcoin is actually SELL Bitcoin + // BUY Crypto is actually SELL Bitcoin boolean directionResult = offer.getDirection() == direction; - boolean currencyResult = offer.getCurrencyCode().equals(TOP_ALTCOIN.getCode()); + boolean currencyResult = offer.getCurrencyCode().equals(TOP_CRYPTO.getCode()); boolean paymentMethodResult = showAllPaymentMethods || offer.getPaymentMethod().equals(selectedPaymentMethod); boolean notMyOfferOrShowMyOffersActivated = !isMyOffer(offerBookListItem.getOffer()) || preferences.isShowOwnOffersInOfferBook(); @@ -107,11 +107,11 @@ public class TopAltcoinOfferBookViewModel extends OfferBookViewModel { @Override TradeCurrency getDefaultTradeCurrency() { - return TOP_ALTCOIN; + return TOP_CRYPTO; } @Override String getCurrencyCodeFromPreferences(OfferDirection direction) { - return TOP_ALTCOIN.getCode(); + return TOP_CRYPTO.getCode(); } } diff --git a/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferView.java b/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferView.java index 57bc1fc2..c8d41241 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferView.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferView.java @@ -1174,9 +1174,9 @@ public class TakeOfferView extends ActivatableViewAndModel im addBindings(); addListeners(); - String buyVolumeDescriptionKey = offer.isFiatOffer() ? "createOffer.amountPriceBox.buy.volumeDescription" : - "createOffer.amountPriceBox.buy.volumeDescriptionAltcoin"; - String sellVolumeDescriptionKey = offer.isFiatOffer() ? "createOffer.amountPriceBox.sell.volumeDescription" : - "createOffer.amountPriceBox.sell.volumeDescriptionAltcoin"; + String buyVolumeDescriptionKey = offer.isTraditionalOffer() ? "createOffer.amountPriceBox.buy.volumeDescription" : + "createOffer.amountPriceBox.buy.volumeDescriptionCrypto"; + String sellVolumeDescriptionKey = offer.isTraditionalOffer() ? "createOffer.amountPriceBox.sell.volumeDescription" : + "createOffer.amountPriceBox.sell.volumeDescriptionCrypto"; if (dataModel.getDirection() == OfferDirection.SELL) { volumeDescriptionLabel.set(Res.get(buyVolumeDescriptionKey, dataModel.getCurrencyCode())); @@ -193,10 +193,10 @@ class TakeOfferViewModel extends ActivatableWithDataModel im dataModel.initWithData(offer); this.offer = offer; - String buyAmountDescriptionKey = offer.isFiatOffer() ? "takeOffer.amountPriceBox.buy.amountDescription" : - "takeOffer.amountPriceBox.buy.amountDescriptionAltcoin"; - String sellAmountDescriptionKey = offer.isFiatOffer() ? "takeOffer.amountPriceBox.sell.amountDescription" : - "takeOffer.amountPriceBox.sell.amountDescriptionAltcoin"; + String buyAmountDescriptionKey = offer.isTraditionalOffer() ? "takeOffer.amountPriceBox.buy.amountDescription" : + "takeOffer.amountPriceBox.buy.amountDescriptionCrypto"; + String sellAmountDescriptionKey = offer.isTraditionalOffer() ? "takeOffer.amountPriceBox.sell.amountDescription" : + "takeOffer.amountPriceBox.sell.amountDescriptionCrypto"; amountDescription = offer.isBuyOffer() ? Res.get(buyAmountDescriptionKey) diff --git a/desktop/src/main/java/haveno/desktop/main/overlays/windows/OfferDetailsWindow.java b/desktop/src/main/java/haveno/desktop/main/overlays/windows/OfferDetailsWindow.java index afbd6fa5..11c69d25 100644 --- a/desktop/src/main/java/haveno/desktop/main/overlays/windows/OfferDetailsWindow.java +++ b/desktop/src/main/java/haveno/desktop/main/overlays/windows/OfferDetailsWindow.java @@ -193,8 +193,8 @@ public class OfferDetailsWindow extends Overlay { addTitledGroupBg(gridPane, ++rowIndex, rows, Res.get("shared.Offer")); - String fiatDirectionInfo = ""; - String btcDirectionInfo = ""; + String counterCurrencyDirectionInfo = ""; + String xmrDirectionInfo = ""; OfferDirection direction = offer.getDirection(); String currencyCode = offer.getCurrencyCode(); String offerTypeLabel = Res.get("shared.offerType"); @@ -204,25 +204,25 @@ public class OfferDetailsWindow extends Overlay { if (takeOfferHandlerOptional.isPresent()) { addConfirmationLabelLabel(gridPane, rowIndex, offerTypeLabel, DisplayUtils.getDirectionForTakeOffer(direction, currencyCode), firstRowDistance); - fiatDirectionInfo = direction == OfferDirection.BUY ? toReceive : toSpend; - btcDirectionInfo = direction == OfferDirection.SELL ? toReceive : toSpend; + counterCurrencyDirectionInfo = direction == OfferDirection.BUY ? toReceive : toSpend; + xmrDirectionInfo = direction == OfferDirection.SELL ? toReceive : toSpend; } else if (placeOfferHandlerOptional.isPresent()) { addConfirmationLabelLabel(gridPane, rowIndex, offerTypeLabel, DisplayUtils.getOfferDirectionForCreateOffer(direction, currencyCode), firstRowDistance); - fiatDirectionInfo = direction == OfferDirection.SELL ? toReceive : toSpend; - btcDirectionInfo = direction == OfferDirection.BUY ? toReceive : toSpend; + counterCurrencyDirectionInfo = direction == OfferDirection.SELL ? toReceive : toSpend; + xmrDirectionInfo = direction == OfferDirection.BUY ? toReceive : toSpend; } else { addConfirmationLabelLabel(gridPane, rowIndex, offerTypeLabel, DisplayUtils.getDirectionBothSides(direction), firstRowDistance); } String btcAmount = Res.get("shared.btcAmount"); if (takeOfferHandlerOptional.isPresent()) { - addConfirmationLabelLabel(gridPane, ++rowIndex, btcAmount + btcDirectionInfo, + addConfirmationLabelLabel(gridPane, ++rowIndex, btcAmount + xmrDirectionInfo, HavenoUtils.formatXmr(tradeAmount, true)); - addConfirmationLabelLabel(gridPane, ++rowIndex, VolumeUtil.formatVolumeLabel(currencyCode) + fiatDirectionInfo, + addConfirmationLabelLabel(gridPane, ++rowIndex, VolumeUtil.formatVolumeLabel(currencyCode) + counterCurrencyDirectionInfo, VolumeUtil.formatVolumeWithCode(offer.getVolumeByAmount(tradeAmount))); } else { - addConfirmationLabelLabel(gridPane, ++rowIndex, btcAmount + btcDirectionInfo, + addConfirmationLabelLabel(gridPane, ++rowIndex, btcAmount + xmrDirectionInfo, HavenoUtils.formatXmr(offer.getAmount(), true)); addConfirmationLabelLabel(gridPane, ++rowIndex, Res.get("offerDetailsWindow.minBtcAmount"), HavenoUtils.formatXmr(offer.getMinAmount(), true)); @@ -232,7 +232,7 @@ public class OfferDetailsWindow extends Overlay { !offer.getVolume().equals(offer.getMinVolume())) minVolume = " " + Res.get("offerDetailsWindow.min", VolumeUtil.formatVolumeWithCode(offer.getMinVolume())); addConfirmationLabelLabel(gridPane, ++rowIndex, - VolumeUtil.formatVolumeLabel(currencyCode) + fiatDirectionInfo, volume + minVolume); + VolumeUtil.formatVolumeLabel(currencyCode) + counterCurrencyDirectionInfo, volume + minVolume); } String priceLabel = Res.get("shared.price"); diff --git a/desktop/src/main/java/haveno/desktop/main/overlays/windows/SignPaymentAccountsWindow.java b/desktop/src/main/java/haveno/desktop/main/overlays/windows/SignPaymentAccountsWindow.java index 75a0aa8e..79841490 100644 --- a/desktop/src/main/java/haveno/desktop/main/overlays/windows/SignPaymentAccountsWindow.java +++ b/desktop/src/main/java/haveno/desktop/main/overlays/windows/SignPaymentAccountsWindow.java @@ -168,7 +168,7 @@ public class SignPaymentAccountsWindow extends Overlay getPaymentMethods() { return PaymentMethod.paymentMethods.stream() - .filter(PaymentMethod::isFiat) + .filter(PaymentMethod::isTraditional) .filter(PaymentMethod::hasChargebackRisk) .collect(Collectors.toList()); } diff --git a/desktop/src/main/java/haveno/desktop/main/overlays/windows/TacWindow.java b/desktop/src/main/java/haveno/desktop/main/overlays/windows/TacWindow.java index d54f4e0b..4a272c6d 100644 --- a/desktop/src/main/java/haveno/desktop/main/overlays/windows/TacWindow.java +++ b/desktop/src/main/java/haveno/desktop/main/overlays/windows/TacWindow.java @@ -81,7 +81,7 @@ public class TacWindow extends Overlay { " - Leave the \"reason for payment\" field empty. DO NOT put the trade ID or any other text like 'monero', 'XMR', or 'Haveno'.\n" + " - If the bank of the fiat sender charges fees, the sender (" + Res.getBaseCurrencyCode() + " buyer) has to cover the fees.\n" + " - You must cooperate with the mediator during the mediation process, and respond to each mediator message within 48 hours.\n" + - " - If either (or both) traders do not accept the mediator's suggested payout, traders can open a refund request from an arbitrator after 10 days in case of altcoin trades\n" + + " - If either (or both) traders do not accept the mediator's suggested payout, traders can open a refund request from an arbitrator after 10 days in case of crypto trades\n" + " and 20 days for fiat trades.\n" + " - You should only open a refund request from an arbitrator if you think the mediator's suggested payout is unfair, or if your trading peer is unresponsive.\n" + " - Opening a refund request from an arbitrator triggers the delayed payout transaction, sending all funds from the deposit transaction to the Haveno receiver\n" + diff --git a/desktop/src/main/java/haveno/desktop/main/overlays/windows/TradeDetailsWindow.java b/desktop/src/main/java/haveno/desktop/main/overlays/windows/TradeDetailsWindow.java index 463e07c8..0decace9 100644 --- a/desktop/src/main/java/haveno/desktop/main/overlays/windows/TradeDetailsWindow.java +++ b/desktop/src/main/java/haveno/desktop/main/overlays/windows/TradeDetailsWindow.java @@ -138,27 +138,27 @@ public class TradeDetailsWindow extends Overlay { addTitledGroupBg(gridPane, ++rowIndex, rows, Res.get("tradeDetailsWindow.headline")); boolean myOffer = tradeManager.isMyOffer(offer); - String fiatDirectionInfo; - String btcDirectionInfo; + String counterCurrencyDirectionInfo; + String xmrDirectionInfo; String toReceive = " " + Res.get("shared.toReceive"); String toSpend = " " + Res.get("shared.toSpend"); String offerType = Res.get("shared.offerType"); if (tradeManager.isBuyer(offer)) { addConfirmationLabelTextField(gridPane, rowIndex, offerType, DisplayUtils.getDirectionForBuyer(myOffer, offer.getCurrencyCode()), Layout.TWICE_FIRST_ROW_DISTANCE); - fiatDirectionInfo = toSpend; - btcDirectionInfo = toReceive; + counterCurrencyDirectionInfo = toSpend; + xmrDirectionInfo = toReceive; } else { addConfirmationLabelTextField(gridPane, rowIndex, offerType, DisplayUtils.getDirectionForSeller(myOffer, offer.getCurrencyCode()), Layout.TWICE_FIRST_ROW_DISTANCE); - fiatDirectionInfo = toReceive; - btcDirectionInfo = toSpend; + counterCurrencyDirectionInfo = toReceive; + xmrDirectionInfo = toSpend; } - addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.btcAmount") + btcDirectionInfo, + addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.btcAmount") + xmrDirectionInfo, HavenoUtils.formatXmr(trade.getAmount(), true)); addConfirmationLabelTextField(gridPane, ++rowIndex, - VolumeUtil.formatVolumeLabel(offer.getCurrencyCode()) + fiatDirectionInfo, + VolumeUtil.formatVolumeLabel(offer.getCurrencyCode()) + counterCurrencyDirectionInfo, VolumeUtil.formatVolumeWithCode(trade.getVolume())); addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.tradePrice"), FormattingUtils.formatPrice(trade.getPrice())); @@ -306,7 +306,7 @@ public class TradeDetailsWindow extends Overlay { data += "\n\n" + (trade.getMaker() == trade.getBuyer() ? "Buyer" : "Seller") + " as maker reserve tx hex: " + trade.getMaker().getReserveTxHex(); data += "\n\n" + (trade.getTaker() == trade.getBuyer() ? "Buyer" : "Seller") + " as taker reserve tx hex: " + trade.getTaker().getReserveTxHex(); } - if (offer.isFiatOffer()) { + if (offer.isTraditionalOffer()) { data += "\n\nBuyers witness hash,pub key ring hash: " + buyerWitnessHash + "," + buyerPubKeyRingHash; data += "\nBuyers account age: " + buyersAccountAge; data += "\nSellers witness hash,pub key ring hash: " + sellerWitnessHash + "," + sellerPubKeyRingHash; diff --git a/desktop/src/main/java/haveno/desktop/main/portfolio/duplicateoffer/DuplicateOfferViewModel.java b/desktop/src/main/java/haveno/desktop/main/portfolio/duplicateoffer/DuplicateOfferViewModel.java index 7a1654ad..a3a0f6fe 100644 --- a/desktop/src/main/java/haveno/desktop/main/portfolio/duplicateoffer/DuplicateOfferViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/portfolio/duplicateoffer/DuplicateOfferViewModel.java @@ -29,7 +29,7 @@ import haveno.core.provider.price.PriceFeedService; import haveno.core.user.Preferences; import haveno.core.util.FormattingUtils; import haveno.core.util.coin.CoinFormatter; -import haveno.core.util.validation.AltcoinValidator; +import haveno.core.util.validation.NonFiatPriceValidator; import haveno.core.util.validation.FiatPriceValidator; import haveno.desktop.Navigation; import haveno.desktop.main.offer.MutableOfferViewModel; @@ -44,7 +44,7 @@ class DuplicateOfferViewModel extends MutableOfferViewModel { public EditOfferViewModel(EditOfferDataModel dataModel, FiatVolumeValidator fiatVolumeValidator, FiatPriceValidator fiatPriceValidator, - AltcoinValidator altcoinValidator, + NonFiatPriceValidator nonFiatPriceValidator, XmrValidator btcValidator, SecurityDepositValidator securityDepositValidator, PriceFeedService priceFeedService, @@ -56,7 +56,7 @@ class EditOfferViewModel extends MutableOfferViewModel { super(dataModel, fiatVolumeValidator, fiatPriceValidator, - altcoinValidator, + nonFiatPriceValidator, btcValidator, securityDepositValidator, priceFeedService, diff --git a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java index fa3ea6e5..a50f7d68 100644 --- a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java +++ b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java @@ -586,7 +586,7 @@ public class BuyerStep2View extends TradeStepView { String id = trade.getShortId(); String amount = VolumeUtil.formatVolumeWithCode(trade.getVolume()); if (paymentAccountPayload instanceof AssetAccountPayload) { - message += Res.get("portfolio.pending.step2_buyer.altcoin", + message += Res.get("portfolio.pending.step2_buyer.crypto", getCurrencyName(trade), amount); } else if (paymentAccountPayload instanceof CashDepositAccountPayload) { diff --git a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java index 46170213..ac82cdd5 100644 --- a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java +++ b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java @@ -92,7 +92,7 @@ public class BuyerStep4View extends TradeStepView { if (trade.getDisputeState().isNotDisputed()) { addCompactTopLabelTextField(gridPane, gridRow, getBtcTradeAmountLabel(), model.getTradeVolume(), Layout.TWICE_FIRST_ROW_DISTANCE); - addCompactTopLabelTextField(gridPane, ++gridRow, getFiatTradeAmountLabel(), model.getFiatVolume()); + addCompactTopLabelTextField(gridPane, ++gridRow, getTraditionalTradeAmountLabel(), model.getFiatVolume()); addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("portfolio.pending.step5_buyer.refunded"), model.getSecurityDeposit()); addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("portfolio.pending.step5_buyer.tradeFee"), model.getTradeFee()); } @@ -153,7 +153,7 @@ public class BuyerStep4View extends TradeStepView { return Res.get("portfolio.pending.step5_buyer.bought"); } - protected String getFiatTradeAmountLabel() { + protected String getTraditionalTradeAmountLabel() { return Res.get("portfolio.pending.step5_buyer.paid"); } } diff --git a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java index 3e1d8fcb..58d845b0 100644 --- a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java +++ b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java @@ -302,9 +302,9 @@ public class SellerStep3View extends TradeStepView { protected String getInfoText() { String currencyName = getCurrencyName(trade); if (model.isBlockChainMethod()) { - return Res.get("portfolio.pending.step3_seller.buyerStartedPayment", Res.get("portfolio.pending.step3_seller.buyerStartedPayment.altcoin", currencyName)); + return Res.get("portfolio.pending.step3_seller.buyerStartedPayment", Res.get("portfolio.pending.step3_seller.buyerStartedPayment.crypto", currencyName)); } else { - return Res.get("portfolio.pending.step3_seller.buyerStartedPayment", Res.get("portfolio.pending.step3_seller.buyerStartedPayment.fiat", currencyName)); + return Res.get("portfolio.pending.step3_seller.buyerStartedPayment", Res.get("portfolio.pending.step3_seller.buyerStartedPayment.traditional", currencyName)); } } @@ -389,9 +389,9 @@ public class SellerStep3View extends TradeStepView { if (paymentAccountPayload instanceof AssetAccountPayload) { String address = ((AssetAccountPayload) paymentAccountPayload).getAddress(); String explorerOrWalletString = isXmrTrade() ? - Res.get("portfolio.pending.step3_seller.altcoin.wallet", currencyName) : - Res.get("portfolio.pending.step3_seller.altcoin.explorer", currencyName); - message = Res.get("portfolio.pending.step3_seller.altcoin", + Res.get("portfolio.pending.step3_seller.crypto.wallet", currencyName) : + Res.get("portfolio.pending.step3_seller.crypto.explorer", currencyName); + message = Res.get("portfolio.pending.step3_seller.crypto", part1, explorerOrWalletString, address, diff --git a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep4View.java b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep4View.java index e0676bb1..c57eec9a 100644 --- a/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep4View.java +++ b/desktop/src/main/java/haveno/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep4View.java @@ -37,7 +37,7 @@ public class SellerStep4View extends BuyerStep4View { } @Override - protected String getFiatTradeAmountLabel() { + protected String getTraditionalTradeAmountLabel() { return Res.get("portfolio.pending.step5_seller.received"); } } diff --git a/desktop/src/main/java/haveno/desktop/main/presentation/MarketPricePresentation.java b/desktop/src/main/java/haveno/desktop/main/presentation/MarketPricePresentation.java index f0a17c44..35be3289 100644 --- a/desktop/src/main/java/haveno/desktop/main/presentation/MarketPricePresentation.java +++ b/desktop/src/main/java/haveno/desktop/main/presentation/MarketPricePresentation.java @@ -142,8 +142,8 @@ public class MarketPricePresentation { fillPriceFeedComboBoxItems(); }); } else { - CurrencyUtil.getFiatCurrency(code).ifPresent(fiatCurrency -> { - preferences.addFiatCurrency(fiatCurrency); + CurrencyUtil.getTraditionalCurrency(code).ifPresent(traditionalCurrency -> { + preferences.addTraditionalCurrency(traditionalCurrency); fillPriceFeedComboBoxItems(); }); } @@ -188,7 +188,7 @@ public class MarketPricePresentation { final String code = item.currencyCode; if (selectedPriceFeedComboBoxItemProperty.get() != null && selectedPriceFeedComboBoxItemProperty.get().currencyCode.equals(code)) { - isFiatCurrencyPriceFeedSelected.set(CurrencyUtil.isFiatCurrency(code) && CurrencyUtil.getFiatCurrency(code).isPresent() && item.isPriceAvailable() && item.isExternallyProvidedPrice()); + isFiatCurrencyPriceFeedSelected.set(CurrencyUtil.isTraditionalCurrency(code) && CurrencyUtil.getTraditionalCurrency(code).isPresent() && item.isPriceAvailable() && item.isExternallyProvidedPrice()); isCryptoCurrencyPriceFeedSelected.set(CurrencyUtil.isCryptoCurrency(code) && CurrencyUtil.getCryptoCurrency(code).isPresent() && item.isPriceAvailable() && item.isExternallyProvidedPrice()); isExternallyProvidedPrice.set(item.isExternallyProvidedPrice()); isPriceAvailable.set(item.isPriceAvailable()); diff --git a/desktop/src/main/java/haveno/desktop/main/settings/preferences/PreferencesView.java b/desktop/src/main/java/haveno/desktop/main/settings/preferences/PreferencesView.java index 8b7628b8..96736f4e 100644 --- a/desktop/src/main/java/haveno/desktop/main/settings/preferences/PreferencesView.java +++ b/desktop/src/main/java/haveno/desktop/main/settings/preferences/PreferencesView.java @@ -29,7 +29,7 @@ import haveno.core.locale.Country; import haveno.core.locale.CountryUtil; import haveno.core.locale.CryptoCurrency; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import haveno.core.locale.LanguageUtil; import haveno.core.locale.Res; import haveno.core.locale.TradeCurrency; @@ -128,15 +128,15 @@ public class PreferencesView extends ActivatableViewAndModel fiatCurrenciesListView; - private ComboBox fiatCurrenciesComboBox; + private ListView traditionalCurrenciesListView; + private ComboBox traditionalCurrenciesComboBox; private ListView cryptoCurrenciesListView; private ComboBox cryptoCurrenciesComboBox; private Button resetDontShowAgainButton, editCustomBtcExplorer; private ObservableList languageCodes; private ObservableList countries; - private ObservableList fiatCurrencies; - private ObservableList allFiatCurrencies; + private ObservableList traditionalCurrencies; + private ObservableList allTraditionalCurrencies; private ObservableList cryptoCurrencies; private ObservableList allCryptoCurrencies; private ObservableList tradeCurrencies; @@ -174,12 +174,12 @@ public class PreferencesView extends ActivatableViewAndModel, VBox> fiatTuple = addTopLabelListView(root, displayCurrenciesGridRowIndex, + Tuple3, VBox> traditionalTuple = addTopLabelListView(root, displayCurrenciesGridRowIndex, Res.get("setting.preferences.displayFiat")); int listRowSpan = 6; - GridPane.setColumnIndex(fiatTuple.third, 2); - GridPane.setRowSpan(fiatTuple.third, listRowSpan); + GridPane.setColumnIndex(traditionalTuple.third, 2); + GridPane.setRowSpan(traditionalTuple.third, listRowSpan); - GridPane.setValignment(fiatTuple.third, VPos.TOP); - GridPane.setMargin(fiatTuple.third, new Insets(10, 0, 0, 0)); - fiatCurrenciesListView = fiatTuple.second; - fiatCurrenciesListView.setMinHeight(9 * Layout.LIST_ROW_HEIGHT + 2); - fiatCurrenciesListView.setPrefHeight(10 * Layout.LIST_ROW_HEIGHT + 2); + GridPane.setValignment(traditionalTuple.third, VPos.TOP); + GridPane.setMargin(traditionalTuple.third, new Insets(10, 0, 0, 0)); + traditionalCurrenciesListView = traditionalTuple.second; + traditionalCurrenciesListView.setMinHeight(9 * Layout.LIST_ROW_HEIGHT + 2); + traditionalCurrenciesListView.setPrefHeight(10 * Layout.LIST_ROW_HEIGHT + 2); Label placeholder = new AutoTooltipLabel(Res.get("setting.preferences.noFiat")); placeholder.setWrapText(true); - fiatCurrenciesListView.setPlaceholder(placeholder); - fiatCurrenciesListView.setCellFactory(new Callback<>() { + traditionalCurrenciesListView.setPlaceholder(placeholder); + traditionalCurrenciesListView.setCellFactory(new Callback<>() { @Override - public ListCell call(ListView list) { + public ListCell call(ListView list) { return new ListCell<>() { final Label label = new AutoTooltipLabel(); final ImageView icon = ImageUtil.getImageViewById(ImageUtil.REMOVE_ICON); @@ -362,7 +362,7 @@ public class PreferencesView extends ActivatableViewAndModel, VBox> cryptoCurrenciesTuple = addTopLabelListView(root, - displayCurrenciesGridRowIndex, Res.get("setting.preferences.displayAltcoins")); + displayCurrenciesGridRowIndex, Res.get("setting.preferences.displayCryptos")); GridPane.setColumnIndex(cryptoCurrenciesTuple.third, 3); GridPane.setRowSpan(cryptoCurrenciesTuple.third, listRowSpan); @@ -398,7 +398,7 @@ public class PreferencesView extends ActivatableViewAndModel() { @@ -442,13 +442,13 @@ public class PreferencesView extends ActivatableViewAndModel() { + traditionalCurrenciesComboBox = addComboBox(root, displayCurrenciesGridRowIndex + listRowSpan); + GridPane.setColumnIndex(traditionalCurrenciesComboBox, 2); + GridPane.setValignment(traditionalCurrenciesComboBox, VPos.TOP); + traditionalCurrenciesComboBox.setPromptText(Res.get("setting.preferences.addFiat")); + traditionalCurrenciesComboBox.setButtonCell(new ListCell<>() { @Override - protected void updateItem(final FiatCurrency item, boolean empty) { + protected void updateItem(final TraditionalCurrency item, boolean empty) { super.updateItem(item, empty); this.setVisible(item != null || !empty); @@ -459,14 +459,14 @@ public class PreferencesView extends ActivatableViewAndModel() { + traditionalCurrenciesComboBox.setConverter(new StringConverter<>() { @Override - public String toString(FiatCurrency tradeCurrency) { + public String toString(TraditionalCurrency tradeCurrency) { return tradeCurrency.getNameAndCode(); } @Override - public FiatCurrency fromString(String s) { + public TraditionalCurrency fromString(String s) { return null; } }); @@ -476,7 +476,7 @@ public class PreferencesView extends ActivatableViewAndModel() { @Override protected void updateItem(final CryptoCurrency item, boolean empty) { @@ -485,7 +485,7 @@ public class PreferencesView extends ActivatableViewAndModel { - FiatCurrency selectedItem = fiatCurrenciesComboBox.getSelectionModel().getSelectedItem(); + traditionalCurrenciesComboBox.setItems(allTraditionalCurrencies); + traditionalCurrenciesListView.setItems(traditionalCurrencies); + traditionalCurrenciesComboBox.setOnHiding(e -> { + TraditionalCurrency selectedItem = traditionalCurrenciesComboBox.getSelectionModel().getSelectedItem(); if (selectedItem != null) { - preferences.addFiatCurrency(selectedItem); - if (allFiatCurrencies.contains(selectedItem)) { + preferences.addTraditionalCurrency(selectedItem); + if (allTraditionalCurrencies.contains(selectedItem)) { UserThread.execute(() -> { - fiatCurrenciesComboBox.getSelectionModel().clearSelection(); - allFiatCurrencies.remove(selectedItem); + traditionalCurrenciesComboBox.getSelectionModel().clearSelection(); + allTraditionalCurrencies.remove(selectedItem); }); } diff --git a/desktop/src/main/java/haveno/desktop/main/support/dispute/DisputeView.java b/desktop/src/main/java/haveno/desktop/main/support/dispute/DisputeView.java index 83fad765..3101f612 100644 --- a/desktop/src/main/java/haveno/desktop/main/support/dispute/DisputeView.java +++ b/desktop/src/main/java/haveno/desktop/main/support/dispute/DisputeView.java @@ -1198,7 +1198,7 @@ public abstract class DisputeView extends ActivatableView { String nrOfDisputes = disputeManager.getNrOfDisputes(true, contract); long accountAge = accountAgeWitnessService.getAccountAge(item.getBuyerPaymentAccountPayload(), contract.getBuyerPubKeyRing()); String age = DisplayUtils.formatAccountAge(accountAge); - String postFix = CurrencyUtil.isFiatCurrency(item.getContract().getOfferPayload().getCurrencyCode()) ? " / " + age : ""; + String postFix = CurrencyUtil.isTraditionalCurrency(item.getContract().getOfferPayload().getCurrencyCode()) ? " / " + age : ""; return buyerNodeAddress.getHostNameWithoutPostFix() + " (" + nrOfDisputes + postFix + ")"; } else return Res.get("shared.na"); @@ -1215,7 +1215,7 @@ public abstract class DisputeView extends ActivatableView { String nrOfDisputes = disputeManager.getNrOfDisputes(false, contract); long accountAge = accountAgeWitnessService.getAccountAge(item.getSellerPaymentAccountPayload(), contract.getSellerPubKeyRing()); String age = DisplayUtils.formatAccountAge(accountAge); - String postFix = CurrencyUtil.isFiatCurrency(item.getContract().getOfferPayload().getCurrencyCode()) ? " / " + age : ""; + String postFix = CurrencyUtil.isTraditionalCurrency(item.getContract().getOfferPayload().getCurrencyCode()) ? " / " + age : ""; return sellerNodeAddress.getHostNameWithoutPostFix() + " (" + nrOfDisputes + postFix + ")"; } else return Res.get("shared.na"); diff --git a/desktop/src/main/java/haveno/desktop/util/CurrencyList.java b/desktop/src/main/java/haveno/desktop/util/CurrencyList.java index c0b5a18d..e196394b 100644 --- a/desktop/src/main/java/haveno/desktop/util/CurrencyList.java +++ b/desktop/src/main/java/haveno/desktop/util/CurrencyList.java @@ -63,7 +63,7 @@ public class CurrencyList { private List getPartitionedSortedItems(List currencies) { Map tradesPerCurrency = countTrades(currencies); - List fiatCurrencies = new ArrayList<>(); + List traditionalCurrencies = new ArrayList<>(); List cryptoCurrencies = new ArrayList<>(); for (Map.Entry entry : tradesPerCurrency.entrySet()) { @@ -71,8 +71,8 @@ public class CurrencyList { Integer count = entry.getValue(); CurrencyListItem item = new CurrencyListItem(currency, count); - if (predicates.isFiatCurrency(currency)) { - fiatCurrencies.add(item); + if (predicates.isTraditionalCurrency(currency)) { + traditionalCurrencies.add(item); } if (predicates.isCryptoCurrency(currency)) { @@ -81,11 +81,11 @@ public class CurrencyList { } Comparator comparator = getComparator(); - fiatCurrencies.sort(comparator); + traditionalCurrencies.sort(comparator); cryptoCurrencies.sort(comparator); List result = new ArrayList<>(); - result.addAll(fiatCurrencies); + result.addAll(traditionalCurrencies); result.addAll(cryptoCurrencies); return result; @@ -110,7 +110,7 @@ public class CurrencyList { currencies.forEach(currency -> result.compute(currency, incrementCurrentOrOne)); Set preferred = new HashSet<>(); - preferred.addAll(preferences.getFiatCurrencies()); + preferred.addAll(preferences.getTraditionalCurrencies()); preferred.addAll(preferences.getCryptoCurrencies()); preferred.forEach(currency -> result.putIfAbsent(currency, 0)); diff --git a/desktop/src/main/java/haveno/desktop/util/CurrencyPredicates.java b/desktop/src/main/java/haveno/desktop/util/CurrencyPredicates.java index 8ded021c..d97889ef 100644 --- a/desktop/src/main/java/haveno/desktop/util/CurrencyPredicates.java +++ b/desktop/src/main/java/haveno/desktop/util/CurrencyPredicates.java @@ -25,7 +25,7 @@ class CurrencyPredicates { return CurrencyUtil.isCryptoCurrency(currency.getCode()); } - boolean isFiatCurrency(TradeCurrency currency) { - return CurrencyUtil.isFiatCurrency(currency.getCode()); + boolean isTraditionalCurrency(TradeCurrency currency) { + return CurrencyUtil.isTraditionalCurrency(currency.getCode()); } } diff --git a/desktop/src/main/java/haveno/desktop/util/DisplayUtils.java b/desktop/src/main/java/haveno/desktop/util/DisplayUtils.java index 78553cb1..2a388954 100644 --- a/desktop/src/main/java/haveno/desktop/util/DisplayUtils.java +++ b/desktop/src/main/java/haveno/desktop/util/DisplayUtils.java @@ -117,7 +117,7 @@ public class DisplayUtils { /////////////////////////////////////////////////////////////////////////////////////////// public static String getDirectionWithCode(OfferDirection direction, String currencyCode) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) return (direction == OfferDirection.BUY) ? Res.get("shared.buyCurrency", Res.getBaseCurrencyCode()) : Res.get("shared.sellCurrency", Res.getBaseCurrencyCode()); else return (direction == OfferDirection.SELL) ? Res.get("shared.buyCurrency", currencyCode) : Res.get("shared.sellCurrency", currencyCode); @@ -131,7 +131,7 @@ public class DisplayUtils { } public static String getDirectionForBuyer(boolean isMyOffer, String currencyCode) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { String code = Res.getBaseCurrencyCode(); return isMyOffer ? Res.get("formatter.youAreAsMaker", Res.get("shared.buyer"), code, Res.get("shared.seller"), code) : @@ -144,7 +144,7 @@ public class DisplayUtils { } public static String getDirectionForSeller(boolean isMyOffer, String currencyCode) { - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { String code = Res.getBaseCurrencyCode(); return isMyOffer ? Res.get("formatter.youAreAsMaker", Res.get("shared.seller"), code, Res.get("shared.buyer"), code) : @@ -158,7 +158,7 @@ public class DisplayUtils { public static String getDirectionForTakeOffer(OfferDirection direction, String currencyCode) { String baseCurrencyCode = Res.getBaseCurrencyCode(); - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { return direction == OfferDirection.BUY ? Res.get("formatter.youAre", Res.get("shared.selling"), baseCurrencyCode, Res.get("shared.buying"), currencyCode) : Res.get("formatter.youAre", Res.get("shared.buying"), baseCurrencyCode, Res.get("shared.selling"), currencyCode); @@ -172,14 +172,14 @@ public class DisplayUtils { public static String getOfferDirectionForCreateOffer(OfferDirection direction, String currencyCode) { String baseCurrencyCode = Res.getBaseCurrencyCode(); - if (CurrencyUtil.isFiatCurrency(currencyCode)) { + if (CurrencyUtil.isTraditionalCurrency(currencyCode)) { return direction == OfferDirection.BUY ? - Res.get("formatter.youAreCreatingAnOffer.fiat", Res.get("shared.buy"), baseCurrencyCode) : - Res.get("formatter.youAreCreatingAnOffer.fiat", Res.get("shared.sell"), baseCurrencyCode); + Res.get("formatter.youAreCreatingAnOffer.traditional", Res.get("shared.buy"), baseCurrencyCode) : + Res.get("formatter.youAreCreatingAnOffer.traditional", Res.get("shared.sell"), baseCurrencyCode); } else { return direction == OfferDirection.SELL ? - Res.get("formatter.youAreCreatingAnOffer.altcoin", Res.get("shared.buy"), currencyCode, Res.get("shared.selling"), baseCurrencyCode) : - Res.get("formatter.youAreCreatingAnOffer.altcoin", Res.get("shared.sell"), currencyCode, Res.get("shared.buying"), baseCurrencyCode); + Res.get("formatter.youAreCreatingAnOffer.crypto", Res.get("shared.buy"), currencyCode, Res.get("shared.selling"), baseCurrencyCode) : + Res.get("formatter.youAreCreatingAnOffer.crypto", Res.get("shared.sell"), currencyCode, Res.get("shared.buying"), baseCurrencyCode); } } diff --git a/desktop/src/main/java/haveno/desktop/util/GUIUtil.java b/desktop/src/main/java/haveno/desktop/util/GUIUtil.java index a2aba8bd..313d5080 100644 --- a/desktop/src/main/java/haveno/desktop/util/GUIUtil.java +++ b/desktop/src/main/java/haveno/desktop/util/GUIUtil.java @@ -63,7 +63,7 @@ import haveno.desktop.components.InfoAutoTooltipLabel; import haveno.desktop.components.indicator.TxConfidenceIndicator; import haveno.desktop.main.MainView; import haveno.desktop.main.account.AccountView; -import haveno.desktop.main.account.content.fiataccounts.FiatAccountsView; +import haveno.desktop.main.account.content.traditionalaccounts.TraditionalAccountsView; import haveno.desktop.main.overlays.popups.Popup; import haveno.network.p2p.P2PService; import javafx.collections.FXCollections; @@ -133,13 +133,13 @@ public class GUIUtil { public final static int FIAT_DECIMALS_WITH_ZEROS = 0; public final static int FIAT_PRICE_DECIMALS_WITH_ZEROS = 3; - public final static int ALTCOINS_DECIMALS_WITH_ZEROS = 7; + public final static int CRYPTOS_DECIMALS_WITH_ZEROS = 7; public final static int AMOUNT_DECIMALS_WITH_ZEROS = 3; public final static int AMOUNT_DECIMALS = 4; private static Preferences preferences; - public static TradeCurrency TOP_ALTCOIN = CurrencyUtil.getTradeCurrency("ETH").get(); + public static TradeCurrency TOP_CRYPTO = CurrencyUtil.getTradeCurrency("ETH").get(); public static void setPreferences(Preferences preferences) { GUIUtil.preferences = preferences; @@ -312,7 +312,7 @@ public class GUIUtil { HBox box = new HBox(); box.setSpacing(20); Label currencyType = new AutoTooltipLabel( - CurrencyUtil.isFiatCurrency(code) ? Res.get("shared.fiat") : Res.get("shared.crypto")); + CurrencyUtil.isTraditionalCurrency(code) ? Res.get("shared.traditional") : Res.get("shared.crypto")); currencyType.getStyleClass().add("currency-label-small"); Label currency = new AutoTooltipLabel(code); @@ -438,7 +438,7 @@ public class GUIUtil { HBox box = new HBox(); box.setSpacing(20); Label currencyType = new AutoTooltipLabel( - CurrencyUtil.isFiatCurrency(item.getCode()) ? Res.get("shared.fiat") : Res.get("shared.crypto")); + CurrencyUtil.isTraditionalCurrency(item.getCode()) ? Res.get("shared.traditional") : Res.get("shared.crypto")); currencyType.getStyleClass().add("currency-label-small"); Label currency = new AutoTooltipLabel(item.getCode()); @@ -509,7 +509,7 @@ public class GUIUtil { HBox box = new HBox(); box.setSpacing(20); Label paymentType = new AutoTooltipLabel( - method.isAltcoin() ? Res.get("shared.crypto") : Res.get("shared.fiat")); + method.isCrypto() ? Res.get("shared.crypto") : Res.get("shared.traditional")); paymentType.getStyleClass().add("currency-label-small"); Label paymentMethod = new AutoTooltipLabel(Res.get(id)); @@ -673,7 +673,7 @@ public class GUIUtil { .actionButtonTextWithGoTo("navigation.account") .onAction(() -> { navigation.setReturnPath(navigation.getCurrentPath()); - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); }) .dontShowAgainId(key) .show(); @@ -749,7 +749,7 @@ public class GUIUtil { .actionButtonTextWithGoTo("navigation.account") .onAction(() -> { navigation.setReturnPath(navigation.getCurrentPath()); - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + navigation.navigateTo(MainView.class, AccountView.class, TraditionalAccountsView.class); }).show(); return false; } @@ -908,7 +908,7 @@ public class GUIUtil { ComboBox currencyComboBox = FormBuilder.addComboBox(gridPane, ++gridRow, Res.get("shared.currency")); currencyComboBox.setPromptText(Res.get("list.currency.select")); - currencyComboBox.setItems(FXCollections.observableArrayList(CurrencyUtil.getAllSortedFiatCurrencies())); + currencyComboBox.setItems(FXCollections.observableArrayList(CurrencyUtil.getAllSortedTraditionalCurrencies())); currencyComboBox.setConverter(new StringConverter<>() { @Override @@ -1039,11 +1039,11 @@ public class GUIUtil { gridPane.getColumnConstraints().addAll(columnConstraints1, columnConstraints2); } - public static void updateTopAltcoin(Preferences preferences) { + public static void updateTopCrypto(Preferences preferences) { TradeCurrency tradeCurrency = preferences.getPreferredTradeCurrency(); - if (CurrencyUtil.isFiatCurrency(tradeCurrency.getCode())) { + if (CurrencyUtil.isTraditionalCurrency(tradeCurrency.getCode())) { return; } - TOP_ALTCOIN = tradeCurrency; + TOP_CRYPTO = tradeCurrency; } } diff --git a/desktop/src/test/java/haveno/desktop/MarketsPrintTool.java b/desktop/src/test/java/haveno/desktop/MarketsPrintTool.java index 18b24001..03baf445 100644 --- a/desktop/src/test/java/haveno/desktop/MarketsPrintTool.java +++ b/desktop/src/test/java/haveno/desktop/MarketsPrintTool.java @@ -19,7 +19,7 @@ package haveno.desktop; import haveno.core.locale.CryptoCurrency; import haveno.core.locale.CurrencyUtil; -import haveno.core.locale.FiatCurrency; +import haveno.core.locale.TraditionalCurrency; import java.util.Collection; import java.util.Comparator; @@ -34,22 +34,22 @@ public class MarketsPrintTool { StringBuilder sb = new StringBuilder(); Locale.setDefault(new Locale("en", "US")); - // - // + // + // - final Collection allSortedFiatCurrencies = CurrencyUtil.getAllSortedFiatCurrencies(); - final Stream fiatStream = allSortedFiatCurrencies.stream() - .filter(e -> !e.getCurrency().getCurrencyCode().equals("BTC")) // TODO (woodser): update to XMR - .map(e -> new MarketCurrency("btc_" + e.getCode().toLowerCase(), e.getName(), e.getCode())) + final Collection allSortedTraditionalCurrencies = CurrencyUtil.getAllSortedTraditionalCurrencies(); + final Stream traditionalStream = allSortedTraditionalCurrencies.stream() + .filter(e -> !e.getCurrency().getCurrencyCode().equals("XMR")) // TODO (woodser): update to XMR + .map(e -> new MarketCurrency("xmr_" + e.getCode().toLowerCase(), e.getName(), e.getCode())) .distinct(); final Collection allSortedCryptoCurrencies = CurrencyUtil.getAllSortedCryptoCurrencies(); final Stream cryptoStream = allSortedCryptoCurrencies.stream() - .filter(e -> !e.getCode().equals("BTC")) - .map(e -> new MarketCurrency(e.getCode().toLowerCase() + "_btc", e.getName(), e.getCode())) + .filter(e -> !e.getCode().equals("XMR")) + .map(e -> new MarketCurrency(e.getCode().toLowerCase() + "_xmr", e.getName(), e.getCode())) .distinct(); - Stream.concat(fiatStream, cryptoStream) + Stream.concat(traditionalStream, cryptoStream) .sorted(Comparator.comparing(o -> o.currencyName.toLowerCase())) .distinct() .forEach(e -> sb.append("