Merge branch 'master' into add-tests

This commit is contained in:
Julian Knutsen 2019-11-07 20:54:24 -08:00
commit e0c04ffcac
No known key found for this signature in database
GPG Key ID: D85F536DB3615B2D
54 changed files with 7834 additions and 632 deletions

View File

@ -59,7 +59,7 @@ configure(subprojects) {
logbackVersion = '1.1.10' logbackVersion = '1.1.10'
lombokVersion = '1.18.2' lombokVersion = '1.18.2'
mockitoVersion = '3.0.0' mockitoVersion = '3.0.0'
netlayerVersion = '0.6.6' netlayerVersion = '0.6.5.2'
protobufVersion = '3.9.1' protobufVersion = '3.9.1'
pushyVersion = '0.13.2' pushyVersion = '0.13.2'
qrgenVersion = '1.3' qrgenVersion = '1.3'
@ -274,7 +274,7 @@ configure(project(':desktop')) {
apply plugin: 'witness' apply plugin: 'witness'
apply from: '../gradle/witness/gradle-witness.gradle' apply from: '../gradle/witness/gradle-witness.gradle'
version = '1.2.2-SNAPSHOT' version = '1.2.3-SNAPSHOT'
mainClassName = 'bisq.desktop.app.BisqAppMain' mainClassName = 'bisq.desktop.app.BisqAppMain'

View File

@ -27,7 +27,7 @@ public class Version {
// VERSION = 0.5.0 introduces proto buffer for the P2P network and local DB and is a not backward compatible update // VERSION = 0.5.0 introduces proto buffer for the P2P network and local DB and is a not backward compatible update
// Therefore all sub versions start again with 1 // Therefore all sub versions start again with 1
// We use semantic versioning with major, minor and patch // We use semantic versioning with major, minor and patch
public static final String VERSION = "1.2.2"; public static final String VERSION = "1.2.3";
public static int getMajorVersion(String version) { public static int getMajorVersion(String version) {
return getSubVersion(version, 0); return getSubVersion(version, 0);

View File

@ -269,6 +269,12 @@ public class AccountAgeWitnessService {
.orElse(-1L); .orElse(-1L);
} }
public long getAccountAge(Trade trade) {
return findTradePeerWitness(trade)
.map(accountAgeWitness -> getAccountAge(accountAgeWitness, new Date()))
.orElse(-1L);
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Signed age // Signed age
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@ -290,6 +296,12 @@ public class AccountAgeWitnessService {
.orElse(-1L); .orElse(-1L);
} }
public long getWitnessSignAge(Trade trade, Date now) {
return findTradePeerWitness(trade)
.map(witness -> getWitnessSignAge(witness, now))
.orElse(-1L);
}
public AccountAge getPeersAccountAgeCategory(long peersAccountAge) { public AccountAge getPeersAccountAgeCategory(long peersAccountAge) {
return getAccountAgeCategory(peersAccountAge); return getAccountAgeCategory(peersAccountAge);
} }
@ -697,6 +709,12 @@ public class AccountAgeWitnessService {
.orElse(SignState.UNSIGNED); .orElse(SignState.UNSIGNED);
} }
public SignState getSignState(Trade trade) {
return findTradePeerWitness(trade)
.map(this::getSignState)
.orElse(SignState.UNSIGNED);
}
public SignState getSignState(AccountAgeWitness accountAgeWitness) { public SignState getSignState(AccountAgeWitness accountAgeWitness) {
if (signedWitnessService.isSignedByArbitrator(accountAgeWitness)) { if (signedWitnessService.isSignedByArbitrator(accountAgeWitness)) {
return SignState.ARBITRATOR; return SignState.ARBITRATOR;

View File

@ -93,7 +93,8 @@ public class BisqHeadlessApp implements HeadlessApp {
bisqSetup.setDisplaySecurityRecommendationHandler(key -> log.info("onDisplaySecurityRecommendationHandler")); bisqSetup.setDisplaySecurityRecommendationHandler(key -> log.info("onDisplaySecurityRecommendationHandler"));
bisqSetup.setDisplayLocalhostHandler(key -> log.info("onDisplayLocalhostHandler")); bisqSetup.setDisplayLocalhostHandler(key -> log.info("onDisplayLocalhostHandler"));
bisqSetup.setWrongOSArchitectureHandler(msg -> log.error("onWrongOSArchitectureHandler. msg={}", msg)); bisqSetup.setWrongOSArchitectureHandler(msg -> log.error("onWrongOSArchitectureHandler. msg={}", msg));
bisqSetup.setVoteResultExceptionHandler(voteResultException -> log.warn("voteResultException={}", voteResultException)); bisqSetup.setVoteResultExceptionHandler(voteResultException -> log.warn("voteResultException={}", voteResultException.toString()));
bisqSetup.setRejectedTxErrorMessageHandler(errorMessage -> log.warn("setRejectedTxErrorMessageHandler. errorMessage={}", errorMessage));
//TODO move to bisqSetup //TODO move to bisqSetup
corruptedDatabaseFilesHandler.getCorruptedDatabaseFiles().ifPresent(files -> log.warn("getCorruptedDatabaseFiles. files={}", files)); corruptedDatabaseFilesHandler.getCorruptedDatabaseFiles().ifPresent(files -> log.warn("getCorruptedDatabaseFiles. files={}", files));

View File

@ -55,6 +55,7 @@ import bisq.core.support.dispute.refund.RefundManager;
import bisq.core.support.dispute.refund.refundagent.RefundAgentManager; import bisq.core.support.dispute.refund.refundagent.RefundAgentManager;
import bisq.core.support.traderchat.TraderChatManager; import bisq.core.support.traderchat.TraderChatManager;
import bisq.core.trade.TradeManager; import bisq.core.trade.TradeManager;
import bisq.core.trade.TradeTxException;
import bisq.core.trade.statistics.AssetTradeActivityCheck; import bisq.core.trade.statistics.AssetTradeActivityCheck;
import bisq.core.trade.statistics.TradeStatisticsManager; import bisq.core.trade.statistics.TradeStatisticsManager;
import bisq.core.user.Preferences; import bisq.core.user.Preferences;
@ -107,6 +108,7 @@ import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -192,7 +194,8 @@ public class BisqSetup {
spvFileCorruptedHandler, lockedUpFundsHandler, daoErrorMessageHandler, daoWarnMessageHandler, spvFileCorruptedHandler, lockedUpFundsHandler, daoErrorMessageHandler, daoWarnMessageHandler,
filterWarningHandler, displaySecurityRecommendationHandler, displayLocalhostHandler, filterWarningHandler, displaySecurityRecommendationHandler, displayLocalhostHandler,
wrongOSArchitectureHandler, displaySignedByArbitratorHandler, wrongOSArchitectureHandler, displaySignedByArbitratorHandler,
displaySignedByPeerHandler, displayPeerLimitLiftedHandler, displayPeerSignerHandler; displaySignedByPeerHandler, displayPeerLimitLiftedHandler, displayPeerSignerHandler,
rejectedTxErrorMessageHandler;
@Setter @Setter
@Nullable @Nullable
private Consumer<Boolean> displayTorNetworkSettingsHandler; private Consumer<Boolean> displayTorNetworkSettingsHandler;
@ -601,28 +604,56 @@ public class BisqSetup {
showFirstPopupIfResyncSPVRequestedHandler, showFirstPopupIfResyncSPVRequestedHandler,
walletPasswordHandler, walletPasswordHandler,
() -> { () -> {
if (allBasicServicesInitialized) if (allBasicServicesInitialized) {
checkForLockedUpFunds(); checkForLockedUpFunds();
checkForInvalidMakerFeeTxs();
}
}, },
() -> walletInitialized.set(true)); () -> walletInitialized.set(true));
} }
private void checkForLockedUpFunds() { private void checkForLockedUpFunds() {
btcWalletService.getAddressEntriesForTrade().stream() // We check if there are locked up funds in failed or closed trades
.filter(e -> tradeManager.getSetOfAllTradeIds().contains(e.getOfferId()) && try {
e.getContext() == AddressEntry.Context.MULTI_SIG) Set<String> setOfAllTradeIds = tradeManager.getSetOfFailedOrClosedTradeIdsFromLockedInFunds();
.forEach(e -> { btcWalletService.getAddressEntriesForTrade().stream()
Coin balance = e.getCoinLockedInMultiSig(); .filter(e -> setOfAllTradeIds.contains(e.getOfferId()) &&
if (balance.isPositive()) { e.getContext() == AddressEntry.Context.MULTI_SIG)
String message = Res.get("popup.warning.lockedUpFunds", .forEach(e -> {
formatter.formatCoinWithCode(balance), e.getAddressString(), e.getOfferId()); Coin balance = e.getCoinLockedInMultiSig();
log.warn(message); if (balance.isPositive()) {
if (lockedUpFundsHandler != null) { String message = Res.get("popup.warning.lockedUpFunds",
lockedUpFundsHandler.accept(message); formatter.formatCoinWithCode(balance), e.getAddressString(), e.getOfferId());
log.warn(message);
if (lockedUpFundsHandler != null) {
lockedUpFundsHandler.accept(message);
}
} }
} });
}); } catch (TradeTxException e) {
log.warn(e.getMessage());
if (lockedUpFundsHandler != null) {
lockedUpFundsHandler.accept(e.getMessage());
}
}
}
private void checkForInvalidMakerFeeTxs() {
// We check if we have open offers with no confidence object at the maker fee tx. That can happen if the
// miner fee was too low and the transaction got removed from mempool and got out from our wallet after a
// resync.
openOfferManager.getObservableList().forEach(e -> {
String offerFeePaymentTxId = e.getOffer().getOfferFeePaymentTxId();
if (btcWalletService.getConfidenceForTxId(offerFeePaymentTxId) == null) {
String message = Res.get("popup.warning.openOfferWithInvalidMakerFeeTx",
e.getOffer().getShortId(), offerFeePaymentTxId);
log.warn(message);
if (lockedUpFundsHandler != null) {
lockedUpFundsHandler.accept(message);
}
}
});
} }
private void checkForCorrectOSArchitecture() { private void checkForCorrectOSArchitecture() {
@ -651,13 +682,60 @@ public class BisqSetup {
tradeManager.onAllServicesInitialized(); tradeManager.onAllServicesInitialized();
if (walletsSetup.downloadPercentageProperty().get() == 1) if (walletsSetup.downloadPercentageProperty().get() == 1) {
checkForLockedUpFunds(); checkForLockedUpFunds();
checkForInvalidMakerFeeTxs();
}
openOfferManager.onAllServicesInitialized(); openOfferManager.onAllServicesInitialized();
balances.onAllServicesInitialized(); balances.onAllServicesInitialized();
walletAppSetup.getRejectedTxException().addListener((observable, oldValue, newValue) -> {
// We delay as we might get the rejected tx error before we have completed the create offer protocol
UserThread.runAfter(() -> {
if (rejectedTxErrorMessageHandler != null && newValue != null && newValue.getTxId() != null) {
String txId = newValue.getTxId();
openOfferManager.getObservableList().stream()
.filter(openOffer -> txId.equals(openOffer.getOffer().getOfferFeePaymentTxId()))
.forEach(openOffer -> {
// We delay to avoid concurrent modification exceptions
UserThread.runAfter(() -> {
openOffer.getOffer().setErrorMessage(newValue.getMessage());
rejectedTxErrorMessageHandler.accept(Res.get("popup.warning.openOffer.makerFeeTxRejected", openOffer.getId(), txId));
openOfferManager.removeOpenOffer(openOffer, () -> {
log.warn("We removed an open offer because the maker fee was rejected by the Bitcoin " +
"network. OfferId={}, txId={}", openOffer.getShortId(), txId);
}, log::warn);
}, 1);
});
tradeManager.getTradableList().stream()
.filter(trade -> trade.getOffer() != null)
.forEach(trade -> {
String details = null;
if (txId.equals(trade.getDepositTxId())) {
details = Res.get("popup.warning.trade.txRejected.deposit");
}
if (txId.equals(trade.getOffer().getOfferFeePaymentTxId()) || txId.equals(trade.getTakerFeeTxId())) {
details = Res.get("popup.warning.trade.txRejected.tradeFee");
}
if (details != null) {
// We delay to avoid concurrent modification exceptions
String finalDetails = details;
UserThread.runAfter(() -> {
trade.setErrorMessage(newValue.getMessage());
rejectedTxErrorMessageHandler.accept(Res.get("popup.warning.trade.txRejected",
finalDetails, trade.getShortId(), txId));
tradeManager.addTradeToFailedTrades(trade);
}, 1);
}
});
}
}, 3);
});
arbitratorManager.onAllServicesInitialized(); arbitratorManager.onAllServicesInitialized();
mediatorManager.onAllServicesInitialized(); mediatorManager.onAllServicesInitialized();
refundAgentManager.onAllServicesInitialized(); refundAgentManager.onAllServicesInitialized();

View File

@ -17,6 +17,7 @@
package bisq.core.app; package bisq.core.app;
import bisq.core.btc.exceptions.RejectedTxException;
import bisq.core.btc.setup.WalletsSetup; import bisq.core.btc.setup.WalletsSetup;
import bisq.core.btc.wallet.WalletsManager; import bisq.core.btc.wallet.WalletsManager;
import bisq.core.locale.Res; import bisq.core.locale.Res;
@ -71,6 +72,8 @@ public class WalletAppSetup {
@Getter @Getter
private final StringProperty btcInfo = new SimpleStringProperty(Res.get("mainView.footer.btcInfo.initializing")); private final StringProperty btcInfo = new SimpleStringProperty(Res.get("mainView.footer.btcInfo.initializing"));
@Getter @Getter
private final ObjectProperty<RejectedTxException> rejectedTxException = new SimpleObjectProperty<>();
@Getter
private int numBtcPeers = 0; private int numBtcPeers = 0;
@Getter @Getter
private final BooleanProperty useTorForBTC = new SimpleBooleanProperty(); private final BooleanProperty useTorForBTC = new SimpleBooleanProperty();
@ -132,7 +135,7 @@ public class WalletAppSetup {
getNumBtcPeers(), getNumBtcPeers(),
Res.get("mainView.footer.btcInfo.connectionFailed"), Res.get("mainView.footer.btcInfo.connectionFailed"),
getBtcNetworkAsString()); getBtcNetworkAsString());
log.error(exception.getMessage()); log.error(exception.toString());
if (exception instanceof TimeoutException) { if (exception instanceof TimeoutException) {
getWalletServiceErrorMsg().set(Res.get("mainView.walletServiceErrorMsg.timeout")); getWalletServiceErrorMsg().set(Res.get("mainView.walletServiceErrorMsg.timeout"));
} else if (exception.getCause() instanceof BlockStoreException) { } else if (exception.getCause() instanceof BlockStoreException) {
@ -141,6 +144,9 @@ public class WalletAppSetup {
} else if (spvFileCorruptedHandler != null) { } else if (spvFileCorruptedHandler != null) {
spvFileCorruptedHandler.accept(Res.get("error.spvFileCorrupted", exception.getMessage())); spvFileCorruptedHandler.accept(Res.get("error.spvFileCorrupted", exception.getMessage()));
} }
} else if (exception instanceof RejectedTxException) {
rejectedTxException.set((RejectedTxException) exception);
getWalletServiceErrorMsg().set(Res.get("mainView.walletServiceErrorMsg.rejectedTxException", exception.getMessage()));
} else { } else {
getWalletServiceErrorMsg().set(Res.get("mainView.walletServiceErrorMsg.connectionError", exception.toString())); getWalletServiceErrorMsg().set(Res.get("mainView.walletServiceErrorMsg.connectionError", exception.toString()));
} }

View File

@ -119,8 +119,8 @@ public class Balances {
} }
private void updateLockedBalance() { private void updateLockedBalance() {
Stream<Trade> lockedTrades = Stream.concat(closedTradableManager.getLockedTradesStream(), failedTradesManager.getLockedTradesStream()); Stream<Trade> lockedTrades = Stream.concat(closedTradableManager.getTradesStreamWithFundsLockedIn(), failedTradesManager.getTradesStreamWithFundsLockedIn());
lockedTrades = Stream.concat(lockedTrades, tradeManager.getLockedTradesStream()); lockedTrades = Stream.concat(lockedTrades, tradeManager.getTradesStreamWithFundsLockedIn());
long sum = lockedTrades.map(trade -> btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG) long sum = lockedTrades.map(trade -> btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG)
.orElse(null)) .orElse(null))
.filter(Objects::nonNull) .filter(Objects::nonNull)

View File

@ -0,0 +1,46 @@
/*
* This file is part of Bisq.
*
* Bisq 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.
*
* Bisq 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 Bisq. If not, see <http://www.gnu.org/licenses/>.
*/
package bisq.core.btc.exceptions;
import org.bitcoinj.core.RejectMessage;
import lombok.Getter;
import javax.annotation.Nullable;
public class RejectedTxException extends RuntimeException {
@Getter
private final RejectMessage rejectMessage;
@Getter
@Nullable
private final String txId;
public RejectedTxException(String message, RejectMessage rejectMessage) {
super(message);
this.rejectMessage = rejectMessage;
txId = rejectMessage.getRejectedObjectHash() != null ? rejectMessage.getRejectedObjectHash().toString() : null;
}
@Override
public String toString() {
return "RejectedTxException{" +
"\n rejectMessage=" + rejectMessage +
",\n txId='" + txId + '\'' +
"\n} " + super.toString();
}
}

View File

@ -19,6 +19,7 @@ package bisq.core.btc.setup;
import bisq.core.app.BisqEnvironment; import bisq.core.app.BisqEnvironment;
import bisq.core.btc.BtcOptionKeys; import bisq.core.btc.BtcOptionKeys;
import bisq.core.btc.exceptions.RejectedTxException;
import bisq.core.btc.model.AddressEntry; import bisq.core.btc.model.AddressEntry;
import bisq.core.btc.model.AddressEntryList; import bisq.core.btc.model.AddressEntryList;
import bisq.core.btc.nodes.BtcNetworkConfig; import bisq.core.btc.nodes.BtcNetworkConfig;
@ -44,6 +45,7 @@ import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.core.Peer; import org.bitcoinj.core.Peer;
import org.bitcoinj.core.PeerAddress; import org.bitcoinj.core.PeerAddress;
import org.bitcoinj.core.PeerGroup; import org.bitcoinj.core.PeerGroup;
import org.bitcoinj.core.RejectMessage;
import org.bitcoinj.core.listeners.DownloadProgressTracker; import org.bitcoinj.core.listeners.DownloadProgressTracker;
import org.bitcoinj.params.RegTestParams; import org.bitcoinj.params.RegTestParams;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
@ -170,7 +172,9 @@ public class WalletsSetup {
// Lifecycle // Lifecycle
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
public void initialize(@Nullable DeterministicSeed seed, ResultHandler resultHandler, ExceptionHandler exceptionHandler) { public void initialize(@Nullable DeterministicSeed seed,
ResultHandler resultHandler,
ExceptionHandler exceptionHandler) {
// Tell bitcoinj to execute event handlers on the JavaFX UI thread. This keeps things simple and means // Tell bitcoinj to execute event handlers on the JavaFX UI thread. This keeps things simple and means
// we cannot forget to switch threads when adding event handlers. Unfortunately, the DownloadListener // we cannot forget to switch threads when adding event handlers. Unfortunately, the DownloadListener
// we give to the app kit is currently an exception and runs on a library thread. It'll get fixed in // we give to the app kit is currently an exception and runs on a library thread. It'll get fixed in
@ -221,6 +225,20 @@ public class WalletsSetup {
peerGroup.addBlocksDownloadedEventListener((peer, block, filteredBlock, blocksLeft) -> { peerGroup.addBlocksDownloadedEventListener((peer, block, filteredBlock, blocksLeft) -> {
blocksDownloadedFromPeer.set(peer); blocksDownloadedFromPeer.set(peer);
}); });
// Need to be Threading.SAME_THREAD executor otherwise BitcoinJ will skip that listener
peerGroup.addPreMessageReceivedEventListener(Threading.SAME_THREAD, (peer, message) -> {
if (message instanceof RejectMessage) {
UserThread.execute(() -> {
RejectMessage rejectMessage = (RejectMessage) message;
String msg = rejectMessage.toString();
log.warn(msg);
exceptionHandler.handleException(new RejectedTxException(msg, rejectMessage));
});
}
return message;
});
chain.addNewBestBlockListener(block -> { chain.addNewBestBlockListener(block -> {
connectedPeers.set(peerGroup.getConnectedPeers()); connectedPeers.set(peerGroup.getConnectedPeers());
chainHeight.set(block.getHeight()); chainHeight.set(block.getHeight());
@ -372,7 +390,9 @@ public class WalletsSetup {
// Restore // Restore
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
public void restoreSeedWords(@Nullable DeterministicSeed seed, ResultHandler resultHandler, ExceptionHandler exceptionHandler) { public void restoreSeedWords(@Nullable DeterministicSeed seed,
ResultHandler resultHandler,
ExceptionHandler exceptionHandler) {
checkNotNull(seed, "Seed must be not be null."); checkNotNull(seed, "Seed must be not be null.");
backupWallets(); backupWallets();

View File

@ -168,7 +168,7 @@ public class BsqWalletService extends WalletService implements DaoStateListener
// We are only interested in updates from unconfirmed txs and confirmed txs at the // We are only interested in updates from unconfirmed txs and confirmed txs at the
// time when it gets into a block. Otherwise we would get called // time when it gets into a block. Otherwise we would get called
// updateBsqWalletTransactions for each tx as the block depth changes for all. // updateBsqWalletTransactions for each tx as the block depth changes for all.
if (tx.getConfidence().getDepthInBlocks() <= 1 && if (tx != null && tx.getConfidence() != null && tx.getConfidence().getDepthInBlocks() <= 1 &&
daoStateService.isParseBlockChainComplete()) { daoStateService.isParseBlockChainComplete()) {
updateBsqWalletTransactions(); updateBsqWalletTransactions();
} }

View File

@ -672,7 +672,13 @@ public class BtcWalletService extends WalletService {
public void resetAddressEntriesForPendingTrade(String offerId) { public void resetAddressEntriesForPendingTrade(String offerId) {
swapTradeEntryToAvailableEntry(offerId, AddressEntry.Context.MULTI_SIG); swapTradeEntryToAvailableEntry(offerId, AddressEntry.Context.MULTI_SIG);
// Don't swap TRADE_PAYOUT as it might be still open in the last trade step to be used for external transfer // We swap also TRADE_PAYOUT to be sure all is cleaned up. There might be cases where a user cannot send the funds
// to an external wallet directly in the last step of the trade, but the funds are in the Bisq wallet anyway and
// the dealing with the external wallet is pure UI thing. The user can move the funds to the wallet and then
// send out the funds to the external wallet. As this cleanup is a rare situation and most users do not use
// the feature to send out the funds we prefer that strategy (if we keep the address entry it might cause
// complications in some edge cases after a SPV resync).
swapTradeEntryToAvailableEntry(offerId, AddressEntry.Context.TRADE_PAYOUT);
} }
public void swapAnyTradeEntryContextToAvailableEntry(String offerId) { public void swapAnyTradeEntryContextToAvailableEntry(String offerId) {

View File

@ -115,9 +115,8 @@ public class BlockParser {
genesisTotalSupply) genesisTotalSupply)
.ifPresent(txList::add)); .ifPresent(txList::add));
if (System.currentTimeMillis() - startTs > 0) log.info("Parsing {} transactions at block height {} took {} ms", rawBlock.getRawTxs().size(),
log.info("Parsing {} transactions at block height {} took {} ms", rawBlock.getRawTxs().size(), blockHeight, System.currentTimeMillis() - startTs);
blockHeight, System.currentTimeMillis() - startTs);
daoStateService.onParseBlockComplete(block); daoStateService.onParseBlockComplete(block);
return block; return block;

View File

@ -678,7 +678,9 @@ public abstract class Trade implements Tradable, Model {
@Nullable @Nullable
public Transaction getDelayedPayoutTx() { public Transaction getDelayedPayoutTx() {
if (delayedPayoutTx == null) { if (delayedPayoutTx == null) {
delayedPayoutTx = delayedPayoutTxBytes != null ? processModel.getBtcWalletService().getTxFromSerializedTx(delayedPayoutTxBytes) : null; delayedPayoutTx = delayedPayoutTxBytes != null && processModel.getBtcWalletService() != null ?
processModel.getBtcWalletService().getTxFromSerializedTx(delayedPayoutTxBytes) :
null;
} }
return delayedPayoutTx; return delayedPayoutTx;
} }
@ -712,6 +714,11 @@ public abstract class Trade implements Tradable, Model {
} }
} }
public void appendErrorMessage(String msg) {
errorMessage = errorMessage == null ? msg : errorMessage + "\n" + msg;
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Model implementation // Model implementation
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////

View File

@ -28,6 +28,7 @@ import bisq.core.btc.wallet.TxBroadcaster;
import bisq.core.btc.wallet.WalletService; import bisq.core.btc.wallet.WalletService;
import bisq.core.dao.DaoFacade; import bisq.core.dao.DaoFacade;
import bisq.core.filter.FilterManager; import bisq.core.filter.FilterManager;
import bisq.core.locale.Res;
import bisq.core.offer.Offer; import bisq.core.offer.Offer;
import bisq.core.offer.OfferPayload; import bisq.core.offer.OfferPayload;
import bisq.core.offer.OpenOffer; import bisq.core.offer.OpenOffer;
@ -68,6 +69,7 @@ import org.bitcoinj.core.AddressFormatException;
import org.bitcoinj.core.Coin; import org.bitcoinj.core.Coin;
import org.bitcoinj.core.InsufficientMoneyException; import org.bitcoinj.core.InsufficientMoneyException;
import org.bitcoinj.core.Transaction; import org.bitcoinj.core.Transaction;
import org.bitcoinj.core.TransactionConfidence;
import javax.inject.Inject; import javax.inject.Inject;
@ -78,6 +80,7 @@ import javafx.beans.property.LongProperty;
import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleLongProperty; import javafx.beans.property.SimpleLongProperty;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener; import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
@ -89,6 +92,7 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@ -135,6 +139,8 @@ public class TradeManager implements PersistedDataHost {
private ErrorMessageHandler takeOfferRequestErrorMessageHandler; private ErrorMessageHandler takeOfferRequestErrorMessageHandler;
@Getter @Getter
private final LongProperty numPendingTrades = new SimpleLongProperty(); private final LongProperty numPendingTrades = new SimpleLongProperty();
@Getter
private final ObservableList<Trade> tradesWithoutDepositTx = FXCollections.observableArrayList();
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@ -274,12 +280,33 @@ public class TradeManager implements PersistedDataHost {
tradesForStatistics.add(trade); tradesForStatistics.add(trade);
} else if (trade.isTakerFeePublished() && !trade.isFundsLockedIn()) { } else if (trade.isTakerFeePublished() && !trade.isFundsLockedIn()) {
addTradeToFailedTradesList.add(trade); addTradeToFailedTradesList.add(trade);
trade.appendErrorMessage("Invalid state: trade.isTakerFeePublished() && !trade.isFundsLockedIn()");
} else { } else {
removePreparedTradeList.add(trade); removePreparedTradeList.add(trade);
} }
if (trade.getDepositTx() == null) {
log.warn("Deposit tx for trader with ID {} is null at initPendingTrades. " +
"This can happen for valid transaction in rare cases (e.g. after a SPV resync). " +
"We leave it to the user to move the trade to failed trades if the problem persists.",
trade.getId());
tradesWithoutDepositTx.add(trade);
}
} }
); );
// If we have a closed trade where the deposit tx is still not confirmed we move it to failed trades as the
// payout tx cannot be valid as well in this case. As the trade do not progress without confirmation of the
// deposit tx this should normally not happen. If we detect such a trade at start up (done in BisqSetup) we
// show a popup telling the user to do a SPV resync.
closedTradableManager.getClosedTradables().stream()
.filter(tradable -> tradable instanceof Trade)
.map(tradable -> (Trade) tradable)
.filter(Trade::isFundsLockedIn)
.forEach(addTradeToFailedTradesList::add);
addTradeToFailedTradesList.forEach(closedTradableManager::remove);
addTradeToFailedTradesList.forEach(this::addTradeToFailedTrades); addTradeToFailedTradesList.forEach(this::addTradeToFailedTrades);
removePreparedTradeList.forEach(this::removePreparedTrade); removePreparedTradeList.forEach(this::removePreparedTrade);
@ -294,22 +321,16 @@ public class TradeManager implements PersistedDataHost {
} }
private void cleanUpAddressEntries() { private void cleanUpAddressEntries() {
Set<String> tradesIdSet = getLockedTradesStream() // We check if we have address entries which are not in our pending trades and clean up those entries.
.map(Trade::getId) // They might be either from closed or failed trades or from trades we do not have at all in our data base files.
.collect(Collectors.toSet()); Set<String> tradesIdSet = getTradesStreamWithFundsLockedIn()
tradesIdSet.addAll(failedTradesManager.getLockedTradesStream()
.map(Trade::getId)
.collect(Collectors.toSet()));
tradesIdSet.addAll(closedTradableManager.getLockedTradesStream()
.map(Tradable::getId) .map(Tradable::getId)
.collect(Collectors.toSet())); .collect(Collectors.toSet());
btcWalletService.getAddressEntriesForTrade().stream() btcWalletService.getAddressEntriesForTrade().stream()
.filter(e -> !tradesIdSet.contains(e.getOfferId())) .filter(e -> !tradesIdSet.contains(e.getOfferId()))
.forEach(e -> { .forEach(e -> {
log.warn("We found an outdated addressEntry for trade {}", e.getOfferId()); log.warn("We found an outdated addressEntry for trade {}: entry={}", e.getOfferId(), e);
btcWalletService.resetAddressEntriesForPendingTrade(e.getOfferId()); btcWalletService.resetAddressEntriesForPendingTrade(e.getOfferId());
}); });
} }
@ -681,26 +702,45 @@ public class TradeManager implements PersistedDataHost {
return available.filter(addressEntry -> btcWalletService.getBalanceForAddress(addressEntry.getAddress()).isPositive()); return available.filter(addressEntry -> btcWalletService.getBalanceForAddress(addressEntry.getAddress()).isPositive());
} }
public Stream<Trade> getLockedTradesStream() { public Stream<Trade> getTradesStreamWithFundsLockedIn() {
return getTradableList().stream() return getTradableList().stream()
.filter(Trade::isFundsLockedIn); .filter(Trade::isFundsLockedIn);
} }
public Set<String> getSetOfAllTradeIds() { public Set<String> getSetOfFailedOrClosedTradeIdsFromLockedInFunds() throws TradeTxException {
Set<String> tradesIdSet = getLockedTradesStream() AtomicReference<TradeTxException> tradeTxException = new AtomicReference<>();
Set<String> tradesIdSet = getTradesStreamWithFundsLockedIn()
.filter(Trade::hasFailed) .filter(Trade::hasFailed)
.map(Trade::getId) .map(Trade::getId)
.collect(Collectors.toSet()); .collect(Collectors.toSet());
tradesIdSet.addAll(failedTradesManager.getLockedTradesStream() tradesIdSet.addAll(failedTradesManager.getTradesStreamWithFundsLockedIn()
.map(Trade::getId) .filter(trade -> trade.getDepositTx() != null)
.collect(Collectors.toSet())); .map(trade -> {
tradesIdSet.addAll(closedTradableManager.getLockedTradesStream() log.warn("We found a failed trade with locked up funds. " +
.map(e -> { "That should never happen. trade ID=" + trade.getId());
log.warn("We found a closed trade with locked up funds. " + return trade.getId();
"That should never happen. trade ID=" + e.getId());
return e.getId();
}) })
.collect(Collectors.toSet())); .collect(Collectors.toSet()));
tradesIdSet.addAll(closedTradableManager.getTradesStreamWithFundsLockedIn()
.map(trade -> {
Transaction depositTx = trade.getDepositTx();
if (depositTx != null) {
TransactionConfidence confidence = btcWalletService.getConfidenceForTxId(depositTx.getHashAsString());
if (confidence != null && confidence.getConfidenceType() != TransactionConfidence.ConfidenceType.BUILDING) {
tradeTxException.set(new TradeTxException(Res.get("error.closedTradeWithUnconfirmedDepositTx", trade.getShortId())));
} else {
log.warn("We found a closed trade with locked up funds. " +
"That should never happen. trade ID=" + trade.getId());
}
} else {
tradeTxException.set(new TradeTxException(Res.get("error.closedTradeWithNoDepositTx", trade.getShortId())));
}
return trade.getId();
})
.collect(Collectors.toSet()));
if (tradeTxException.get() != null)
throw tradeTxException.get();
return tradesIdSet; return tradesIdSet;
} }

View File

@ -0,0 +1,24 @@
/*
* This file is part of Bisq.
*
* Bisq 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.
*
* Bisq 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 Bisq. If not, see <http://www.gnu.org/licenses/>.
*/
package bisq.core.trade;
public class TradeTxException extends Exception {
public TradeTxException(String message) {
super(message);
}
}

View File

@ -76,6 +76,10 @@ public class ClosedTradableManager implements PersistedDataHost {
closedTradables.add(tradable); closedTradables.add(tradable);
} }
public void remove(Tradable tradable) {
closedTradables.remove(tradable);
}
public boolean wasMyOffer(Offer offer) { public boolean wasMyOffer(Offer offer) {
return offer.isMyOffer(keyRing); return offer.isMyOffer(keyRing);
} }
@ -95,7 +99,7 @@ public class ClosedTradableManager implements PersistedDataHost {
return closedTradables.stream().filter(e -> e.getId().equals(id)).findFirst(); return closedTradables.stream().filter(e -> e.getId().equals(id)).findFirst();
} }
public Stream<Trade> getLockedTradesStream() { public Stream<Trade> getTradesStreamWithFundsLockedIn() {
return getClosedTrades().stream() return getClosedTrades().stream()
.filter(Trade::isFundsLockedIn); .filter(Trade::isFundsLockedIn);
} }

View File

@ -60,16 +60,19 @@ public class FailedTradesManager implements PersistedDataHost {
@Override @Override
public void readPersisted() { public void readPersisted() {
this.failedTrades = new TradableList<>(tradableListStorage, "FailedTrades"); this.failedTrades = new TradableList<>(tradableListStorage, "FailedTrades");
failedTrades.forEach(e -> e.getOffer().setPriceFeedService(priceFeedService));
failedTrades.forEach(trade -> { failedTrades.forEach(trade -> {
trade.getOffer().setPriceFeedService(priceFeedService); if (trade.getOffer() != null) {
trade.getOffer().setPriceFeedService(priceFeedService);
}
trade.setTransientFields(tradableListStorage, btcWalletService); trade.setTransientFields(tradableListStorage, btcWalletService);
}); });
} }
public void add(Trade trade) { public void add(Trade trade) {
if (!failedTrades.contains(trade)) if (!failedTrades.contains(trade)) {
failedTrades.add(trade); failedTrades.add(trade);
}
} }
public boolean wasMyOffer(Offer offer) { public boolean wasMyOffer(Offer offer) {
@ -84,7 +87,7 @@ public class FailedTradesManager implements PersistedDataHost {
return failedTrades.stream().filter(e -> e.getId().equals(id)).findFirst(); return failedTrades.stream().filter(e -> e.getId().equals(id)).findFirst();
} }
public Stream<Trade> getLockedTradesStream() { public Stream<Trade> getTradesStreamWithFundsLockedIn() {
return failedTrades.stream() return failedTrades.stream()
.filter(Trade::isFundsLockedIn); .filter(Trade::isFundsLockedIn);
} }

View File

@ -275,6 +275,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
mainView.walletServiceErrorMsg.timeout=Connecting to the Bitcoin network failed because of a timeout. mainView.walletServiceErrorMsg.timeout=Connecting to the Bitcoin network failed because of a timeout.
mainView.walletServiceErrorMsg.connectionError=Connection to the Bitcoin network failed because of an error: {0} mainView.walletServiceErrorMsg.connectionError=Connection to the Bitcoin network failed because of an error: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=You lost the connection to all {0} network peers.\nMaybe you lost your internet connection or your computer was in standby mode. mainView.networkWarning.allConnectionsLost=You lost the connection to all {0} network peers.\nMaybe you lost your internet connection or your computer was in standby mode.
mainView.networkWarning.localhostBitcoinLost=You lost the connection to the localhost Bitcoin node.\nPlease restart the Bisq application to connect to other Bitcoin nodes or restart the localhost Bitcoin node. mainView.networkWarning.localhostBitcoinLost=You lost the connection to the localhost Bitcoin node.\nPlease restart the Bisq application to connect to other Bitcoin nodes or restart the localhost Bitcoin node.
mainView.version.update=(Update available) mainView.version.update=(Update available)
@ -775,6 +777,14 @@ portfolio.pending.openSupportTicket.msg=Please use this function only in emergen
handled by a mediator or arbitrator. handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute \
without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\n\
For further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the \
failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute \
with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\n\
For further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Notification portfolio.pending.notification=Notification
@ -1107,7 +1117,9 @@ settings.net.outbound=outbound
settings.net.reSyncSPVChainLabel=Resync SPV chain settings.net.reSyncSPVChainLabel=Resync SPV chain
settings.net.reSyncSPVChainButton=Delete SPV file and resync settings.net.reSyncSPVChainButton=Delete SPV file and resync
settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\n\ settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\n\
After the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nPlease restart again after the resync has completed because there are sometimes inconsistencies that result in incorrect balances to display. After the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\n\
Depending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. \
Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=The SPV chain file has been deleted. Please be patient. It can take a while to resync with the network. settings.net.reSyncSPVAfterRestart=The SPV chain file has been deleted. Please be patient. It can take a while to resync with the network.
settings.net.reSyncSPVAfterRestartCompleted=The resync is now completed. Please restart the application. settings.net.reSyncSPVAfterRestartCompleted=The resync is now completed. Please restart the application.
settings.net.reSyncSPVFailed=Could not delete SPV chain file.\nError: {0} settings.net.reSyncSPVFailed=Could not delete SPV chain file.\nError: {0}
@ -2432,6 +2444,11 @@ popup.error.takeOfferRequestFailed=An error occurred when someone tried to take
error.spvFileCorrupted=An error occurred when reading the SPV chain file.\nIt might be that the SPV chain file is corrupted.\n\nError message: {0}\n\nDo you want to delete it and start a resync? error.spvFileCorrupted=An error occurred when reading the SPV chain file.\nIt might be that the SPV chain file is corrupted.\n\nError message: {0}\n\nDo you want to delete it and start a resync?
error.deleteAddressEntryListFailed=Could not delete AddressEntryList file.\nError: {0} error.deleteAddressEntryListFailed=Could not delete AddressEntryList file.\nError: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still \
unconfirmed.\n\n\
Please do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\n\
Please restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=The wallet is not initialized yet popup.warning.walletNotInitialized=The wallet is not initialized yet
popup.warning.wrongVersion=You probably have the wrong Bisq version for this computer.\n\ popup.warning.wrongVersion=You probably have the wrong Bisq version for this computer.\n\
@ -2502,6 +2519,30 @@ popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. \
popup.warning.burnBTC=This transaction is not possible, as the mining fees of {0} would exceed the amount to transfer of {1}. \ popup.warning.burnBTC=This transaction is not possible, as the mining fees of {0} would exceed the amount to transfer of {1}. \
Please wait until the mining fees are low again or until you''ve accumulated more BTC to transfer. Please wait until the mining fees are low again or until you''ve accumulated more BTC to transfer.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\n\
Transaction ID={1}.\n\
The offer has been removed to avoid further problems.\n\
Please go to \"Settings/Network info\" and do a SPV resync.\n\
For further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\n\
Transaction ID={2}}\n\
The trade has been moved to failed trades.\n\
Please go to \"Settings/Network info\" and do a SPV resync.\n\
For further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\n\
Transaction ID={1}.\n\
Please go to \"Settings/Network info\" and do a SPV resync.\n\
For further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\n\
Please restart the application and if the problem remains move the trade to failed trades and report the problem to \
the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=To ensure both traders follow the trade protocol, both traders need to pay a security \ popup.info.securityDepositInfo=To ensure both traders follow the trade protocol, both traders need to pay a security \
deposit.\n\nThis deposit is kept in your trade wallet until your trade has been successfully completed, and then it's \ deposit.\n\nThis deposit is kept in your trade wallet until your trade has been successfully completed, and then it's \
refunded to you.\n\nPlease note: if you're creating a new offer, Bisq needs to be running for another trader to take \ refunded to you.\n\nPlease note: if you're creating a new offer, Bisq needs to be running for another trader to take \
@ -2517,7 +2558,6 @@ popup.info.shutDownWithOpenOffers=Bisq is being shut down, but there are open of
To keep your offers online, keep Bisq running and make sure this computer remains online too \ To keep your offers online, keep Bisq running and make sure this computer remains online too \
(i.e., make sure it doesn't go into standby mode...monitor standby is not a problem). (i.e., make sure it doesn't go into standby mode...monitor standby is not a problem).
popup.privateNotification.headline=Important private notification! popup.privateNotification.headline=Important private notification!
popup.securityRecommendation.headline=Important security recommendation popup.securityRecommendation.headline=Important security recommendation

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Verbinden mit Bisq-Netzwerk feh
mainView.walletServiceErrorMsg.timeout=Verbindung mit Bitcoin-Netzwerk aufgrund einer Zeitüberschreitung fehlgeschlagen. mainView.walletServiceErrorMsg.timeout=Verbindung mit Bitcoin-Netzwerk aufgrund einer Zeitüberschreitung fehlgeschlagen.
mainView.walletServiceErrorMsg.connectionError=Verbindung mit Bitcoin-Netzwerk aufgrund eines Fehlers fehlgeschlagen: {0} mainView.walletServiceErrorMsg.connectionError=Verbindung mit Bitcoin-Netzwerk aufgrund eines Fehlers fehlgeschlagen: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=Sie haben die Verbindung zu allen {0} Netzwerk-Peers verloren.\nMöglicherweise haben Sie Ihre Internetverbindung verloren oder Ihr Computer war im Standbymodus. mainView.networkWarning.allConnectionsLost=Sie haben die Verbindung zu allen {0} Netzwerk-Peers verloren.\nMöglicherweise haben Sie Ihre Internetverbindung verloren oder Ihr Computer war im Standbymodus.
mainView.networkWarning.localhostBitcoinLost=Sie haben die Verbindung zum localhost Bitcoinknoten verloren.\nBitte starten Sie die Bisq Anwendung neu, um mit anderen Bitcoinknoten zu verbinden oder starten Sie den localhost Bitcoinknoten neu. mainView.networkWarning.localhostBitcoinLost=Sie haben die Verbindung zum localhost Bitcoinknoten verloren.\nBitte starten Sie die Bisq Anwendung neu, um mit anderen Bitcoinknoten zu verbinden oder starten Sie den localhost Bitcoinknoten neu.
mainView.version.update=(Update verfügbar) mainView.version.update=(Update verfügbar)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Support-Ticket öffnen
portfolio.pending.openSupportTicket.msg=Bitte verwenden Sie diese Funktion nur in Notfällen, wenn Sie keinen \"Open support\" oder \"Open dispute\" Button sehen.\n\nWenn Sie ein Support-Ticket öffnen, wird der Trade unterbrochen und von einem Mediator oder Vermittler bearbeitet. portfolio.pending.openSupportTicket.msg=Bitte verwenden Sie diese Funktion nur in Notfällen, wenn Sie keinen \"Open support\" oder \"Open dispute\" Button sehen.\n\nWenn Sie ein Support-Ticket öffnen, wird der Trade unterbrochen und von einem Mediator oder Vermittler bearbeitet.
portfolio.pending.timeLockNotOver=Sie müssen ≈{0} ({1} weitere Blöcke) warten, bevor Sie einen Vermittlungskonflikt eröffnen können. portfolio.pending.timeLockNotOver=Sie müssen ≈{0} ({1} weitere Blöcke) warten, bevor Sie einen Vermittlungskonflikt eröffnen können.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Benachrichtigung portfolio.pending.notification=Benachrichtigung
@ -973,7 +978,7 @@ settings.net.inbound=eingehend
settings.net.outbound=ausgehend settings.net.outbound=ausgehend
settings.net.reSyncSPVChainLabel=SPV-Kette neu synchronisieren settings.net.reSyncSPVChainLabel=SPV-Kette neu synchronisieren
settings.net.reSyncSPVChainButton=SPV-Datei löschen und neu synchronisieren settings.net.reSyncSPVChainButton=SPV-Datei löschen und neu synchronisieren
settings.net.reSyncSPVSuccess=Die SPV-Kettendatei wird beim nächsten Start gelöscht. Sie müssen Ihre Anwendung jetzt neu starten.\n\nNach dem Neustart kann es eine Weile dauern bis alles mit dem Netzwerk synchronisiert wurde. Sie sehen alle Transaktionen erst, wenn fertig synchronisiert wurde.\n\nBitte starten Sie Ihre Anwendung nach Abschluss der Synchronisation neu, da es manchmal Inkonsistenzen gibt, die zum Anzeigen falscher Guthaben führen. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=Die SPV-Kettendatei wurde gelöscht. Haben Sie bitte Geduld, es kann eine Weile dauern mit dem Netzwerk neu zu synchronisieren. settings.net.reSyncSPVAfterRestart=Die SPV-Kettendatei wurde gelöscht. Haben Sie bitte Geduld, es kann eine Weile dauern mit dem Netzwerk neu zu synchronisieren.
settings.net.reSyncSPVAfterRestartCompleted=Die erneute Synchronisation ist jetzt abgeschlossen. Bitte starten Sie die Anwendung neu. settings.net.reSyncSPVAfterRestartCompleted=Die erneute Synchronisation ist jetzt abgeschlossen. Bitte starten Sie die Anwendung neu.
settings.net.reSyncSPVFailed=Konnte SPV-Kettendatei nicht löschen.\nFehler: {0} settings.net.reSyncSPVFailed=Konnte SPV-Kettendatei nicht löschen.\nFehler: {0}
@ -985,7 +990,6 @@ setting.about.agpl=AGPL-Lizenz
setting.about.support=Bisq unterstützen setting.about.support=Bisq unterstützen
setting.about.def=Bisq ist keine Firma, sondern ein Gemeinschaftsprojekt, das offen für Mitwirken ist. Wenn Sie an Bisq mitwirken oder das Projekt unterstützen wollen, folgen Sie bitte den unten stehenden Links. setting.about.def=Bisq ist keine Firma, sondern ein Gemeinschaftsprojekt, das offen für Mitwirken ist. Wenn Sie an Bisq mitwirken oder das Projekt unterstützen wollen, folgen Sie bitte den unten stehenden Links.
setting.about.contribute=Mitwirken setting.about.contribute=Mitwirken
setting.about.donate=Spenden
setting.about.providers=Datenanbieter setting.about.providers=Datenanbieter
setting.about.apisWithFee=Bisq nutzt für Fiatgeld- und Altcoin-Marktpreise sowie geschätzte Mining-Gebühren die APIs 3tr. setting.about.apisWithFee=Bisq nutzt für Fiatgeld- und Altcoin-Marktpreise sowie geschätzte Mining-Gebühren die APIs 3tr.
setting.about.apis=Bisq nutzt für Fiatgeld- und Altcoin-Marktpreise die APIs 3tr. setting.about.apis=Bisq nutzt für Fiatgeld- und Altcoin-Marktpreise die APIs 3tr.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Es ist ein Fehler aufgetreten, als jemand ver
error.spvFileCorrupted=Beim Einlesen der SPV-Kettendatei ist ein Fehler aufgetreten.\nDie SPV-Kettendatei ist möglicherweise beschädigt.\n\nFehlermeldung: {0}\n\nMöchten Sie diese löschen und neu synchronisieren? error.spvFileCorrupted=Beim Einlesen der SPV-Kettendatei ist ein Fehler aufgetreten.\nDie SPV-Kettendatei ist möglicherweise beschädigt.\n\nFehlermeldung: {0}\n\nMöchten Sie diese löschen und neu synchronisieren?
error.deleteAddressEntryListFailed=Konnte AddressEntryList-Datei nicht löschen.\nFehler: {0} error.deleteAddressEntryListFailed=Konnte AddressEntryList-Datei nicht löschen.\nFehler: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=Die Wallet ist noch nicht initialisiert popup.warning.walletNotInitialized=Die Wallet ist noch nicht initialisiert
popup.warning.wrongVersion=Sie verwenden vermutlich die falsche Bisq-Version für diesen Computer.\nDie Architektur Ihres Computers ist: {0}.\nDie installierten Bisq-Binärdateien sind: {1}.\nBitte fahren Sie Bisq herunter und installieren die korrekte Version ({2}). popup.warning.wrongVersion=Sie verwenden vermutlich die falsche Bisq-Version für diesen Computer.\nDie Architektur Ihres Computers ist: {0}.\nDie installierten Bisq-Binärdateien sind: {1}.\nBitte fahren Sie Bisq herunter und installieren die korrekte Version ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Bitte aktualisieren Sie auf die neueste Bisq-V
popup.warning.disable.dao=Der Bisq DAO und BSQ sind temporär deaktiviert. Bitte besuchen sie das Bisq-Forum für weitere Informationen. popup.warning.disable.dao=Der Bisq DAO und BSQ sind temporär deaktiviert. Bitte besuchen sie das Bisq-Forum für weitere Informationen.
popup.warning.burnBTC=Die Transaktion ist nicht möglich, da die Mininggebühren von {0} den übertragenen Betrag von {1} überschreiten würden. Bitte warten Sie, bis die Gebühren wieder niedrig sind, oder Sie mehr BTC zum übertragen angesammelt haben. popup.warning.burnBTC=Die Transaktion ist nicht möglich, da die Mininggebühren von {0} den übertragenen Betrag von {1} überschreiten würden. Bitte warten Sie, bis die Gebühren wieder niedrig sind, oder Sie mehr BTC zum übertragen angesammelt haben.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Um sicherzustellen, dass beide Händler dem Handelsprotokoll folgen, müssen diese eine Kaution zahlen.\n\nDie Kaution bleibt in Ihrer lokalen Wallet, bis das Angebot von einem anderen Händler angenommen wurde.\nSie wird Ihnen zurückerstattet, nachdem der Handel erfolgreich abgeschlossen wurde.\n\nBitte beachten Sie, dass Sie die Anwendung laufen lassen müssen, wenn Sie ein offenes Angebot haben.\nWenn ein anderer Händler Ihr Angebot annehmen möchte ist es notwendig, dass Ihre Anwendung online ist und reagieren kann.\nStellen Sie sicher, dass Sie den Ruhezustand deaktiviert haben, da dieser Ihren Client vom Netzwerk trennen würde (Der Ruhezustand des Monitors ist kein Problem). popup.info.securityDepositInfo=Um sicherzustellen, dass beide Händler dem Handelsprotokoll folgen, müssen diese eine Kaution zahlen.\n\nDie Kaution bleibt in Ihrer lokalen Wallet, bis das Angebot von einem anderen Händler angenommen wurde.\nSie wird Ihnen zurückerstattet, nachdem der Handel erfolgreich abgeschlossen wurde.\n\nBitte beachten Sie, dass Sie die Anwendung laufen lassen müssen, wenn Sie ein offenes Angebot haben.\nWenn ein anderer Händler Ihr Angebot annehmen möchte ist es notwendig, dass Ihre Anwendung online ist und reagieren kann.\nStellen Sie sicher, dass Sie den Ruhezustand deaktiviert haben, da dieser Ihren Client vom Netzwerk trennen würde (Der Ruhezustand des Monitors ist kein Problem).
popup.info.cashDepositInfo=Stellen Sie sicher, dass eine Bank-Filiale in Ihrer Nähe befindet, um die Bargeld Kaution zu zahlen.\nDie Bankkennung (BIC/SWIFT) der Bank des Verkäufers ist: {0}. popup.info.cashDepositInfo=Stellen Sie sicher, dass eine Bank-Filiale in Ihrer Nähe befindet, um die Bargeld Kaution zu zahlen.\nDie Bankkennung (BIC/SWIFT) der Bank des Verkäufers ist: {0}.
popup.info.cashDepositInfo.confirm=Ich bestätige, dass ich die Kaution zahlen kann popup.info.cashDepositInfo.confirm=Ich bestätige, dass ich die Kaution zahlen kann
popup.info.shutDownWithOpenOffers=Bisq wird heruntergefahren, aber Sie haben offene Angebote verfügbar.\n\nDiese Angebote sind nach dem Herunterfahren nicht mehr verfügbar und werden erneut im P2P-Netzwerk veröffentlicht wenn Sie das nächste Mal Bisq starten.\n\nLassen Sie Bisq weiter laufen und stellen Sie sicher, dass Ihr Computer online bleibt, um Ihre Angebote verfügbar zu halten (z.B.: verhindern Sie den Standby-Modus... der Standby-Modus des Monitors stellt kein Problem dar). popup.info.shutDownWithOpenOffers=Bisq wird heruntergefahren, aber Sie haben offene Angebote verfügbar.\n\nDiese Angebote sind nach dem Herunterfahren nicht mehr verfügbar und werden erneut im P2P-Netzwerk veröffentlicht wenn Sie das nächste Mal Bisq starten.\n\nLassen Sie Bisq weiter laufen und stellen Sie sicher, dass Ihr Computer online bleibt, um Ihre Angebote verfügbar zu halten (z.B.: verhindern Sie den Standby-Modus... der Standby-Modus des Monitors stellt kein Problem dar).
popup.privateNotification.headline=Wichtige private Benachrichtigung! popup.privateNotification.headline=Wichtige private Benachrichtigung!
popup.securityRecommendation.headline=Wichtige Sicherheitsempfehlung popup.securityRecommendation.headline=Wichtige Sicherheitsempfehlung

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Σύνδεση με δίκτυ
mainView.walletServiceErrorMsg.timeout=Αποτυχία σύνδεσης στο δίκτυο Bitcoin εξαιτίας λήξης χρονικού ορίου. mainView.walletServiceErrorMsg.timeout=Αποτυχία σύνδεσης στο δίκτυο Bitcoin εξαιτίας λήξης χρονικού ορίου.
mainView.walletServiceErrorMsg.connectionError=Αποτυχία σύνδεσης στο δίκτυο Bitcoin εξαιτίας σφάλματος: {0} mainView.walletServiceErrorMsg.connectionError=Αποτυχία σύνδεσης στο δίκτυο Bitcoin εξαιτίας σφάλματος: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=Διακόπηκε η σύνδεση προς όλους τους {0} peers του δικτύου.\nΊσως διακόπηκε η σύνδεση δικτύου ή ο υπολογιστής σου βρισκόταν σε κατάσταση αναμονής. mainView.networkWarning.allConnectionsLost=Διακόπηκε η σύνδεση προς όλους τους {0} peers του δικτύου.\nΊσως διακόπηκε η σύνδεση δικτύου ή ο υπολογιστής σου βρισκόταν σε κατάσταση αναμονής.
mainView.networkWarning.localhostBitcoinLost=Διακοπή σύνδεσης με τοπικό κόμβο Bitcoin.\nΕπανεκκίνησε την εφαρμογή Bisq για να συνδεθείς με άλλους κόμβους Bitcoin ή επανεκκίνησε τον τοπικό κόμβο Bitcoin. mainView.networkWarning.localhostBitcoinLost=Διακοπή σύνδεσης με τοπικό κόμβο Bitcoin.\nΕπανεκκίνησε την εφαρμογή Bisq για να συνδεθείς με άλλους κόμβους Bitcoin ή επανεκκίνησε τον τοπικό κόμβο Bitcoin.
mainView.version.update=(Διαθέσιμη ενημέρωση) mainView.version.update=(Διαθέσιμη ενημέρωση)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Άνοιξε αίτημα υποσ
portfolio.pending.openSupportTicket.msg=Χρησιμοποίησέ το μονάχα σε επείγουσες περιπτώσεις, αν δεν εμαφανίζεται το κουμπί \"Αίτημα υποστήριξης\" ή \"Επίλυση διένεξης\".\n\nΑνοίγοντας ένα αίτημα υποστήριξης η συναλλαγή αναστέλλεται και τη διαχείριση αναλαμβάνει η διαμεσολαβήτρια ή η διαιτητής. portfolio.pending.openSupportTicket.msg=Χρησιμοποίησέ το μονάχα σε επείγουσες περιπτώσεις, αν δεν εμαφανίζεται το κουμπί \"Αίτημα υποστήριξης\" ή \"Επίλυση διένεξης\".\n\nΑνοίγοντας ένα αίτημα υποστήριξης η συναλλαγή αναστέλλεται και τη διαχείριση αναλαμβάνει η διαμεσολαβήτρια ή η διαιτητής.
portfolio.pending.timeLockNotOver=Θα πρέπει να περιμένεις ≈{0} ({1} επιπλέον blocks) πριν ξεκινήσεις μία επίλυση διένεξης. portfolio.pending.timeLockNotOver=Θα πρέπει να περιμένεις ≈{0} ({1} επιπλέον blocks) πριν ξεκινήσεις μία επίλυση διένεξης.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Ειδοποίηση portfolio.pending.notification=Ειδοποίηση
@ -973,7 +978,7 @@ settings.net.inbound=εισερχόμενα
settings.net.outbound=εξερχόμενα settings.net.outbound=εξερχόμενα
settings.net.reSyncSPVChainLabel=Επανασυγχρονισμός αλυσίδας SPV settings.net.reSyncSPVChainLabel=Επανασυγχρονισμός αλυσίδας SPV
settings.net.reSyncSPVChainButton=Διάγραψε το αρχείο SPV και επανασυγχρονίσου settings.net.reSyncSPVChainButton=Διάγραψε το αρχείο SPV και επανασυγχρονίσου
settings.net.reSyncSPVSuccess=Το αρχείο αλυσίδας SPV θα διαγραφεί στην επόμενη εκκίνηση. Πρέπει να επανεκκινήσεις την εφαρμογή τώρα.\n\nΜετά την επανεκκίνηση ίσως χρειαστεί λίγη ώρα για τον επανασυγχρονισμό με το δίκτυο και θα δεις όλες τις συναλλαγές μόλις ολοκληρωθεί ο συγχρονισμός.\n\nΕπανεκκίνησε μετά την ολοκλήρωση του συγχρονισμού, καθώς μερικές φορές προκύπτουν ασυνέπειες που οδηγούν σε εσφαλμένη εμφάνιση υπολοίπου. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=Το αρχείο αλυσίδας SPV διαγράφηκε. Παρακαλούμε για την υπομονή σου. Ίσως χρειαστεί λίγη ώρα για τον επανασυγχρονισμό με το δίκτυο. settings.net.reSyncSPVAfterRestart=Το αρχείο αλυσίδας SPV διαγράφηκε. Παρακαλούμε για την υπομονή σου. Ίσως χρειαστεί λίγη ώρα για τον επανασυγχρονισμό με το δίκτυο.
settings.net.reSyncSPVAfterRestartCompleted=Ο επανασυγχρονισμός ολοκληρώθηκε. Επανεκκίνησε την εφαρμογή. settings.net.reSyncSPVAfterRestartCompleted=Ο επανασυγχρονισμός ολοκληρώθηκε. Επανεκκίνησε την εφαρμογή.
settings.net.reSyncSPVFailed=Αποτυχία διαγραφής αρχείου αλυσίδας SPV.\nΣφάλμα: {0} settings.net.reSyncSPVFailed=Αποτυχία διαγραφής αρχείου αλυσίδας SPV.\nΣφάλμα: {0}
@ -985,7 +990,6 @@ setting.about.agpl=Άδεια AGPL
setting.about.support=Υποστήριξε το Bisq setting.about.support=Υποστήριξε το Bisq
setting.about.def=Το Bisq δεν είναι εταιρία, αλλά ένα εγχείρημα ανοιχτό σε συμμετοχές. Αν θέλεις να συμμετάσχεις ή να υποστηρίξεις το Bisq ακολούθησε τους παρακάτω συνδέσμους. setting.about.def=Το Bisq δεν είναι εταιρία, αλλά ένα εγχείρημα ανοιχτό σε συμμετοχές. Αν θέλεις να συμμετάσχεις ή να υποστηρίξεις το Bisq ακολούθησε τους παρακάτω συνδέσμους.
setting.about.contribute=Συνεισφορά setting.about.contribute=Συνεισφορά
setting.about.donate=Δωρεά
setting.about.providers=Πάροχοι δεδομένων setting.about.providers=Πάροχοι δεδομένων
setting.about.apisWithFee=Η εφαρμογή Bisq χρησιμοποιεί APIs τρίτων για τις τιμές αγοράς των Fiat και Altcoin νομισμάτων, καθώς και για τον υπολογισμό της αμοιβής εξόρυξης. setting.about.apisWithFee=Η εφαρμογή Bisq χρησιμοποιεί APIs τρίτων για τις τιμές αγοράς των Fiat και Altcoin νομισμάτων, καθώς και για τον υπολογισμό της αμοιβής εξόρυξης.
setting.about.apis=Η εφαρμογή Bisq χρησιμοποιεί APIs τρίτων για τις τιμές αγοράς των fiat και altcoin νομισμάτων. setting.about.apis=Η εφαρμογή Bisq χρησιμοποιεί APIs τρίτων για τις τιμές αγοράς των fiat και altcoin νομισμάτων.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Προέκυψε σφάλμα κατά την
error.spvFileCorrupted=Προέκυψε σφάλμα κατά την ανάγνωση του αρχείου SPV chain.\nΤο αρχείο SPV chain ίσως να έχει καταστραφεί.\n\nΜήνυμα σφάλματος: {0}\n\nΘέλεις να το διαγράψεις και να ξεκινήσει επανασυγχρονισμός; error.spvFileCorrupted=Προέκυψε σφάλμα κατά την ανάγνωση του αρχείου SPV chain.\nΤο αρχείο SPV chain ίσως να έχει καταστραφεί.\n\nΜήνυμα σφάλματος: {0}\n\nΘέλεις να το διαγράψεις και να ξεκινήσει επανασυγχρονισμός;
error.deleteAddressEntryListFailed=Αποτυχία διαγραφής αρχείου AddressEntryList.\nΣφάλμα: {0} error.deleteAddressEntryListFailed=Αποτυχία διαγραφής αρχείου AddressEntryList.\nΣφάλμα: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=Δεν έχει δημιουργηθεί το πορτοφόλι μέχρι στιγμής popup.warning.walletNotInitialized=Δεν έχει δημιουργηθεί το πορτοφόλι μέχρι στιγμής
popup.warning.wrongVersion=Πιθανώς να έχεις λάθος έκδοση του Bisq για αυτόν τον υπολογιστή.\nΗ αρχιτεκτονική του υπολογιστή σου είναι: {0}.\nΤο εγκατεστημένο Bisq binary είναι: {1}.\nΠαρακαλώ κλείσε το πρόγραμμα και εγκατάστησε την ορθή έκδοση ({2}). popup.warning.wrongVersion=Πιθανώς να έχεις λάθος έκδοση του Bisq για αυτόν τον υπολογιστή.\nΗ αρχιτεκτονική του υπολογιστή σου είναι: {0}.\nΤο εγκατεστημένο Bisq binary είναι: {1}.\nΠαρακαλώ κλείσε το πρόγραμμα και εγκατάστησε την ορθή έκδοση ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Κάνε αναβάθμιση στην πιο
popup.warning.disable.dao=Το Bisq DAO και το BSQ είναι προσωρινά απενεργοποιημένα. Κοίταξε το Bisq φόρουμ για περισσότερες πληροφορίες. popup.warning.disable.dao=Το Bisq DAO και το BSQ είναι προσωρινά απενεργοποιημένα. Κοίταξε το Bisq φόρουμ για περισσότερες πληροφορίες.
popup.warning.burnBTC=Η συναλλαγή δεν είναι δυνατή, καθώς η αμοιβή εξόρυξης των {0} θα ξεπεράσει το ποσό προς μεταφορά των {1}. Ανάμενε μέχρι η αμοιβή εξόρυξης μειωθεί ξανά ή μέχρι να έχεις περισσότερα BTC προς μεταφορά. popup.warning.burnBTC=Η συναλλαγή δεν είναι δυνατή, καθώς η αμοιβή εξόρυξης των {0} θα ξεπεράσει το ποσό προς μεταφορά των {1}. Ανάμενε μέχρι η αμοιβή εξόρυξης μειωθεί ξανά ή μέχρι να έχεις περισσότερα BTC προς μεταφορά.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Για να εξασφαλιστεί πως και οι δύο συναλλασσόμενοι ακολουθούν το πρωτόκολλο συναλλαγών, απαιτείται να καταθέσουν και οι δύο ένα ποσό εγγύησης.\n\nΗ εγγύηση παραμένει στο τοπικό πορτοφόλι σου μέχρι η προσφορά σου να ολοκληρωθεί επιτυχώς και στη συνέχεια σου επιστρέφεται.\n\nΛάβε υπόψιν πως αν δημιουργείς μια νέα προσφορά, το Bisq θα πρέπει να παραμένει ενεργό για να γίνει αποδεκτή από άλλον συναλλασσόμενο. Για να διατηρήσεις τις προσφορές σου ενεργές, βεβαιώσου πως το Bisq λειτουργεί και πως ο υπολογιστής παραμένει συνδεδεμένος στο διαδίκτυο (π.χ. βεβαιώσου πως δεν θα περάσει σε κατάσταση αναμονής). Η οθόνη αναμονής δεν δημιουργεί πρόβλημα. popup.info.securityDepositInfo=Για να εξασφαλιστεί πως και οι δύο συναλλασσόμενοι ακολουθούν το πρωτόκολλο συναλλαγών, απαιτείται να καταθέσουν και οι δύο ένα ποσό εγγύησης.\n\nΗ εγγύηση παραμένει στο τοπικό πορτοφόλι σου μέχρι η προσφορά σου να ολοκληρωθεί επιτυχώς και στη συνέχεια σου επιστρέφεται.\n\nΛάβε υπόψιν πως αν δημιουργείς μια νέα προσφορά, το Bisq θα πρέπει να παραμένει ενεργό για να γίνει αποδεκτή από άλλον συναλλασσόμενο. Για να διατηρήσεις τις προσφορές σου ενεργές, βεβαιώσου πως το Bisq λειτουργεί και πως ο υπολογιστής παραμένει συνδεδεμένος στο διαδίκτυο (π.χ. βεβαιώσου πως δεν θα περάσει σε κατάσταση αναμονής). Η οθόνη αναμονής δεν δημιουργεί πρόβλημα.
popup.info.cashDepositInfo=Βεβαιώσου πως έχεις υποκατάστημα τράπεζας στην περιοχή σου όπου μπορείς να κάνεις την κατάθεση.\nBIC/SWIFT τράπεζας πωλητή: {0}. popup.info.cashDepositInfo=Βεβαιώσου πως έχεις υποκατάστημα τράπεζας στην περιοχή σου όπου μπορείς να κάνεις την κατάθεση.\nBIC/SWIFT τράπεζας πωλητή: {0}.
popup.info.cashDepositInfo.confirm=Επιβεβαιώνω πως μπορώ να κάνω την κατάθεση popup.info.cashDepositInfo.confirm=Επιβεβαιώνω πως μπορώ να κάνω την κατάθεση
popup.info.shutDownWithOpenOffers=Το Bisq τερματίζεται ενώ υπάρχουν ανοιχτές προσφορές.\n\nΑυτές οι προσφορές δεν θα είναι διαθέσιμες στο P2P δίκτυο ενώ το Bisq είναι ανενεργό, αλλά θα επανακοινοποιηθούν στο P2P δίκτυο την επόμενη φορά που θα εκκινήσεις το Bisq.\n\nΓια να κρατήσεις τις προσφορές σου ανοιχτές, κράτα το Bisq σε λειτουργία και σιγουρέψου πως ο υπολογιστής σου παραμένει συνδεδεμένος στο διαδίκτυο (π.χ. βεβαιώσου πως δεν θα περάσει σε κατάσταση αναμονής). Η οθόνη αναμονής δεν δημιουργεί πρόβλημα. popup.info.shutDownWithOpenOffers=Το Bisq τερματίζεται ενώ υπάρχουν ανοιχτές προσφορές.\n\nΑυτές οι προσφορές δεν θα είναι διαθέσιμες στο P2P δίκτυο ενώ το Bisq είναι ανενεργό, αλλά θα επανακοινοποιηθούν στο P2P δίκτυο την επόμενη φορά που θα εκκινήσεις το Bisq.\n\nΓια να κρατήσεις τις προσφορές σου ανοιχτές, κράτα το Bisq σε λειτουργία και σιγουρέψου πως ο υπολογιστής σου παραμένει συνδεδεμένος στο διαδίκτυο (π.χ. βεβαιώσου πως δεν θα περάσει σε κατάσταση αναμονής). Η οθόνη αναμονής δεν δημιουργεί πρόβλημα.
popup.privateNotification.headline=Σημαντική προσωπική ειδοποίηση! popup.privateNotification.headline=Σημαντική προσωπική ειδοποίηση!
popup.securityRecommendation.headline=Σημαντική σύσταση ασφάλειας popup.securityRecommendation.headline=Σημαντική σύσταση ασφάλειας

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Fallo conectándose a la red Bi
mainView.walletServiceErrorMsg.timeout=Error al conectar a la red Bitcoin en el límite de tiempo establecido. mainView.walletServiceErrorMsg.timeout=Error al conectar a la red Bitcoin en el límite de tiempo establecido.
mainView.walletServiceErrorMsg.connectionError=La conexión a la red Bitcoin falló por un error: {0} mainView.walletServiceErrorMsg.connectionError=La conexión a la red Bitcoin falló por un error: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=Perdió la conexión a todos los {0} usuarios de red.\nTal vez se ha interrumpido su conexión a Internet o su computadora estaba en modo suspendido. mainView.networkWarning.allConnectionsLost=Perdió la conexión a todos los {0} usuarios de red.\nTal vez se ha interrumpido su conexión a Internet o su computadora estaba en modo suspendido.
mainView.networkWarning.localhostBitcoinLost=Perdió la conexión al nodo Bitcoin localhost.\nPor favor reinicie la aplicación Bisq para conectarse a otros nodos Bitcoin o reinice el nodo Bitcoin localhost. mainView.networkWarning.localhostBitcoinLost=Perdió la conexión al nodo Bitcoin localhost.\nPor favor reinicie la aplicación Bisq para conectarse a otros nodos Bitcoin o reinice el nodo Bitcoin localhost.
mainView.version.update=(Actualización disponible) mainView.version.update=(Actualización disponible)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Abrir ticket de soporte
portfolio.pending.openSupportTicket.msg=Por favor use esta función solo en caso de emergencia si no se muestra el botón \"Abrir soporte\" o \"Abrir disputa\".\n\nCuando abra un ticket de soporte el intercambio se interrumpirá y será manejado por un mediador o un árbitro. portfolio.pending.openSupportTicket.msg=Por favor use esta función solo en caso de emergencia si no se muestra el botón \"Abrir soporte\" o \"Abrir disputa\".\n\nCuando abra un ticket de soporte el intercambio se interrumpirá y será manejado por un mediador o un árbitro.
portfolio.pending.timeLockNotOver=Tiene hasta ≈{0} ({1} bloques más) antes de que pueda abrir una disputa de arbitraje. portfolio.pending.timeLockNotOver=Tiene hasta ≈{0} ({1} bloques más) antes de que pueda abrir una disputa de arbitraje.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Notificación portfolio.pending.notification=Notificación
@ -973,7 +978,7 @@ settings.net.inbound=entrante
settings.net.outbound=saliente settings.net.outbound=saliente
settings.net.reSyncSPVChainLabel=Resincronizar cadena SPV settings.net.reSyncSPVChainLabel=Resincronizar cadena SPV
settings.net.reSyncSPVChainButton=Borrar archivo SPV y resincronizar settings.net.reSyncSPVChainButton=Borrar archivo SPV y resincronizar
settings.net.reSyncSPVSuccess=El archivo de cadena SPV se borrará en el siguiente inicio. Necesita reiniciar la aplicación ahora.\n\nDespués del reinicio puede llevar un rato resincronizar con la red y verá todas las transacciones una vez completada la resincronización.\n\nPor favor haga otro reinicio después de resincronizar porque a veces hay inconsistencias que llevan a un balance mostrado incorrecto. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=La cadena SPV ha sido borrada. Por favor, sea paciente. Puede llevar un tiempo resincronizar con la red. settings.net.reSyncSPVAfterRestart=La cadena SPV ha sido borrada. Por favor, sea paciente. Puede llevar un tiempo resincronizar con la red.
settings.net.reSyncSPVAfterRestartCompleted=La resincronización se ha completado. Por favor, reinicie la aplicación. settings.net.reSyncSPVAfterRestartCompleted=La resincronización se ha completado. Por favor, reinicie la aplicación.
settings.net.reSyncSPVFailed=No se pudo borrar el archivo de cadena SPV\nError: {0} settings.net.reSyncSPVFailed=No se pudo borrar el archivo de cadena SPV\nError: {0}
@ -985,7 +990,6 @@ setting.about.agpl=Licencia AGPL
setting.about.support=Apoye a Bisq setting.about.support=Apoye a Bisq
setting.about.def=Bisq no es una compañía - es un proyecto abierto a la comunidad. Si quiere participar o ayudar a Bisq por favor siga los enlaces de abajo. setting.about.def=Bisq no es una compañía - es un proyecto abierto a la comunidad. Si quiere participar o ayudar a Bisq por favor siga los enlaces de abajo.
setting.about.contribute=Contribuir setting.about.contribute=Contribuir
setting.about.donate=Donar
setting.about.providers=Proveedores de datos setting.about.providers=Proveedores de datos
setting.about.apisWithFee=Bisq usa APIs de terceros para los precios de los mercados Fiat y Altcoin así como para la estimación de tasas de minado. setting.about.apisWithFee=Bisq usa APIs de terceros para los precios de los mercados Fiat y Altcoin así como para la estimación de tasas de minado.
setting.about.apis=Bisq utiliza APIs de terceros para los precios de mercado de Fiat y Altcoin. setting.about.apis=Bisq utiliza APIs de terceros para los precios de mercado de Fiat y Altcoin.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Un error ocurrió cuando alguien intentó tom
error.spvFileCorrupted=Ocurrió un error al leer el archivo de cadena SPV.\nPuede ser que el archivo de cadena SPV se haya corrompido.\n\nMensaje de error: {0}\n\n¿Quiere borrarlo y comenzar una resincronización? error.spvFileCorrupted=Ocurrió un error al leer el archivo de cadena SPV.\nPuede ser que el archivo de cadena SPV se haya corrompido.\n\nMensaje de error: {0}\n\n¿Quiere borrarlo y comenzar una resincronización?
error.deleteAddressEntryListFailed=No se pudo borrar el archivo AddressEntryList.\nError: {0} error.deleteAddressEntryListFailed=No se pudo borrar el archivo AddressEntryList.\nError: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=La cartera aún no sea ha iniciado popup.warning.walletNotInitialized=La cartera aún no sea ha iniciado
popup.warning.wrongVersion=Probablemente tenga una versión de Bisq incorrecta para este ordenador.\nLa arquitectura de su ordenador es: {0}.\nLos binarios de Bisq instalados son: {1}.\nPor favor cierre y reinstale la versión correcta ({2}). popup.warning.wrongVersion=Probablemente tenga una versión de Bisq incorrecta para este ordenador.\nLa arquitectura de su ordenador es: {0}.\nLos binarios de Bisq instalados son: {1}.\nPor favor cierre y reinstale la versión correcta ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Por favor, actualice a la última versión de
popup.warning.disable.dao=El DAO Bisq y BSQ estén temporalmente deshabilitados. Por favor revise el foro de Bisq para más información. popup.warning.disable.dao=El DAO Bisq y BSQ estén temporalmente deshabilitados. Por favor revise el foro de Bisq para más información.
popup.warning.burnBTC=Esta transacción no es posible, ya que las comisiones de minado de {0} excederían la cantidad a transferir de {1}. Por favor, espere a que las comisiones de minado bajen o hasta que haya acumulado más BTC para transferir. popup.warning.burnBTC=Esta transacción no es posible, ya que las comisiones de minado de {0} excederían la cantidad a transferir de {1}. Por favor, espere a que las comisiones de minado bajen o hasta que haya acumulado más BTC para transferir.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Para asegurarse de que ambos comerciantes siguen el protocolo de intercambio, ambos necesitan pagar un depósito de seguridad.\n\nEl depósito se guarda en su monedero de intercambio hasta que el intercambio se complete, y entonces se devuelve.\n\nPor favor, tenga en cuenta que al crear una nueva oferta, Bisq necesita estar en ejecución para que otro comerciante la tome. Para mantener sus ofertas en línea, mantenga Bisq funcionando y asegúrese de que su computadora está en línea también (Ej. asegúrese de que no pasa a modo standby...el monitor en standby no es problema!) popup.info.securityDepositInfo=Para asegurarse de que ambos comerciantes siguen el protocolo de intercambio, ambos necesitan pagar un depósito de seguridad.\n\nEl depósito se guarda en su monedero de intercambio hasta que el intercambio se complete, y entonces se devuelve.\n\nPor favor, tenga en cuenta que al crear una nueva oferta, Bisq necesita estar en ejecución para que otro comerciante la tome. Para mantener sus ofertas en línea, mantenga Bisq funcionando y asegúrese de que su computadora está en línea también (Ej. asegúrese de que no pasa a modo standby...el monitor en standby no es problema!)
popup.info.cashDepositInfo=Por favor asegúrese de que tiene una oficina bancaria donde pueda hacer el depósito de efectivo.\nEl ID del banco (BIC/SWIFT) de del vendedor es: {0} popup.info.cashDepositInfo=Por favor asegúrese de que tiene una oficina bancaria donde pueda hacer el depósito de efectivo.\nEl ID del banco (BIC/SWIFT) de del vendedor es: {0}
popup.info.cashDepositInfo.confirm=Confirmo que puedo hacer el depósito popup.info.cashDepositInfo.confirm=Confirmo que puedo hacer el depósito
popup.info.shutDownWithOpenOffers=Bisq se está cerrando, pero hay ofertas abiertas.\n\nEstas ofertas no estarán disponibles en la red P2P mientras Bisq esté cerrado, pero serán re-publicadas a la red P2P la próxima vez que inicie Bisq.\n\nPara mantener sus ofertas en línea, mantenga Bisq ejecutándose y asegúrese de que la computadora permanece en línea también (Ej. asegúrese de que no se pone en modo standby... el monitor en espera no es un problema). popup.info.shutDownWithOpenOffers=Bisq se está cerrando, pero hay ofertas abiertas.\n\nEstas ofertas no estarán disponibles en la red P2P mientras Bisq esté cerrado, pero serán re-publicadas a la red P2P la próxima vez que inicie Bisq.\n\nPara mantener sus ofertas en línea, mantenga Bisq ejecutándose y asegúrese de que la computadora permanece en línea también (Ej. asegúrese de que no se pone en modo standby... el monitor en espera no es un problema).
popup.privateNotification.headline=Notificación privada importante! popup.privateNotification.headline=Notificación privada importante!
popup.securityRecommendation.headline=Recomendación de seguridad importante popup.securityRecommendation.headline=Recomendación de seguridad importante

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
mainView.walletServiceErrorMsg.timeout=ارتباط با شبکه‌ی بیتکوین به دلیل وقفه، ناموفق بود. mainView.walletServiceErrorMsg.timeout=ارتباط با شبکه‌ی بیتکوین به دلیل وقفه، ناموفق بود.
mainView.walletServiceErrorMsg.connectionError=ارتباط با شبکه‌ی بیتکوین به دلیل یک خطا: {0}، ناموفق بود. mainView.walletServiceErrorMsg.connectionError=ارتباط با شبکه‌ی بیتکوین به دلیل یک خطا: {0}، ناموفق بود.
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=اتصال شما به تمام {0} همتایان شبکه قطع شد.\nشاید ارتباط کامپیوتر شما قطع شده است یا کامپیوتر در حالت Standby است. mainView.networkWarning.allConnectionsLost=اتصال شما به تمام {0} همتایان شبکه قطع شد.\nشاید ارتباط کامپیوتر شما قطع شده است یا کامپیوتر در حالت Standby است.
mainView.networkWarning.localhostBitcoinLost=اتصال شما به Node لوکال هاست بیتکوین قطع شد.\nلطفاً به منظور اتصال به سایر Nodeهای بیتکوین، برنامه‌ی Bisq یا Node لوکال هاست بیتکوین را مجددا راه اندازی کنید. mainView.networkWarning.localhostBitcoinLost=اتصال شما به Node لوکال هاست بیتکوین قطع شد.\nلطفاً به منظور اتصال به سایر Nodeهای بیتکوین، برنامه‌ی Bisq یا Node لوکال هاست بیتکوین را مجددا راه اندازی کنید.
mainView.version.update=(به روز رسانی موجود است) mainView.version.update=(به روز رسانی موجود است)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=باز کردن تیکت پشتیب
portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator. portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=اطلاع رسانی portfolio.pending.notification=اطلاع رسانی
@ -973,7 +978,7 @@ settings.net.inbound=وارد شونده
settings.net.outbound=خارج شونده settings.net.outbound=خارج شونده
settings.net.reSyncSPVChainLabel=همگام سازی مجدد زنجیره SPV  settings.net.reSyncSPVChainLabel=همگام سازی مجدد زنجیره SPV 
settings.net.reSyncSPVChainButton=حذف فایل SPV  و همگام سازی مجدد settings.net.reSyncSPVChainButton=حذف فایل SPV  و همگام سازی مجدد
settings.net.reSyncSPVSuccess=فایل زنجیره SPV در راه اندازی بعدی حذف خواهد شد. حالا باید نرم افزار را مجدداً راه اندازی کنید.\n\nبعد از راه اندازی مجدد، همگام سازی با شبکه کمی طول می کشد و زمانی که همگام سازی مجدد تکمیل شد می‌توانید تمام تراکنش‌ها را ببینید.\n\nلطفاً پس از تکمیل همگام سازی مجدد، برنامه را باز هم راه اندازی مجدد کنید زیرا گاهی اوقات ناهماهنگی هایی وجود دارد که منجر به نمایش نادرست موجودی‌ها می‌شود. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=فایل زنجیره SPV حذف شده است. لطفاً صبور باشید، همگام سازی مجدد با شبکه کمی طول خواهد کشید. settings.net.reSyncSPVAfterRestart=فایل زنجیره SPV حذف شده است. لطفاً صبور باشید، همگام سازی مجدد با شبکه کمی طول خواهد کشید.
settings.net.reSyncSPVAfterRestartCompleted=همگام سازی مجدد هم اکنون تکمیل شده است. لطفاً برنامه را مجدداً راه اندازی نمایید. settings.net.reSyncSPVAfterRestartCompleted=همگام سازی مجدد هم اکنون تکمیل شده است. لطفاً برنامه را مجدداً راه اندازی نمایید.
settings.net.reSyncSPVFailed=حذف فایل زنجیره SPV امکان پذیر نیست. \nخطا: {0} settings.net.reSyncSPVFailed=حذف فایل زنجیره SPV امکان پذیر نیست. \nخطا: {0}
@ -985,7 +990,6 @@ setting.about.agpl=مجوز AGPL
setting.about.support=پشتیبانی از Bisq setting.about.support=پشتیبانی از Bisq
setting.about.def=Bisq یک شرکت نیست — یک پروژه اجتماعی است و برای مشارکت آزاد است. اگر می‌خواهید در آن مشارکت کنید یا از آن حمایت نمایید، لینک‌‌های زیر را دنبال کنید. setting.about.def=Bisq یک شرکت نیست — یک پروژه اجتماعی است و برای مشارکت آزاد است. اگر می‌خواهید در آن مشارکت کنید یا از آن حمایت نمایید، لینک‌‌های زیر را دنبال کنید.
setting.about.contribute=مشارکت setting.about.contribute=مشارکت
setting.about.donate=اهدا
setting.about.providers=ارائه دهندگان داده setting.about.providers=ارائه دهندگان داده
setting.about.apisWithFee=Bisq از APIهای شخص ثالث 3rd party برای قیمت های روز فیات و آلت کوین و همچنین برای برآورد هزینه تراکنش شبکه استفاده می کند. setting.about.apisWithFee=Bisq از APIهای شخص ثالث 3rd party برای قیمت های روز فیات و آلت کوین و همچنین برای برآورد هزینه تراکنش شبکه استفاده می کند.
setting.about.apis=Bisq از APIهای شخص ثالث 3rd party برای قیمت های روز فیات و آلت کوین استفاده می کند. setting.about.apis=Bisq از APIهای شخص ثالث 3rd party برای قیمت های روز فیات و آلت کوین استفاده می کند.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=وقتی کسی تلاش کرد تا یکی
error.spvFileCorrupted=هنگام خواندن فایل زنجیره SPV خطایی رخ داد.\nممکن است فایل زنجیره SPV خراب شده باشد.\n\nپیغام خطا: {0}\n\nآیا می خواهید آن را حذف کنید و یک همگام سازی را شروع نمایید؟ error.spvFileCorrupted=هنگام خواندن فایل زنجیره SPV خطایی رخ داد.\nممکن است فایل زنجیره SPV خراب شده باشد.\n\nپیغام خطا: {0}\n\nآیا می خواهید آن را حذف کنید و یک همگام سازی را شروع نمایید؟
error.deleteAddressEntryListFailed=قادر به حذف فایل AddressEntryList نیست.\nخطا: {0} error.deleteAddressEntryListFailed=قادر به حذف فایل AddressEntryList نیست.\nخطا: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=کیف پول هنوز راه اندازی اولیه نشده است popup.warning.walletNotInitialized=کیف پول هنوز راه اندازی اولیه نشده است
popup.warning.wrongVersion=شما احتمالاً نسخه اشتباه Bisq را برای این رایانه دارید.\nمعماری کامپیوتر شما این است: {0}.\nباینری Bisq که شما نصب کرده اید،عبارت است از: {1}.\nلطفاً نسخه فعلی را خاموش کرده و مجدداً نصب نمایید ({2}). popup.warning.wrongVersion=شما احتمالاً نسخه اشتباه Bisq را برای این رایانه دارید.\nمعماری کامپیوتر شما این است: {0}.\nباینری Bisq که شما نصب کرده اید،عبارت است از: {1}.\nلطفاً نسخه فعلی را خاموش کرده و مجدداً نصب نمایید ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Please update to the latest Bisq version. A ma
popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. Please check out the Bisq Forum for more information. popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. Please check out the Bisq Forum for more information.
popup.warning.burnBTC=This transaction is not possible, as the mining fees of {0} would exceed the amount to transfer of {1}. Please wait until the mining fees are low again or until you''ve accumulated more BTC to transfer. popup.warning.burnBTC=This transaction is not possible, as the mining fees of {0} would exceed the amount to transfer of {1}. Please wait until the mining fees are low again or until you''ve accumulated more BTC to transfer.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=برای اطمینان از اینکه هر دو معامله گر پروتکل معامله را رعایت می‌کنند، هر دو معامله گر باید مبلغی را تحت عنوان سپرده اطمینان پرداخت کنند.\n\nاین سپرده در کیف‌پول معامله شما نگهداری می‌شود و زمانی که معامله شما با موفقیت انجام شد به خود شما بازگردانده خواهد شد.\n\nلطفا توجه کنید: اگر می‌خواهید یک پیشنهاد جدید ایجاد کنید، Bisq باید برای در سمت معامله دیگر اجرا باشد تا بتوانند آن را بپذیرد. برای اینکه پیشنهادات شما برخط بمانند، بگذارید Bisq در حال اجرابماند و همچنین مطمئن شوید که این کامپیوتر به اینترنت متصل است. (به عنوان مثال مطمئن شوید که به حالت آماده باش نمی‌رود.. البته حالت آماده باش برای نمایشگر ایرادی ندارد). popup.info.securityDepositInfo=برای اطمینان از اینکه هر دو معامله گر پروتکل معامله را رعایت می‌کنند، هر دو معامله گر باید مبلغی را تحت عنوان سپرده اطمینان پرداخت کنند.\n\nاین سپرده در کیف‌پول معامله شما نگهداری می‌شود و زمانی که معامله شما با موفقیت انجام شد به خود شما بازگردانده خواهد شد.\n\nلطفا توجه کنید: اگر می‌خواهید یک پیشنهاد جدید ایجاد کنید، Bisq باید برای در سمت معامله دیگر اجرا باشد تا بتوانند آن را بپذیرد. برای اینکه پیشنهادات شما برخط بمانند، بگذارید Bisq در حال اجرابماند و همچنین مطمئن شوید که این کامپیوتر به اینترنت متصل است. (به عنوان مثال مطمئن شوید که به حالت آماده باش نمی‌رود.. البته حالت آماده باش برای نمایشگر ایرادی ندارد).
popup.info.cashDepositInfo=لطفا مطمئن شوید که شما یک شعبه بانک در منطقه خود دارید تا بتوانید سپرده نقدی را بپردازید. شناسه بانکی (BIC/SWIFT) بانک فروشنده: {0}. popup.info.cashDepositInfo=لطفا مطمئن شوید که شما یک شعبه بانک در منطقه خود دارید تا بتوانید سپرده نقدی را بپردازید. شناسه بانکی (BIC/SWIFT) بانک فروشنده: {0}.
popup.info.cashDepositInfo.confirm=تأیید می کنم که می توانم سپرده را ایجاد کنم popup.info.cashDepositInfo.confirm=تأیید می کنم که می توانم سپرده را ایجاد کنم
popup.info.shutDownWithOpenOffers=Bisq در حال خاموش شدن است ولی پیشنهاداتی وجود دارند که باز هستند.\n\nزمانی که Bisq بسته باشد این پیشنهادات در شبکه P2P در دسترس نخواهند بود، ولی هر وقت دوباره Bisq را باز کنید این پیشنهادات دوباره در شبکه P2P منتشر خواهند شد.\n\n برای اینکه پیشنهادات شما برخط بمانند، بگذارید Bisq در حال اجرابماند و همچنین مطمئن شوید که این کامپیوتر به اینترنت متصل است. (به عنوان مثال مطمئن شوید که به حالت آماده باش نمی‌رود.. البته حالت آماده باش برای نمایشگر ایرادی ندارد). popup.info.shutDownWithOpenOffers=Bisq در حال خاموش شدن است ولی پیشنهاداتی وجود دارند که باز هستند.\n\nزمانی که Bisq بسته باشد این پیشنهادات در شبکه P2P در دسترس نخواهند بود، ولی هر وقت دوباره Bisq را باز کنید این پیشنهادات دوباره در شبکه P2P منتشر خواهند شد.\n\n برای اینکه پیشنهادات شما برخط بمانند، بگذارید Bisq در حال اجرابماند و همچنین مطمئن شوید که این کامپیوتر به اینترنت متصل است. (به عنوان مثال مطمئن شوید که به حالت آماده باش نمی‌رود.. البته حالت آماده باش برای نمایشگر ایرادی ندارد).
popup.privateNotification.headline=اعلان خصوصی مهم! popup.privateNotification.headline=اعلان خصوصی مهم!
popup.securityRecommendation.headline=توصیه امنیتی مهم popup.securityRecommendation.headline=توصیه امنیتی مهم

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
mainView.walletServiceErrorMsg.timeout=La connexion au réseau Bitcoin a échoué car le délai d'attente a expiré. mainView.walletServiceErrorMsg.timeout=La connexion au réseau Bitcoin a échoué car le délai d'attente a expiré.
mainView.walletServiceErrorMsg.connectionError=La connexion au réseau Bitcoin a échoué à cause d''une erreur: {0} mainView.walletServiceErrorMsg.connectionError=La connexion au réseau Bitcoin a échoué à cause d''une erreur: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=Vous avez perdu la connexion avec tous les {0} pairs du réseau.\nVous avez peut-être perdu votre connexion Internet ou votre ordinateur était passé en mode veille. mainView.networkWarning.allConnectionsLost=Vous avez perdu la connexion avec tous les {0} pairs du réseau.\nVous avez peut-être perdu votre connexion Internet ou votre ordinateur était passé en mode veille.
mainView.networkWarning.localhostBitcoinLost=Vous avez perdu la connexion avec le localhost Bitcoin node.\nVeuillez redémarrer l'application Bisq pour vous connecter à d'autres Bitcoin nodes ou redémarrer le localhost Bitcoin node. mainView.networkWarning.localhostBitcoinLost=Vous avez perdu la connexion avec le localhost Bitcoin node.\nVeuillez redémarrer l'application Bisq pour vous connecter à d'autres Bitcoin nodes ou redémarrer le localhost Bitcoin node.
mainView.version.update=(Mise à jour disponible) mainView.version.update=(Mise à jour disponible)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Ouvrir un ticket d'assistance
portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator. portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Notification portfolio.pending.notification=Notification
@ -973,7 +978,7 @@ settings.net.inbound=inbound
settings.net.outbound=outbound settings.net.outbound=outbound
settings.net.reSyncSPVChainLabel=Resynchronisation de la chaîne SPV settings.net.reSyncSPVChainLabel=Resynchronisation de la chaîne SPV
settings.net.reSyncSPVChainButton=Supprimer le fichier SPV et resynchroniser settings.net.reSyncSPVChainButton=Supprimer le fichier SPV et resynchroniser
settings.net.reSyncSPVSuccess=Le fichier de la chaîne SPV sera supprimé au prochain démarrage. Vous devez redémarrer votre application maintenant.\n\nAprès le redémarrage, la resynchronisation avec le réseau peut prendre un certain temps, vous serez en mesure de voir toutes les transactions seulement une fois que la resynchronisation sera terminée.\n\nVeuillez redémarrer après la fin de la resynchronisation car il y a parfois des incohérences qui entraînent un affichage erroné du solde de votre compte. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=Le fichier de la chaîne SPV a été supprimé. Veuillez s'il vous plaît patienter. La resynchronisation avec le réseau peut nécessiter un certain temps. settings.net.reSyncSPVAfterRestart=Le fichier de la chaîne SPV a été supprimé. Veuillez s'il vous plaît patienter. La resynchronisation avec le réseau peut nécessiter un certain temps.
settings.net.reSyncSPVAfterRestartCompleted=La resynchronisation est maintenant terminée. Veuillez redémarrer l'application. settings.net.reSyncSPVAfterRestartCompleted=La resynchronisation est maintenant terminée. Veuillez redémarrer l'application.
settings.net.reSyncSPVFailed=Impossible de supprimer le fichier de la chaîne SPV.\nErreur: {0} settings.net.reSyncSPVFailed=Impossible de supprimer le fichier de la chaîne SPV.\nErreur: {0}
@ -985,7 +990,6 @@ setting.about.agpl=Licence AGPL
setting.about.support=Soutenir Bisq setting.about.support=Soutenir Bisq
setting.about.def=Bisq n'est pas une entreprise, c'est un projet ouvert vers la communauté. Si vous souhaitez participer ou soutenir Bisq, veuillez suivre les liens ci-dessous. setting.about.def=Bisq n'est pas une entreprise, c'est un projet ouvert vers la communauté. Si vous souhaitez participer ou soutenir Bisq, veuillez suivre les liens ci-dessous.
setting.about.contribute=Contribuer setting.about.contribute=Contribuer
setting.about.donate=Faire un don
setting.about.providers=Fournisseurs de données setting.about.providers=Fournisseurs de données
setting.about.apisWithFee=Bisq utilise des APIs tierces ou 3rd party pour le taux de change des devises nationales et des cryptomonnaies, aussi bien que pour obtenir une estimation des frais de minage. setting.about.apisWithFee=Bisq utilise des APIs tierces ou 3rd party pour le taux de change des devises nationales et des cryptomonnaies, aussi bien que pour obtenir une estimation des frais de minage.
setting.about.apis=Bisq utilise des APIs tierces ou 3rd party pour le taux de change des devises nationales et des cryptomonnaies. setting.about.apis=Bisq utilise des APIs tierces ou 3rd party pour le taux de change des devises nationales et des cryptomonnaies.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Une erreur est survenue pendant que quelqu''u
error.spvFileCorrupted=Une erreur est survenue pendant la lecture du fichier de la chaîne SPV.\nIl se peut que le fichier de la chaîne SPV soit corrompu.\n\nMessage d''erreur: {0}\n\nVoulez-vous l''effacer et lancer une resynchronisation? error.spvFileCorrupted=Une erreur est survenue pendant la lecture du fichier de la chaîne SPV.\nIl se peut que le fichier de la chaîne SPV soit corrompu.\n\nMessage d''erreur: {0}\n\nVoulez-vous l''effacer et lancer une resynchronisation?
error.deleteAddressEntryListFailed=Impossible de supprimer le dossier AddressEntryList.\nErreur: {0}. error.deleteAddressEntryListFailed=Impossible de supprimer le dossier AddressEntryList.\nErreur: {0}.
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=Le portefeuille n'est pas encore initialisé popup.warning.walletNotInitialized=Le portefeuille n'est pas encore initialisé
popup.warning.wrongVersion=Vous avez probablement une mauvaise version de Bisq sur cet ordinateur.\nL''architecture de votre ordinateur est: {0}.\nLa binary Bisq que vous avez installé est: {1}.\nVeuillez éteindre et réinstaller une bonne version ({2}). popup.warning.wrongVersion=Vous avez probablement une mauvaise version de Bisq sur cet ordinateur.\nL''architecture de votre ordinateur est: {0}.\nLa binary Bisq que vous avez installé est: {1}.\nVeuillez éteindre et réinstaller une bonne version ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Veuillez faire une mise à jour vers la derni
popup.warning.disable.dao=La DAO de Bisq et BSQ sont désactivés temporairement. Veuillez consulter le Forum Bisq pour obtenir plus d'informations. popup.warning.disable.dao=La DAO de Bisq et BSQ sont désactivés temporairement. Veuillez consulter le Forum Bisq pour obtenir plus d'informations.
popup.warning.burnBTC=Cette transaction n''est pas possible, car les frais de minage de {0} dépasseraient le montant à transférer de {1}. Veuillez patienter jusqu''à ce que les frais de minage soient de nouveau bas ou jusqu''à ce que vous ayez accumulé plus de BTC à transférer. popup.warning.burnBTC=Cette transaction n''est pas possible, car les frais de minage de {0} dépasseraient le montant à transférer de {1}. Veuillez patienter jusqu''à ce que les frais de minage soient de nouveau bas ou jusqu''à ce que vous ayez accumulé plus de BTC à transférer.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Afin de s'assurer que les deux traders suivent le protocole de trading, les deux traders doivent payer un dépôt de garantie.\n\nCe dépôt est conservé dans votre portefeuille d'échange jusqu'à ce que votre transaction soit terminée avec succès, et ensuite il vous sera restitué.\n\nRemarque : si vous créez un nouvel ordre, Bisq doit être en cours d'exécution pour qu'un autre trader puisse l'accepter. Pour garder vos ordres en ligne, laissez Bisq en marche et assurez-vous que cet ordinateur reste en ligne aussi (pour cela, assurez-vous qu'il ne passe pas en mode veille....le mode veille du moniteur ne pose aucun problème). popup.info.securityDepositInfo=Afin de s'assurer que les deux traders suivent le protocole de trading, les deux traders doivent payer un dépôt de garantie.\n\nCe dépôt est conservé dans votre portefeuille d'échange jusqu'à ce que votre transaction soit terminée avec succès, et ensuite il vous sera restitué.\n\nRemarque : si vous créez un nouvel ordre, Bisq doit être en cours d'exécution pour qu'un autre trader puisse l'accepter. Pour garder vos ordres en ligne, laissez Bisq en marche et assurez-vous que cet ordinateur reste en ligne aussi (pour cela, assurez-vous qu'il ne passe pas en mode veille....le mode veille du moniteur ne pose aucun problème).
popup.info.cashDepositInfo=Veuillez vous assurer d'avoir une succursale de l'établissement bancaire dans votre région afin de pouvoir effectuer le dépôt en espèces.\nL'identifiant bancaire (BIC/SWIFT) de la banque du vendeur est: {0}. popup.info.cashDepositInfo=Veuillez vous assurer d'avoir une succursale de l'établissement bancaire dans votre région afin de pouvoir effectuer le dépôt en espèces.\nL'identifiant bancaire (BIC/SWIFT) de la banque du vendeur est: {0}.
popup.info.cashDepositInfo.confirm=Je confirme que je peux effectuer le dépôt. popup.info.cashDepositInfo.confirm=Je confirme que je peux effectuer le dépôt.
popup.info.shutDownWithOpenOffers=Bisq est en cours de fermeture, mais des ordres sont en attente.\n\nCes ordres ne seront pas disponibles sur le réseau P2P si Bisq est éteint, mais ils seront republiés sur le réseau P2P la prochaine fois que vous lancerez Bisq.\n\nPour garder vos ordres en ligne, laissez Bisq en marche et assurez-vous que cet ordinateur reste aussi en ligne (pour cela, assurez-vous qu'il ne passe pas en mode veille...la veille du moniteur ne pose aucun problème). popup.info.shutDownWithOpenOffers=Bisq est en cours de fermeture, mais des ordres sont en attente.\n\nCes ordres ne seront pas disponibles sur le réseau P2P si Bisq est éteint, mais ils seront republiés sur le réseau P2P la prochaine fois que vous lancerez Bisq.\n\nPour garder vos ordres en ligne, laissez Bisq en marche et assurez-vous que cet ordinateur reste aussi en ligne (pour cela, assurez-vous qu'il ne passe pas en mode veille...la veille du moniteur ne pose aucun problème).
popup.privateNotification.headline=Notification privée importante! popup.privateNotification.headline=Notification privée importante!
popup.securityRecommendation.headline=Recommendation de sécurité importante popup.securityRecommendation.headline=Recommendation de sécurité importante

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
mainView.walletServiceErrorMsg.timeout=タイムアウトのためビットコインネットワークへの接続に失敗しました mainView.walletServiceErrorMsg.timeout=タイムアウトのためビットコインネットワークへの接続に失敗しました
mainView.walletServiceErrorMsg.connectionError=次のエラーのためビットコインネットワークへの接続に失敗しました: {0} mainView.walletServiceErrorMsg.connectionError=次のエラーのためビットコインネットワークへの接続に失敗しました: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=全ての{0}のネットワークピアへの接続が切断されました。\nインターネット接続が切断されたか、コンピュータがスタンバイモードになった可能性があります。 mainView.networkWarning.allConnectionsLost=全ての{0}のネットワークピアへの接続が切断されました。\nインターネット接続が切断されたか、コンピュータがスタンバイモードになった可能性があります。
mainView.networkWarning.localhostBitcoinLost=ローカルホストビットコインノードへの接続が切断されました。\nBisqアプリケーションを再起動して他のビットコインードに接続するか、ローカルホストのビットコインードを再起動してください。 mainView.networkWarning.localhostBitcoinLost=ローカルホストビットコインノードへの接続が切断されました。\nBisqアプリケーションを再起動して他のビットコインードに接続するか、ローカルホストのビットコインードを再起動してください。
mainView.version.update=(更新が利用可能) mainView.version.update=(更新が利用可能)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=サポートチケットをオー
portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator. portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=通知 portfolio.pending.notification=通知
@ -973,7 +978,7 @@ settings.net.inbound=インバウンド
settings.net.outbound=アウトバウンド settings.net.outbound=アウトバウンド
settings.net.reSyncSPVChainLabel=SPVチェーンを再同期 settings.net.reSyncSPVChainLabel=SPVチェーンを再同期
settings.net.reSyncSPVChainButton=SPVファイルを削除してを再同期 settings.net.reSyncSPVChainButton=SPVファイルを削除してを再同期
settings.net.reSyncSPVSuccess=SPVチェーンファイルは、次回の起動時に削除されます。今すぐアプリケーションを再起動する必要があります。\n\n再起動後、ネットワークとの再同期に時間がかかることがあり、再同期が完了するとすべてのトランザクションのみが表示されます。\n\n不整合により不正確な残高表示が生じる可能性があるため、再同期が完了した後にもう一度再起動してください。 settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=SPVチェーンファイルが削除されました。しばらくお待ちください。ネットワークとの再同期には時間がかかる場合があります。 settings.net.reSyncSPVAfterRestart=SPVチェーンファイルが削除されました。しばらくお待ちください。ネットワークとの再同期には時間がかかる場合があります。
settings.net.reSyncSPVAfterRestartCompleted=再同期が完了しました。アプリケーションを再起動してください。 settings.net.reSyncSPVAfterRestartCompleted=再同期が完了しました。アプリケーションを再起動してください。
settings.net.reSyncSPVFailed=SPVチェーンファイルを削除できませんでした。\nエラー: {0} settings.net.reSyncSPVFailed=SPVチェーンファイルを削除できませんでした。\nエラー: {0}
@ -985,7 +990,6 @@ setting.about.agpl=AGPLライセンス
setting.about.support=Bisqをサポートする setting.about.support=Bisqをサポートする
setting.about.def=Bisqは会社ではなく、開かれたコミュニティのプロジェクトです。Bisqにサポートしたい時は下のURLをチェックしてください。 setting.about.def=Bisqは会社ではなく、開かれたコミュニティのプロジェクトです。Bisqにサポートしたい時は下のURLをチェックしてください。
setting.about.contribute=貢献 setting.about.contribute=貢献
setting.about.donate=寄付する
setting.about.providers=データプロバイダー setting.about.providers=データプロバイダー
setting.about.apisWithFee=Bisqは、法定通貨とアルトコインの市場価格や、マイニング料金の推定にサードパーティAPIを使用します。 setting.about.apisWithFee=Bisqは、法定通貨とアルトコインの市場価格や、マイニング料金の推定にサードパーティAPIを使用します。
setting.about.apis=Bisqは法定通貨とアルトコインの市場価格の為にサードパーティAPIを使用します。 setting.about.apis=Bisqは法定通貨とアルトコインの市場価格の為にサードパーティAPIを使用します。
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=誰かがあなたのいずれかのオファ
error.spvFileCorrupted=SPVチェーンファイルの読み込み中にエラーが発生しました。\nSPVチェーンファイルが破損している可能性があります。\n\nエラーメッセージ: {0} \n\n削除して再同期を開始しますか error.spvFileCorrupted=SPVチェーンファイルの読み込み中にエラーが発生しました。\nSPVチェーンファイルが破損している可能性があります。\n\nエラーメッセージ: {0} \n\n削除して再同期を開始しますか
error.deleteAddressEntryListFailed=AddressEntryListファイルを削除できませんでした。\nエラー: {0} error.deleteAddressEntryListFailed=AddressEntryListファイルを削除できませんでした。\nエラー: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=ウォレットはまだ初期化されていません popup.warning.walletNotInitialized=ウォレットはまだ初期化されていません
popup.warning.wrongVersion=このコンピューターのBisqバージョンが間違っている可能性があります。\nコンピューターのアーキテクチャ: {0}\nインストールしたBisqバイナリ: {1}\nシャットダウンして、次の正しいバージョンを再インストールしてください{2})。 popup.warning.wrongVersion=このコンピューターのBisqバージョンが間違っている可能性があります。\nコンピューターのアーキテクチャ: {0}\nインストールしたBisqバイナリ: {1}\nシャットダウンして、次の正しいバージョンを再インストールしてください{2})。
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=最新のBisqバージョンに更新してく
popup.warning.disable.dao=Bisq DAOとBSQは一時的に無効になっています。詳細については、Bisqフォーラムをご覧ください。 popup.warning.disable.dao=Bisq DAOとBSQは一時的に無効になっています。詳細については、Bisqフォーラムをご覧ください。
popup.warning.burnBTC={0}のマイニング手数料が{1}の送金額を超えるため、このトランザクションは利用不可です。マイニング手数料が再び低くなるか、送金するBTCがさらに蓄積されるまでお待ちください。 popup.warning.burnBTC={0}のマイニング手数料が{1}の送金額を超えるため、このトランザクションは利用不可です。マイニング手数料が再び低くなるか、送金するBTCがさらに蓄積されるまでお待ちください。
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=両方の取引者がトレードプロトコルに従うことを保証するために、両方のトレーダーはセキュリティデポジットを支払う必要があります。\n\nこのデポジットはあなたのトレードがうまく完了するまであなたのトレードウォレットに保管され、それからあなたに返金されます。\n\n注意してくださいあなたが新しいオファーを作成しているなら、他の取引者がそれを受けるためにBisqを実行しておく必要があります。オファーをオンラインにしておくには、Bisqを実行したままにして、このコンピュータもオンラインにしたままにしますつまり、スタンバイモードに切り替わらないようにします…モニターのスタンバイは大丈夫です popup.info.securityDepositInfo=両方の取引者がトレードプロトコルに従うことを保証するために、両方のトレーダーはセキュリティデポジットを支払う必要があります。\n\nこのデポジットはあなたのトレードがうまく完了するまであなたのトレードウォレットに保管され、それからあなたに返金されます。\n\n注意してくださいあなたが新しいオファーを作成しているなら、他の取引者がそれを受けるためにBisqを実行しておく必要があります。オファーをオンラインにしておくには、Bisqを実行したままにして、このコンピュータもオンラインにしたままにしますつまり、スタンバイモードに切り替わらないようにします…モニターのスタンバイは大丈夫です
popup.info.cashDepositInfo=あなたの地域の銀行支店が現金デポジットが作成できることを確認してください。\n売り手の銀行IDBIC / SWIFTは{0}です。 popup.info.cashDepositInfo=あなたの地域の銀行支店が現金デポジットが作成できることを確認してください。\n売り手の銀行IDBIC / SWIFTは{0}です。
popup.info.cashDepositInfo.confirm=デポジットを作成できるか確認します popup.info.cashDepositInfo.confirm=デポジットを作成できるか確認します
popup.info.shutDownWithOpenOffers=Bisqはシャットダウン中ですが、オファーはあります。\n\nこれらのオファーは、Bisqがシャットダウンされている間はP2Pネットワークでは利用できませんが、次回Bisqを起動したときにP2Pネットワークに再公開されます。\n\nオファーをオンラインに保つには、Bisqを実行したままにして、このコンピュータもオンラインにしたままにしますつまり、スタンバイモードにならないようにしてください。モニタースタンバイは問題ありません popup.info.shutDownWithOpenOffers=Bisqはシャットダウン中ですが、オファーはあります。\n\nこれらのオファーは、Bisqがシャットダウンされている間はP2Pネットワークでは利用できませんが、次回Bisqを起動したときにP2Pネットワークに再公開されます。\n\nオファーをオンラインに保つには、Bisqを実行したままにして、このコンピュータもオンラインにしたままにしますつまり、スタンバイモードにならないようにしてください。モニタースタンバイは問題ありません
popup.privateNotification.headline=重要なプライベート通知! popup.privateNotification.headline=重要なプライベート通知!
popup.securityRecommendation.headline=重要なセキュリティ勧告 popup.securityRecommendation.headline=重要なセキュリティ勧告

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=A conexão com a rede do Bisq f
mainView.walletServiceErrorMsg.timeout=A conexão com a rede Bitcoin falhou por causa de tempo esgotado. mainView.walletServiceErrorMsg.timeout=A conexão com a rede Bitcoin falhou por causa de tempo esgotado.
mainView.walletServiceErrorMsg.connectionError=A conexão com a rede Bitcoin falhou devido ao erro: {0} mainView.walletServiceErrorMsg.connectionError=A conexão com a rede Bitcoin falhou devido ao erro: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=Você perdeu a conexão com todos os pares de rede de {0} .\nTalvez você tenha perdido sua conexão de internet ou o seu computador estivesse no modo de espera. mainView.networkWarning.allConnectionsLost=Você perdeu a conexão com todos os pares de rede de {0} .\nTalvez você tenha perdido sua conexão de internet ou o seu computador estivesse no modo de espera.
mainView.networkWarning.localhostBitcoinLost=Perdeu a conexão ao nó Bitcoin do localhost.\nPor favor recomeçar o programa do Bisq para conectar à outros nós Bitcoin ou recomeçar o nó Bitcoin do localhost. mainView.networkWarning.localhostBitcoinLost=Perdeu a conexão ao nó Bitcoin do localhost.\nPor favor recomeçar o programa do Bisq para conectar à outros nós Bitcoin ou recomeçar o nó Bitcoin do localhost.
mainView.version.update=(Atualização disponível) mainView.version.update=(Atualização disponível)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Abrir bilhete de apoio
portfolio.pending.openSupportTicket.msg=Por favor, use esta função apenas em casos de emergência, se você não vir o botão \"Abrir apoio\" ou \"Abrir disputa\".\n\nQuando você abre um bilhete de apoio, o negócio será interrompido e tratado por um mediador ou árbitro. portfolio.pending.openSupportTicket.msg=Por favor, use esta função apenas em casos de emergência, se você não vir o botão \"Abrir apoio\" ou \"Abrir disputa\".\n\nQuando você abre um bilhete de apoio, o negócio será interrompido e tratado por um mediador ou árbitro.
portfolio.pending.timeLockNotOver=Você deve esperar ≈{0} (mais {1} blocos) antes que você possa abrir uma disputa de arbitragem. portfolio.pending.timeLockNotOver=Você deve esperar ≈{0} (mais {1} blocos) antes que você possa abrir uma disputa de arbitragem.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Notificação portfolio.pending.notification=Notificação
@ -973,7 +978,7 @@ settings.net.inbound=entrante
settings.net.outbound=sainte settings.net.outbound=sainte
settings.net.reSyncSPVChainLabel=Re-sincronizar corrente SPV settings.net.reSyncSPVChainLabel=Re-sincronizar corrente SPV
settings.net.reSyncSPVChainButton=Remover ficheiro SPV e re-sincronizar settings.net.reSyncSPVChainButton=Remover ficheiro SPV e re-sincronizar
settings.net.reSyncSPVSuccess=O ficheiro da corrente SPV será apagado na próxima inicialização. Você precisa reiniciar seu programa agora.\n\nApós a reinicialização, pode demorar um pouco para re-sincronizar com a rede e você apenas verá todas as transações quando a re-sincronização for concluída.\n\nPor favor, reinicie novamente após a conclusão da re-sincronização, pois às vezes há inconsistências que resultam na exibição de saldos incorretos. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=O ficheiro da corrente SPV foi apagado. Por favor, seja paciente. Pode demorar um pouco para re-sincronizar com a rede. settings.net.reSyncSPVAfterRestart=O ficheiro da corrente SPV foi apagado. Por favor, seja paciente. Pode demorar um pouco para re-sincronizar com a rede.
settings.net.reSyncSPVAfterRestartCompleted=A resincronização concluiu. Por favor reiniciar o programa. settings.net.reSyncSPVAfterRestartCompleted=A resincronização concluiu. Por favor reiniciar o programa.
settings.net.reSyncSPVFailed=Não foi possível remover o ficherio da corrente SPV\nErro: {0} settings.net.reSyncSPVFailed=Não foi possível remover o ficherio da corrente SPV\nErro: {0}
@ -985,7 +990,6 @@ setting.about.agpl=Licença AGPL
setting.about.support=Apoio Bisq setting.about.support=Apoio Bisq
setting.about.def=O Bisq não é uma empresa - é um projeto aberto à comunidade. Se você quiser participar ou apoiar o Bisq, siga os links abaixo. setting.about.def=O Bisq não é uma empresa - é um projeto aberto à comunidade. Se você quiser participar ou apoiar o Bisq, siga os links abaixo.
setting.about.contribute=Contribuir setting.about.contribute=Contribuir
setting.about.donate=Fazer doação
setting.about.providers=Provedores de dados setting.about.providers=Provedores de dados
setting.about.apisWithFee=A Bisq usa APIs de terceiros para os preços de mercado de moedas fiduciárias e Altcoin, bem como para estimativas de taxas de mineração. setting.about.apisWithFee=A Bisq usa APIs de terceiros para os preços de mercado de moedas fiduciárias e Altcoin, bem como para estimativas de taxas de mineração.
setting.about.apis=Bisq utiliza APIs de terceiros para os preços de moedas fiduciárias e altcoins. setting.about.apis=Bisq utiliza APIs de terceiros para os preços de moedas fiduciárias e altcoins.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Ocorreu um erro quando alguém tentou aceitar
error.spvFileCorrupted=Ocorreu um erro ao ler o ficheiro da corrente SPV .\nPode ser que o ficheiro da corrente SPV esteja corrompido.\n\nMensagem de erro: {0}\n\nVocê deseja apagá-lo e iniciar uma resincronização? error.spvFileCorrupted=Ocorreu um erro ao ler o ficheiro da corrente SPV .\nPode ser que o ficheiro da corrente SPV esteja corrompido.\n\nMensagem de erro: {0}\n\nVocê deseja apagá-lo e iniciar uma resincronização?
error.deleteAddressEntryListFailed=Não foi possível apagar o ficheiro AddressEntryList.\nErro: {0} error.deleteAddressEntryListFailed=Não foi possível apagar o ficheiro AddressEntryList.\nErro: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=A carteira ainda não foi inicializada popup.warning.walletNotInitialized=A carteira ainda não foi inicializada
popup.warning.wrongVersion=Você provavelmente tem a versão errada do Bisq para este computador.\nA arquitetura do seu computador é: {0}.\nO binário Bisq que você instalou é: {1}.\nPor favor, desligue e reinstale a versão correta ({2}). popup.warning.wrongVersion=Você provavelmente tem a versão errada do Bisq para este computador.\nA arquitetura do seu computador é: {0}.\nO binário Bisq que você instalou é: {1}.\nPor favor, desligue e reinstale a versão correta ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Por favor, atualize para a versão mais recent
popup.warning.disable.dao=A OAD do Bisq e BSQ foram temporariamente desativados. Por favor, confira o Fórum Bisq para mais informações. popup.warning.disable.dao=A OAD do Bisq e BSQ foram temporariamente desativados. Por favor, confira o Fórum Bisq para mais informações.
popup.warning.burnBTC=Esta transação não é possível, pois as taxas de mineração de {0} excederia o montante a transferir de {1}. Aguarde até que as taxas de mineração estejam novamente baixas ou até você ter acumulado mais BTC para transferir. popup.warning.burnBTC=Esta transação não é possível, pois as taxas de mineração de {0} excederia o montante a transferir de {1}. Aguarde até que as taxas de mineração estejam novamente baixas ou até você ter acumulado mais BTC para transferir.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Para garantir que ambos os negociadores seguem o protocolo de negócio, ambos os negociadores precisam pagar um depósito de segurança.\n\nEsse depósito é mantido na sua carteira de negócio até que o seu negócio seja concluído com sucesso, e então lhe será reembolsado.\n\nPor favor note: se você está criando uma nova oferta, o Bisq precisa estar em execução para que um outro negociador a aceite. Para manter suas ofertas online, mantenha o Bisq em execução e certifique-se de que este computador permaneça online também (ou seja, certifique-se de que ele não alterne para o modo de espera... o modo de espera do monitor não causa problema). popup.info.securityDepositInfo=Para garantir que ambos os negociadores seguem o protocolo de negócio, ambos os negociadores precisam pagar um depósito de segurança.\n\nEsse depósito é mantido na sua carteira de negócio até que o seu negócio seja concluído com sucesso, e então lhe será reembolsado.\n\nPor favor note: se você está criando uma nova oferta, o Bisq precisa estar em execução para que um outro negociador a aceite. Para manter suas ofertas online, mantenha o Bisq em execução e certifique-se de que este computador permaneça online também (ou seja, certifique-se de que ele não alterne para o modo de espera... o modo de espera do monitor não causa problema).
popup.info.cashDepositInfo=Por favor, certifique-se de que você tem uma agência bancária na sua área para poder fazer o depósito em dinheiro.\nO ID do banco (BIC/SWIFT) do vendedor é: {0}. popup.info.cashDepositInfo=Por favor, certifique-se de que você tem uma agência bancária na sua área para poder fazer o depósito em dinheiro.\nO ID do banco (BIC/SWIFT) do vendedor é: {0}.
popup.info.cashDepositInfo.confirm=Eu confirmo que eu posso fazer o depósito popup.info.cashDepositInfo.confirm=Eu confirmo que eu posso fazer o depósito
popup.info.shutDownWithOpenOffers=Bisq está sendo fechado, mas há ofertas abertas. \n\nEstas ofertas não estarão disponíveis na rede P2P enquanto o Bisq estiver desligado, mas elas serão publicadas novamente na rede P2P na próxima vez que você iniciar o Bisq.\n\nPara manter suas ofertas on-line, mantenha o Bisq em execução e certifique-se de que este computador também permaneça online (ou seja, certifique-se de que ele não entra no modo de espera... o modo de espera do monitor não causa problema). popup.info.shutDownWithOpenOffers=Bisq está sendo fechado, mas há ofertas abertas. \n\nEstas ofertas não estarão disponíveis na rede P2P enquanto o Bisq estiver desligado, mas elas serão publicadas novamente na rede P2P na próxima vez que você iniciar o Bisq.\n\nPara manter suas ofertas on-line, mantenha o Bisq em execução e certifique-se de que este computador também permaneça online (ou seja, certifique-se de que ele não entra no modo de espera... o modo de espera do monitor não causa problema).
popup.privateNotification.headline=Notificação privada importante! popup.privateNotification.headline=Notificação privada importante!
popup.securityRecommendation.headline=Recomendação de segurança importante popup.securityRecommendation.headline=Recomendação de segurança importante

View File

@ -63,9 +63,9 @@ shared.priceInCurForCur=Preço em {0} para 1 {1}
shared.fixedPriceInCurForCur=Preço em {0} fixo para 1 {1} shared.fixedPriceInCurForCur=Preço em {0} fixo para 1 {1}
shared.amount=Quantidade shared.amount=Quantidade
shared.txFee=Taxa de negociação shared.txFee=Taxa de negociação
shared.makerFee=Maker Fee shared.makerFee=Taxa do ofertante
shared.buyerSecurityDeposit=Buyer Deposit shared.buyerSecurityDeposit=Depósito do comprador
shared.sellerSecurityDeposit=Seller Deposit shared.sellerSecurityDeposit=Depósito do vendedor
shared.amountWithCur=Quantidade em {0} shared.amountWithCur=Quantidade em {0}
shared.volumeWithCur=Volume em {0} shared.volumeWithCur=Volume em {0}
shared.currency=Moeda shared.currency=Moeda
@ -152,7 +152,7 @@ shared.save=Salvar
shared.onionAddress=Endereço Onion shared.onionAddress=Endereço Onion
shared.supportTicket=ticket de suporte shared.supportTicket=ticket de suporte
shared.dispute=disputa shared.dispute=disputa
shared.mediationCase=mediation case shared.mediationCase=mediação
shared.seller=vendedor shared.seller=vendedor
shared.buyer=comprador shared.buyer=comprador
shared.allEuroCountries=Todos os países do Euro shared.allEuroCountries=Todos os países do Euro
@ -207,13 +207,13 @@ shared.votes=Votos
shared.learnMore=Saiba mais shared.learnMore=Saiba mais
shared.dismiss=Dispensar shared.dismiss=Dispensar
shared.selectedArbitrator=Árbitro escolhido shared.selectedArbitrator=Árbitro escolhido
shared.selectedMediator=Selected mediator shared.selectedMediator=Mediador selecionado
shared.selectedRefundAgent=Árbitro escolhido shared.selectedRefundAgent=Árbitro escolhido
shared.mediator=Mediador shared.mediator=Mediador
shared.arbitrator=Árbitro shared.arbitrator=Árbitro
shared.refundAgent=Árbitro shared.refundAgent=Árbitro
shared.refundAgentForSupportStaff=Refund agent shared.refundAgentForSupportStaff=Árbitro
shared.delayedPayoutTxId=Refund collateral transaction ID shared.delayedPayoutTxId=ID de transação colateral de reembolso
#################################################################### ####################################################################
@ -256,7 +256,7 @@ mainView.footer.btcInfo.synchronizingWith=Sincronizando com
mainView.footer.btcInfo.synchronizedWith=Sincronizado com mainView.footer.btcInfo.synchronizedWith=Sincronizado com
mainView.footer.btcInfo.connectingTo=Conectando-se a mainView.footer.btcInfo.connectingTo=Conectando-se a
mainView.footer.btcInfo.connectionFailed=falha na conexão mainView.footer.btcInfo.connectionFailed=falha na conexão
mainView.footer.p2pInfo=Bisq network peers: {0} mainView.footer.p2pInfo=Pares na rede Bisq: {0}
mainView.footer.daoFullNode=Full node da DAO mainView.footer.daoFullNode=Full node da DAO
mainView.bootstrapState.connectionToTorNetwork=(1/4) Conectando-se à rede Tor... mainView.bootstrapState.connectionToTorNetwork=(1/4) Conectando-se à rede Tor...
@ -266,14 +266,16 @@ mainView.bootstrapState.initialDataReceived=(4/4) Dados iniciais recebidos
mainView.bootstrapWarning.noSeedNodesAvailable=Nenhum nó semente disponível mainView.bootstrapWarning.noSeedNodesAvailable=Nenhum nó semente disponível
mainView.bootstrapWarning.noNodesAvailable=Sem nós semente e pares disponíveis mainView.bootstrapWarning.noNodesAvailable=Sem nós semente e pares disponíveis
mainView.bootstrapWarning.bootstrappingToP2PFailed=Bootstrapping to Bisq network failed mainView.bootstrapWarning.bootstrappingToP2PFailed=O bootstrap para a rede Bisq falhou
mainView.p2pNetworkWarnMsg.noNodesAvailable=Não há nós semente ou pares persistentes para requisição de dados.\nPor gentileza verifique sua conexão com a internet ou tente reiniciar o programa. mainView.p2pNetworkWarnMsg.noNodesAvailable=Não há nós semente ou pares persistentes para requisição de dados.\nPor gentileza verifique sua conexão com a internet ou tente reiniciar o programa.
mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network failed (reported error: {0}).\nPlease check your internet connection or try to restart the application. mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Falha ao conectar com a rede Bisq (erro reportado: {0}).\nPor gentileza verifique sua conexão ou tente reiniciar o programa.
mainView.walletServiceErrorMsg.timeout=Não foi possível conectar-se à rede Bitcoin, pois o tempo limite expirou. mainView.walletServiceErrorMsg.timeout=Não foi possível conectar-se à rede Bitcoin, pois o tempo limite expirou.
mainView.walletServiceErrorMsg.connectionError=Não foi possível conectar-se à rede Bitcoin, devido ao seguinte erro: {0} mainView.walletServiceErrorMsg.connectionError=Não foi possível conectar-se à rede Bitcoin, devido ao seguinte erro: {0}
mainView.walletServiceErrorMsg.rejectedTxException=Uma transação foi rejeitada pela rede.\n\n{0}
mainView.networkWarning.allConnectionsLost=Você perdeu sua conexão com todos {0} os pontos da rede.\nTalvez você tenha perdido a conexão com a internet ou seu computador estava em modo de espera. mainView.networkWarning.allConnectionsLost=Você perdeu sua conexão com todos {0} os pontos da rede.\nTalvez você tenha perdido a conexão com a internet ou seu computador estava em modo de espera.
mainView.networkWarning.localhostBitcoinLost=Você perdeu a conexão ao nó Bitcoin do localhost.\nPor favor, reinicie o aplicativo Bisq para conectar-se a outros nós Bitcoin ou reinicie o nó Bitcoin do localhost. mainView.networkWarning.localhostBitcoinLost=Você perdeu a conexão ao nó Bitcoin do localhost.\nPor favor, reinicie o aplicativo Bisq para conectar-se a outros nós Bitcoin ou reinicie o nó Bitcoin do localhost.
mainView.version.update=(Atualização disponível) mainView.version.update=(Atualização disponível)
@ -313,7 +315,7 @@ market.trades.tooltip.candle.close=Fechar:
market.trades.tooltip.candle.high=Alta: market.trades.tooltip.candle.high=Alta:
market.trades.tooltip.candle.low=Baixa: market.trades.tooltip.candle.low=Baixa:
market.trades.tooltip.candle.average=Média: market.trades.tooltip.candle.average=Média:
market.trades.tooltip.candle.median=Median: market.trades.tooltip.candle.median=Mediana:
market.trades.tooltip.candle.date=Data: market.trades.tooltip.candle.date=Data:
#################################################################### ####################################################################
@ -333,20 +335,20 @@ offerbook.offerersAcceptedBankSeats=Países aceitos como sede bancária (tomador
offerbook.availableOffers=Ofertas disponíveis offerbook.availableOffers=Ofertas disponíveis
offerbook.filterByCurrency=Filtrar por moeda offerbook.filterByCurrency=Filtrar por moeda
offerbook.filterByPaymentMethod=Filtrar por método de pagamento offerbook.filterByPaymentMethod=Filtrar por método de pagamento
offerbook.timeSinceSigning=Time since signing offerbook.timeSinceSigning=Tempo desde a assinatura:
offerbook.timeSinceSigning.info=This account was verified and {0} offerbook.timeSinceSigning.info=Esta conta foi verificada e {0}
offerbook.timeSinceSigning.info.arbitrator=signed by an arbitrator and can sign peer accounts offerbook.timeSinceSigning.info.arbitrator=assinada por um árbitro e pode assinar contas de pares
offerbook.timeSinceSigning.info.peer=signed by a peer, waiting for limits to be lifted offerbook.timeSinceSigning.info.peer=assinada por um par, esperando os limites serem levantados
offerbook.timeSinceSigning.info.peerLimitLifted=signed by a peer and limits were lifted offerbook.timeSinceSigning.info.peerLimitLifted=assinada por um par e limites foram levantados
offerbook.timeSinceSigning.info.signer=signed by peer and can sign peer accounts (limits lifted) offerbook.timeSinceSigning.info.signer=assinada por um par e pode assinar contas de pares (limites levantados)
offerbook.timeSinceSigning.daysSinceSigning={0} dias offerbook.timeSinceSigning.daysSinceSigning={0} dias
offerbook.timeSinceSigning.daysSinceSigning.long={0} since signing offerbook.timeSinceSigning.daysSinceSigning.long={0} desde a assinatura
offerbook.timeSinceSigning.help=When you successfully complete a trade with a peer who has a signed payment account, your payment account is signed.\n{0} days later, the initial limit of {1} is lifted and your account can sign other peers'' payment accounts. offerbook.timeSinceSigning.help=Quando você completa uma negociação bem sucedida com um par que tem uma conta de pagamento assinada, a sua conta de pagamento é assinada.\n{0} dias depois, o limite inicial de {1} é levantado e sua conta pode assinar as contas de pagamento de outros pares.
offerbook.timeSinceSigning.notSigned=Not signed yet offerbook.timeSinceSigning.notSigned=Ainda não assinada
offerbook.timeSinceSigning.notSigned.noNeed=N/D offerbook.timeSinceSigning.notSigned.noNeed=N/D
shared.notSigned=This account hasn't been signed yet shared.notSigned=Esta conta ainda não foi assinada
shared.notSigned.noNeed=This account type doesn't use signing shared.notSigned.noNeed=Esse tipo de conta não usa assinatura
offerbook.nrOffers=N.º de ofertas: {0} offerbook.nrOffers=N.º de ofertas: {0}
offerbook.volume={0} (mín. - máx.) offerbook.volume={0} (mín. - máx.)
@ -372,7 +374,7 @@ offerbook.warning.noTradingAccountForCurrency.msg=Você não possui conta de neg
offerbook.warning.noMatchingAccount.headline=Não há conta de negociação compatível. offerbook.warning.noMatchingAccount.headline=Não há conta de negociação compatível.
offerbook.warning.noMatchingAccount.msg=Para aceitar essa oferta, é necessário configurar uma conta de pagamento usando esse método de pagamento.\n\nGostaria de fazer isso agora? offerbook.warning.noMatchingAccount.msg=Para aceitar essa oferta, é necessário configurar uma conta de pagamento usando esse método de pagamento.\n\nGostaria de fazer isso agora?
offerbook.warning.counterpartyTradeRestrictions=This offer cannot be taken due to counterparty trade restrictions offerbook.warning.counterpartyTradeRestrictions=Esta oferta não pode ser tomada por restrições de negociação da outra parte
offerbook.warning.newVersionAnnouncement=With this version of the software, trading peers can verify and sign each others' payment accounts to create a network of trusted payment accounts.\n\nAfter successfully trading with a peer with a verified payment account, your payment account will be signed and trading limits will be lifted after a certain time interval (length of this interval is based on the verification method).\n\nFor more information on account signing, please see the documentation at https://docs.bisq.network/payment-methods#account-signing. offerbook.warning.newVersionAnnouncement=With this version of the software, trading peers can verify and sign each others' payment accounts to create a network of trusted payment accounts.\n\nAfter successfully trading with a peer with a verified payment account, your payment account will be signed and trading limits will be lifted after a certain time interval (length of this interval is based on the verification method).\n\nFor more information on account signing, please see the documentation at https://docs.bisq.network/payment-methods#account-signing.
@ -542,7 +544,7 @@ portfolio.pending.step5.completed=Concluído
portfolio.pending.step1.info=A transação de depósito foi publicada\n{0} precisa esperar ao menos uma confirmação da blockchain antes de iniciar o pagamento. portfolio.pending.step1.info=A transação de depósito foi publicada\n{0} precisa esperar ao menos uma confirmação da blockchain antes de iniciar o pagamento.
portfolio.pending.step1.warn=The deposit transaction is still not confirmed. This sometimes happens in rare cases when the funding fee of one trader from an external wallet was too low. portfolio.pending.step1.warn=The deposit transaction is still not confirmed. This sometimes happens in rare cases when the funding fee of one trader from an external wallet was too low.
portfolio.pending.step1.openForDispute=The deposit transaction is still not confirmed. You can wait longer or contact the mediator for assistance. portfolio.pending.step1.openForDispute=A transação de depósito ainda não foi confirmada. Você pode aguardar um pouco mais ou entrar em contato com o mediador para pedir assistência.
# suppress inspection "TrailingSpacesInProperty" # suppress inspection "TrailingSpacesInProperty"
portfolio.pending.step2.confReached=Sua negociação já tem ao menos uma confirmação na blockchain.\n(Você pode aguardar mais confirmações se quiser - 6 confirmações são consideradas como muito seguro.)\n\n portfolio.pending.step2.confReached=Sua negociação já tem ao menos uma confirmação na blockchain.\n(Você pode aguardar mais confirmações se quiser - 6 confirmações são consideradas como muito seguro.)\n\n
@ -599,8 +601,8 @@ portfolio.pending.step2_seller.waitPayment.msg=A transação de depósito tem pe
portfolio.pending.step2_seller.warn=O comprador de BTC ainda não fez o pagamento de {0}.\nVocê precisa esperar até que ele inicie o pagamento.\nCaso a negociação não conclua em {1}, o árbitro irá investigar. portfolio.pending.step2_seller.warn=O comprador de BTC ainda não fez o pagamento de {0}.\nVocê precisa esperar até que ele inicie o pagamento.\nCaso a negociação não conclua em {1}, o árbitro irá investigar.
portfolio.pending.step2_seller.openForDispute=The BTC buyer has not started their payment!\nThe max. allowed period for the trade has elapsed.\nYou can wait longer and give the trading peer more time or contact the mediator for assistance. portfolio.pending.step2_seller.openForDispute=The BTC buyer has not started their payment!\nThe max. allowed period for the trade has elapsed.\nYou can wait longer and give the trading peer more time or contact the mediator for assistance.
tradeChat.chatWindowTitle=Chat window for trade with ID ''{0}'' tradeChat.chatWindowTitle=Abrir janela de conversa para a negociação com ID "{0}"
tradeChat.openChat=Open chat window tradeChat.openChat=Abrir janela de conversa
tradeChat.rules=You can communicate with your trade peer to resolve potential problems with this trade.\nIt is not mandatory to reply in the chat.\nIf a trader violates any of the rules below, open a dispute and report it to the mediator or arbitrator.\n\nChat rules:\n\t● Do not send any links (risk of malware). You can send the transaction ID and the name of a block explorer.\n\t● Do not send your seed words, private keys, passwords or other sensitive information!\n\t● Do not encourage trading outside of Bisq (no security).\n\t● Do not engage in any form of social engineering scam attempts.\n\t● If a peer is not responding and prefers to not communicate via chat, respect their decision.\n\t● Keep conversation scope limited to the trade. This chat is not a messenger replacement or troll-box.\n\t● Keep conversation friendly and respectful. tradeChat.rules=You can communicate with your trade peer to resolve potential problems with this trade.\nIt is not mandatory to reply in the chat.\nIf a trader violates any of the rules below, open a dispute and report it to the mediator or arbitrator.\n\nChat rules:\n\t● Do not send any links (risk of malware). You can send the transaction ID and the name of a block explorer.\n\t● Do not send your seed words, private keys, passwords or other sensitive information!\n\t● Do not encourage trading outside of Bisq (no security).\n\t● Do not engage in any form of social engineering scam attempts.\n\t● If a peer is not responding and prefers to not communicate via chat, respect their decision.\n\t● Keep conversation scope limited to the trade. This chat is not a messenger replacement or troll-box.\n\t● Keep conversation friendly and respectful.
# suppress inspection "UnusedProperty" # suppress inspection "UnusedProperty"
@ -610,7 +612,7 @@ message.state.SENT=Mensagem enviada
# suppress inspection "UnusedProperty" # suppress inspection "UnusedProperty"
message.state.ARRIVED=A mensagem chegou ao destinário message.state.ARRIVED=A mensagem chegou ao destinário
# suppress inspection "UnusedProperty" # suppress inspection "UnusedProperty"
message.state.STORED_IN_MAILBOX=Message of payment sent but not yet received by peer message.state.STORED_IN_MAILBOX=Mensagem do pagamento enviada mas ainda não recebida pelo par
# suppress inspection "UnusedProperty" # suppress inspection "UnusedProperty"
message.state.ACKNOWLEDGED=O destinário confirmou o recebimento da mensagem message.state.ACKNOWLEDGED=O destinário confirmou o recebimento da mensagem
# suppress inspection "UnusedProperty" # suppress inspection "UnusedProperty"
@ -621,8 +623,8 @@ portfolio.pending.step3_buyer.wait.info=Aguardando o vendedor de BTC confirmar o
portfolio.pending.step3_buyer.wait.msgStateInfo.label=Status da mensagem de pagamento iniciado portfolio.pending.step3_buyer.wait.msgStateInfo.label=Status da mensagem de pagamento iniciado
portfolio.pending.step3_buyer.warn.part1a=na blockchain {0} portfolio.pending.step3_buyer.warn.part1a=na blockchain {0}
portfolio.pending.step3_buyer.warn.part1b=no seu provedor de pagamentos (ex: seu banco) portfolio.pending.step3_buyer.warn.part1b=no seu provedor de pagamentos (ex: seu banco)
portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed your payment. Please check {0} if the payment sending was successful. portfolio.pending.step3_buyer.warn.part2=O vendedor de BTC ainda não confirmou o seu pagamento. Por favor, verifique em {0} se o pagamento foi enviado com sucesso.
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. 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" # 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.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.explorer=no seu explorador da blockchain {0} preferido
@ -704,26 +706,29 @@ portfolio.pending.openSupportTicket.headline=Abrir ticket de suporte
portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator. portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Notificação portfolio.pending.notification=Notificação
portfolio.pending.support.headline.getHelp=Need help? portfolio.pending.support.headline.getHelp=Precisa de ajuda?
portfolio.pending.support.text.getHelp=If you have any problems you can try to contact the trade peer in the trade chat or ask the Bisq community at https://bisq.community. If your issue still isn't resolved, you can request more help from a mediator. portfolio.pending.support.text.getHelp=If you have any problems you can try to contact the trade peer in the trade chat or ask the Bisq community at https://bisq.community. If your issue still isn't resolved, you can request more help from a mediator.
portfolio.pending.support.text.getHelp.arbitrator=If you have any problems you can try to contact the trade peer in the trade chat or ask the Bisq community at https://bisq.community. If your issue still isn't resolved, you can request more help from an arbitrator. portfolio.pending.support.text.getHelp.arbitrator=If you have any problems you can try to contact the trade peer in the trade chat or ask the Bisq community at https://bisq.community. If your issue still isn't resolved, you can request more help from an arbitrator.
portfolio.pending.support.button.getHelp=Get support portfolio.pending.support.button.getHelp=Pedir ajuda
portfolio.pending.support.popup.info=If your issue with the trade remains unsolved, you can open a support ticket to request help from a mediator. If you have not received the payment, please wait until the trade period is over.\n\nAre you sure you want to open a support ticket? portfolio.pending.support.popup.info=If your issue with the trade remains unsolved, you can open a support ticket to request help from a mediator. If you have not received the payment, please wait until the trade period is over.\n\nAre you sure you want to open a support ticket?
portfolio.pending.support.popup.button=Abrir ticket de suporte portfolio.pending.support.popup.button=Abrir ticket de suporte
portfolio.pending.support.headline.halfPeriodOver=Check payment portfolio.pending.support.headline.halfPeriodOver=Verifique o pagamento
portfolio.pending.support.headline.periodOver=O período de negociação acabou portfolio.pending.support.headline.periodOver=O período de negociação acabou
portfolio.pending.mediationRequested=Mediation requested portfolio.pending.mediationRequested=Mediação requerida
portfolio.pending.refundRequested=Refund requested portfolio.pending.refundRequested=Reembolso requerido
portfolio.pending.openSupport=Abrir ticket de suporte portfolio.pending.openSupport=Abrir ticket de suporte
portfolio.pending.supportTicketOpened=Ticket de suporte aberto portfolio.pending.supportTicketOpened=Ticket de suporte aberto
portfolio.pending.requestSupport=Solicitar suporte portfolio.pending.requestSupport=Solicitar suporte
portfolio.pending.error.requestSupport=Please report the problem to your mediator or arbitrator.\n\nThey will forward the information to the developers to investigate the problem.\nAfter the problem has been analyzed you will get back all locked funds. portfolio.pending.error.requestSupport=Please report the problem to your mediator or arbitrator.\n\nThey will forward the information to the developers to investigate the problem.\nAfter the problem has been analyzed you will get back all locked funds.
portfolio.pending.communicateWithArbitrator=Por favor, vá até a seção \"Suporte\" e entre em contato com o árbitro. portfolio.pending.communicateWithArbitrator=Por favor, vá até a seção \"Suporte\" e entre em contato com o árbitro.
portfolio.pending.communicateWithMediator=Please communicate in the \"Support\" screen with the mediator. portfolio.pending.communicateWithMediator=Por favor, entre em contato com o mediador na seção \"Suporte\".
portfolio.pending.supportTicketOpenedMyUser=Você já abriu um ticket de suporte\n{0} portfolio.pending.supportTicketOpenedMyUser=Você já abriu um ticket de suporte\n{0}
portfolio.pending.disputeOpenedMyUser=Você já abriu uma disputa.\n{0} portfolio.pending.disputeOpenedMyUser=Você já abriu uma disputa.\n{0}
portfolio.pending.disputeOpenedByPeer=Seu parceiro de negociação abriu uma disputa\n{0} portfolio.pending.disputeOpenedByPeer=Seu parceiro de negociação abriu uma disputa\n{0}
@ -731,20 +736,20 @@ portfolio.pending.supportTicketOpenedByPeer=Seu parceiro de negociação abriu u
portfolio.pending.noReceiverAddressDefined=Nenhum endereço de recebimento definido portfolio.pending.noReceiverAddressDefined=Nenhum endereço de recebimento definido
portfolio.pending.removeFailedTrade=Is this a failed trade? If so, would you like to manually close it, so that it no longer shows as an open trade? portfolio.pending.removeFailedTrade=Is this a failed trade? If so, would you like to manually close it, so that it no longer shows as an open trade?
portfolio.pending.mediationResult.headline=Suggested payout from mediation portfolio.pending.mediationResult.headline=Sugestão de pagamento da mediação
portfolio.pending.mediationResult.info.noneAccepted=Complete the trade by accepting the mediator's suggestion for the trade payout. portfolio.pending.mediationResult.info.noneAccepted=Completar a negociação aceitando a sugestão do mediador para o pagamento
portfolio.pending.mediationResult.info.selfAccepted=You have accepted the mediator's suggestion. Waiting for peer to accept as well. portfolio.pending.mediationResult.info.selfAccepted=Você aceitou a sugestão do mediador. Aguardando o parceiro de negociação aceitar também.
portfolio.pending.mediationResult.info.peerAccepted=Your trade peer has accepted the mediator's suggestion. Do you accept as well? portfolio.pending.mediationResult.info.peerAccepted=O seu parceiro de negociação aceitou a sugestão do mediador. Você também aceita
portfolio.pending.mediationResult.button=View proposed resolution portfolio.pending.mediationResult.button=Ver solução proposta
portfolio.pending.mediationResult.popup.headline=Mediation result for trade with ID: {0} portfolio.pending.mediationResult.popup.headline=Resultado da mediação para a negociação com ID: {0}
portfolio.pending.mediationResult.popup.headline.peerAccepted=Your trade peer has accepted the mediator''s suggestion for trade {0} portfolio.pending.mediationResult.popup.headline.peerAccepted=O seu parceiro de negociação aceitou a sugestão do mediador para a negociação {0}
portfolio.pending.mediationResult.popup.info=The mediator has suggested the following payout:\nYou receive: {0}\nYour trading peer receives: {1}\n\nYou can accept or reject this suggested payout.\n\nBy accepting, you sign the proposed payout transaction. If your trading peer also accepts and signs, the payout will be completed, and the trade will be closed.\n\nIf one or both of you reject the suggestion, you will have to wait until {2} (block {3}) to open a second-round dispute with an arbitrator who will investigate the case again and do a payout based on their findings.\n\nThe arbitrator may charge a small fee (fee maximum: the trader''s security deposit) as compensation for their work. Both traders agreeing to the mediator''s suggestion is the happy path—requesting arbitration is meant for exceptional circumstances, such as if a trader is sure the mediator did not make a fair payout suggestion (or if the other peer is unresponsive).\n\nMore details about the new arbitration model:\nhttps://docs.bisq.network/trading-rules.html#arbitration portfolio.pending.mediationResult.popup.info=The mediator has suggested the following payout:\nYou receive: {0}\nYour trading peer receives: {1}\n\nYou can accept or reject this suggested payout.\n\nBy accepting, you sign the proposed payout transaction. If your trading peer also accepts and signs, the payout will be completed, and the trade will be closed.\n\nIf one or both of you reject the suggestion, you will have to wait until {2} (block {3}) to open a second-round dispute with an arbitrator who will investigate the case again and do a payout based on their findings.\n\nThe arbitrator may charge a small fee (fee maximum: the trader''s security deposit) as compensation for their work. Both traders agreeing to the mediator''s suggestion is the happy path—requesting arbitration is meant for exceptional circumstances, such as if a trader is sure the mediator did not make a fair payout suggestion (or if the other peer is unresponsive).\n\nMore details about the new arbitration model:\nhttps://docs.bisq.network/trading-rules.html#arbitration
portfolio.pending.mediationResult.popup.openArbitration=Reject and request arbitration portfolio.pending.mediationResult.popup.openArbitration=Rejeitar e solicitar arbitramento
portfolio.pending.mediationResult.popup.alreadyAccepted=You've already accepted portfolio.pending.mediationResult.popup.alreadyAccepted=Você já aceitou
portfolio.closed.completed=Concluído portfolio.closed.completed=Concluído
portfolio.closed.ticketClosed=Arbitrated portfolio.closed.ticketClosed=Arbitrado
portfolio.closed.mediationTicketClosed=Mediated portfolio.closed.mediationTicketClosed=Mediado
portfolio.closed.canceled=Cancelado portfolio.closed.canceled=Cancelado
portfolio.failed.Failed=Falha portfolio.failed.Failed=Falha
@ -830,10 +835,10 @@ funds.tx.dustAttackTx.popup=Esta transação está enviando uma quantia muito pe
# Support # Support
#################################################################### ####################################################################
support.tab.mediation.support=Mediation support.tab.mediation.support=Mediação
support.tab.arbitration.support=Arbitration support.tab.arbitration.support=Arbitragem
support.tab.legacyArbitration.support=Legacy Arbitration support.tab.legacyArbitration.support=Legacy Arbitration
support.tab.ArbitratorsSupportTickets={0}'s tickets support.tab.ArbitratorsSupportTickets=Tickets de {0}
support.filter=Lista de filtragem support.filter=Lista de filtragem
support.filter.prompt=Insira ID da negociação. data. endereço onion ou dados da conta support.filter.prompt=Insira ID da negociação. data. endereço onion ou dados da conta
support.noTickets=Não há tickets de suporte abertos support.noTickets=Não há tickets de suporte abertos
@ -848,7 +853,7 @@ support.attachment=Anexo
support.tooManyAttachments=Você não pode enviar mais de 3 anexos em uma mensagem. support.tooManyAttachments=Você não pode enviar mais de 3 anexos em uma mensagem.
support.save=Salvar arquivo para o disco support.save=Salvar arquivo para o disco
support.messages=Mensagens support.messages=Mensagens
support.input.prompt=Enter message... support.input.prompt=Insira sua mensagem...
support.send=Enviar support.send=Enviar
support.addAttachments=Adicionar arquivos support.addAttachments=Adicionar arquivos
support.closeTicket=Fechar ticket support.closeTicket=Fechar ticket
@ -913,7 +918,7 @@ setting.preferences.addAltcoin=Adicionar altcoin
setting.preferences.displayOptions=Opções de exibição setting.preferences.displayOptions=Opções de exibição
setting.preferences.showOwnOffers=Exibir minhas ofertas no livro de ofertas setting.preferences.showOwnOffers=Exibir minhas ofertas no livro de ofertas
setting.preferences.useAnimations=Usar animações setting.preferences.useAnimations=Usar animações
setting.preferences.useDarkMode=Use dark mode (beta) setting.preferences.useDarkMode=Usar tema escuro (beta)
setting.preferences.sortWithNumOffers=Ordenar pelo nº de ofertas/negociações setting.preferences.sortWithNumOffers=Ordenar pelo nº de ofertas/negociações
setting.preferences.resetAllFlags=Esquecer marcações \"Não exibir novamente\" setting.preferences.resetAllFlags=Esquecer marcações \"Não exibir novamente\"
setting.preferences.reset=Resetar setting.preferences.reset=Resetar
@ -933,7 +938,7 @@ setting.preferences.dao.fullNodeInfo.ok=Abrir página de documentos
setting.preferences.dao.fullNodeInfo.cancel=Não, eu fico com o modo nó lite setting.preferences.dao.fullNodeInfo.cancel=Não, eu fico com o modo nó lite
settings.net.btcHeader=Rede Bitcoin settings.net.btcHeader=Rede Bitcoin
settings.net.p2pHeader=Bisq network settings.net.p2pHeader=Rede Bisq
settings.net.onionAddressLabel=Meu endereço onion settings.net.onionAddressLabel=Meu endereço onion
settings.net.btcNodesLabel=Usar nodos personalizados do Bitcoin Core settings.net.btcNodesLabel=Usar nodos personalizados do Bitcoin Core
settings.net.bitcoinPeersLabel=Pares conectados settings.net.bitcoinPeersLabel=Pares conectados
@ -958,9 +963,9 @@ settings.net.receivedBytesColumn=Recebido
settings.net.peerTypeColumn=Tipo settings.net.peerTypeColumn=Tipo
settings.net.openTorSettingsButton=Abrir configurações do Tor settings.net.openTorSettingsButton=Abrir configurações do Tor
settings.net.versionColumn=Version settings.net.versionColumn=Versão
settings.net.subVersionColumn=Subversion settings.net.subVersionColumn=Subversão
settings.net.heightColumn=Height settings.net.heightColumn=Altura
settings.net.needRestart=Você precisa reiniciar o programa para aplicar esta alteração.\nDeseja fazer isso agora? settings.net.needRestart=Você precisa reiniciar o programa para aplicar esta alteração.\nDeseja fazer isso agora?
settings.net.notKnownYet=Ainda desconhecido... settings.net.notKnownYet=Ainda desconhecido...
@ -973,7 +978,7 @@ settings.net.inbound=entrada
settings.net.outbound=saída settings.net.outbound=saída
settings.net.reSyncSPVChainLabel=Ressincronizar SPV chain settings.net.reSyncSPVChainLabel=Ressincronizar SPV chain
settings.net.reSyncSPVChainButton=Remover arquivo SPV e ressincronizar settings.net.reSyncSPVChainButton=Remover arquivo SPV e ressincronizar
settings.net.reSyncSPVSuccess=O arquivo da corrente SPV será apagado na próxima inicialização. Você precisa reiniciar seu programa agora.\n\nApós a reinicialização, pode demorar um pouco para ressincronizar com a rede e você apenas verá todas as transações quando a ressincronização for concluída.\n\nPor favor, reinicie novamente após a conclusão da ressincronização, pois às vezes há inconsistências que resultam na exibição de saldos incorretos. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=O arquivo SPV chain foi removido. Por favor, tenha paciência, pois a ressincronização com a rede pode demorar. settings.net.reSyncSPVAfterRestart=O arquivo SPV chain foi removido. Por favor, tenha paciência, pois a ressincronização com a rede pode demorar.
settings.net.reSyncSPVAfterRestartCompleted=A ressincronização terminou. Favor reiniciar o programa. settings.net.reSyncSPVAfterRestartCompleted=A ressincronização terminou. Favor reiniciar o programa.
settings.net.reSyncSPVFailed=Não foi possível apagar o arquivo da SPV chain.\nErro: {0} settings.net.reSyncSPVFailed=Não foi possível apagar o arquivo da SPV chain.\nErro: {0}
@ -985,7 +990,6 @@ setting.about.agpl=Licença AGPL
setting.about.support=Suporte Bisq setting.about.support=Suporte Bisq
setting.about.def=Bisq 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.def=Bisq 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.contribute=Contribuir
setting.about.donate=Fazer doação
setting.about.providers=Provedores de dados setting.about.providers=Provedores de dados
setting.about.apisWithFee=O Bisq utiliza APIs de terceiros para obter os preços de moedas fiduciárias e de altcoins, assim como para estimar a taxa de mineração. setting.about.apisWithFee=O Bisq utiliza APIs de terceiros para obter os preços de moedas fiduciárias e de altcoins, assim como para estimar a taxa de mineração.
setting.about.apis=Bisq utiliza APIs de terceiros para os preços de moedas fiduciárias e altcoins. setting.about.apis=Bisq utiliza APIs de terceiros para os preços de moedas fiduciárias e altcoins.
@ -1868,12 +1872,12 @@ disputeSummaryWindow.summaryNotes=Notas de resumo
disputeSummaryWindow.addSummaryNotes=Adicionar notas de resumo disputeSummaryWindow.addSummaryNotes=Adicionar notas de resumo
disputeSummaryWindow.close.button=Fechar ticket disputeSummaryWindow.close.button=Fechar ticket
disputeSummaryWindow.close.msg=Ticket closed on {0}\n\nSummary:\nPayout amount for BTC buyer: {1}\nPayout amount for BTC seller: {2}\n\nSummary notes:\n{3} disputeSummaryWindow.close.msg=Ticket closed on {0}\n\nSummary:\nPayout amount for BTC buyer: {1}\nPayout amount for BTC seller: {2}\n\nSummary notes:\n{3}
disputeSummaryWindow.close.nextStepsForMediation=\n\nNext steps:\nOpen trade and accept or reject suggestion from mediator disputeSummaryWindow.close.nextStepsForMediation=\n\nPróximos passos:\nAbra a negociação e aceite ou recuse a sugestão do mediador
disputeSummaryWindow.close.nextStepsForRefundAgentArbitration=\n\nNext steps:\nNo further action is required from you. If the arbitrator decided in your favor, you'll see a "Refund from arbitration" transaction in Funds/Transactions disputeSummaryWindow.close.nextStepsForRefundAgentArbitration=\n\nNext steps:\nNo further action is required from you. If the arbitrator decided in your favor, you'll see a "Refund from arbitration" transaction in Funds/Transactions
disputeSummaryWindow.close.closePeer=Você também precisa fechar o ticket dos parceiros de negociação! disputeSummaryWindow.close.closePeer=Você também precisa fechar o ticket dos parceiros de negociação!
disputeSummaryWindow.close.txDetails.headline=Publish refund transaction disputeSummaryWindow.close.txDetails.headline=Publicar transação de reembolso
disputeSummaryWindow.close.txDetails.buyer=Buyer receives {0} on address: {1}\n disputeSummaryWindow.close.txDetails.buyer=Comprador recebe {0} no endereço: {1}\n
disputeSummaryWindow.close.txDetails.seller=Seller receives {0} on address: {1}\n disputeSummaryWindow.close.txDetails.seller=Vendedor recebe {0} no endereço: {1}\n
disputeSummaryWindow.close.txDetails=Spending: {0}\n{1}{2}Transaction fee: {3} ({4} satoshis/byte)\nTransaction size: {5} Kb\n\nAre you sure you want to publish this transaction? disputeSummaryWindow.close.txDetails=Spending: {0}\n{1}{2}Transaction fee: {3} ({4} satoshis/byte)\nTransaction size: {5} Kb\n\nAre you sure you want to publish this transaction?
emptyWalletWindow.headline={0} ferramenta de emergência da carteira emptyWalletWindow.headline={0} ferramenta de emergência da carteira
@ -1965,7 +1969,7 @@ tradeDetailsWindow.tradeDate=Data da negociação
tradeDetailsWindow.txFee=Taxa de mineração tradeDetailsWindow.txFee=Taxa de mineração
tradeDetailsWindow.tradingPeersOnion=Endereço onion dos parceiros de negociação tradeDetailsWindow.tradingPeersOnion=Endereço onion dos parceiros de negociação
tradeDetailsWindow.tradeState=Estado da negociação tradeDetailsWindow.tradeState=Estado da negociação
tradeDetailsWindow.agentAddresses=Arbitrator/Mediator tradeDetailsWindow.agentAddresses=Árbitro/Mediador
walletPasswordWindow.headline=Digite senha para abrir: walletPasswordWindow.headline=Digite senha para abrir:
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Houve um quando alguém tentou aceitar uma de
error.spvFileCorrupted=Houve um erro ao ler o arquivo SPV chain.\nPode ser que o arquivo SPV chain esteja corrompido.\n\nMensagem de erro: {0}\n\nDeseja remover o arquivo e re-sincronizar? error.spvFileCorrupted=Houve um erro ao ler o arquivo SPV chain.\nPode ser que o arquivo SPV chain esteja corrompido.\n\nMensagem de erro: {0}\n\nDeseja remover o arquivo e re-sincronizar?
error.deleteAddressEntryListFailed=Não foi possível apagar o arquivo AddressEntryList.\nErro: {0} error.deleteAddressEntryListFailed=Não foi possível apagar o arquivo AddressEntryList.\nErro: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=A carteira ainda não foi inicializada popup.warning.walletNotInitialized=A carteira ainda não foi inicializada
popup.warning.wrongVersion=Você provavelmente está usando a versão incorreta do Bisq para este computador.\nA arquitetura do seu computador é: {0}.\nO binário do Bisq que você instalou é: {1}.\nPor favor, feche o programa e instale a versão correta ({2}). popup.warning.wrongVersion=Você provavelmente está usando a versão incorreta do Bisq para este computador.\nA arquitetura do seu computador é: {0}.\nO binário do Bisq que você instalou é: {1}.\nPor favor, feche o programa e instale a versão correta ({2}).
@ -2032,7 +2038,7 @@ popup.warning.tradePeriod.ended=Your trade with ID {0} has reached the max. allo
popup.warning.noTradingAccountSetup.headline=Você ainda não configurou uma conta para negociação 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 altcoin para poder criar uma oferta.\nCriar uma conta?
popup.warning.noArbitratorsAvailable=Não há árbitros disponíveis. popup.warning.noArbitratorsAvailable=Não há árbitros disponíveis.
popup.warning.noMediatorsAvailable=There are no mediators available. 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. popup.warning.notFullyConnected=Você precisa aguardar até estar totalmente conectado à rede.\nIsto pode levar até 2 minutos na inicialização do programa.
popup.warning.notSufficientConnectionsToBtcNetwork=Você precisa esperar até ter pelo menos {0} conexões à rede Bitcoin. popup.warning.notSufficientConnectionsToBtcNetwork=Você precisa esperar até ter pelo menos {0} conexões à rede Bitcoin.
popup.warning.downloadNotComplete=Você precisa aguardar até que termine o download dos blocos de Bitcoin restantes popup.warning.downloadNotComplete=Você precisa aguardar até que termine o download dos blocos de Bitcoin restantes
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Faça o update para a última versão do Bisq.
popup.warning.disable.dao=A DAO Bisq e BSQ estão temporariamente desativados. Verifique o fórum Bisq para mais informações. popup.warning.disable.dao=A DAO Bisq e BSQ estão temporariamente desativados. Verifique o fórum Bisq para mais informações.
popup.warning.burnBTC=Esta transação não é possível, pois as taxas de mineração de {0} excederiam o montante a transferir de {1}. Aguarde até que as taxas de mineração estejam novamente baixas ou até você ter acumulado mais BTC para transferir. popup.warning.burnBTC=Esta transação não é possível, pois as taxas de mineração de {0} excederiam o montante a transferir de {1}. Aguarde até que as taxas de mineração estejam novamente baixas ou até você ter acumulado mais BTC para transferir.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Para garantir que ambas as partes sigam o protocolo de negociação, tanto o vendedor quanto o comprador precisam fazer um depósito de segurança.\n\nEste depósito permanecerá em sua carteira local até que a negociação seja concluída com sucesso. Depois, ele será devolvido para você.\n\nAtenção: se você está criando uma nova oferta, é necessário que você mantenha o programa aberto, para que outro usuário possa aceitar a sua oferta. Para manter suas ofertas online, mantenha o Bisq sempre aberto e conectado à internet (por exemplo: verifique-se de que as funções de economia de energia do seu computador estão desativadas). popup.info.securityDepositInfo=Para garantir que ambas as partes sigam o protocolo de negociação, tanto o vendedor quanto o comprador precisam fazer um depósito de segurança.\n\nEste depósito permanecerá em sua carteira local até que a negociação seja concluída com sucesso. Depois, ele será devolvido para você.\n\nAtenção: se você está criando uma nova oferta, é necessário que você mantenha o programa aberto, para que outro usuário possa aceitar a sua oferta. Para manter suas ofertas online, mantenha o Bisq sempre aberto e conectado à internet (por exemplo: verifique-se de que as funções de economia de energia do seu computador estão desativadas).
popup.info.cashDepositInfo=Certifique-se de que você possui uma agência bancária em sua região para poder fazer o depósito em dinheiro.\nO ID (BIC/SWIFT) do banco do vendedor é: {0}. popup.info.cashDepositInfo=Certifique-se de que você possui uma agência bancária em sua região para poder fazer o depósito em dinheiro.\nO ID (BIC/SWIFT) do banco do vendedor é: {0}.
popup.info.cashDepositInfo.confirm=Eu confirmo que posso fazer o depósito popup.info.cashDepositInfo.confirm=Eu confirmo que posso fazer o depósito
popup.info.shutDownWithOpenOffers=O Bisq está desligando, mas há ofertas abertas.\n\nEstas ofertas não ficaram disponíveis na rede P2P enquanto o Bisq estiver desligado, mas elas serão republicadas na rede assim que você iniciar o programa.\n\nPara manter suas ofertas online, mantenha o Bisq aberto e certifique-se de que o seu computador continua online (ex: certifique-se de que o computador não está entrando em modo de hibernação).\n popup.info.shutDownWithOpenOffers=O Bisq está desligando, mas há ofertas abertas.\n\nEstas ofertas não ficaram disponíveis na rede P2P enquanto o Bisq estiver desligado, mas elas serão republicadas na rede assim que você iniciar o programa.\n\nPara manter suas ofertas online, mantenha o Bisq aberto e certifique-se de que o seu computador continua online (ex: certifique-se de que o computador não está entrando em modo de hibernação).\n
popup.privateNotification.headline=Notificação privada importante! popup.privateNotification.headline=Notificação privada importante!
popup.securityRecommendation.headline=Recomendação de segurança importante popup.securityRecommendation.headline=Recomendação de segurança importante
@ -2080,7 +2096,7 @@ popup.attention.forTradeWithId=Atenção para a negociação com ID {0}
popup.info.multiplePaymentAccounts.headline=Múltiplas contas de pagamento disponíveis popup.info.multiplePaymentAccounts.headline=Múltiplas contas de pagamento disponíveis
popup.info.multiplePaymentAccounts.msg=Você tem várias contas de pagamento disponíveis para esta oferta. Por favor, verifique se você escolheu a correta. popup.info.multiplePaymentAccounts.msg=Você tem várias contas de pagamento disponíveis para esta oferta. Por favor, verifique se você escolheu a correta.
popup.news.launch.headline=Two Major Updates popup.news.launch.headline=Duas Atualizações Importantes
popup.news.launch.accountSigning.headline=ACCOUNT SIGNING popup.news.launch.accountSigning.headline=ACCOUNT SIGNING
popup.news.launch.accountSigning.description=Lift 0.01 BTC fiat trading limits by buying BTC from a signed peer. popup.news.launch.accountSigning.description=Lift 0.01 BTC fiat trading limits by buying BTC from a signed peer.
popup.news.launch.ntp.headline=NEW TRADE PROTOCOL popup.news.launch.ntp.headline=NEW TRADE PROTOCOL
@ -2091,16 +2107,16 @@ popup.accountSigning.selectAccounts.description=Based on the payment method and
popup.accountSigning.selectAccounts.signAll=Sign all payment methods popup.accountSigning.selectAccounts.signAll=Sign all payment methods
popup.accountSigning.selectAccounts.datePicker=Select point of time until which accounts will be signed popup.accountSigning.selectAccounts.datePicker=Select point of time until which accounts will be signed
popup.accountSigning.confirmSelectedAccounts.headline=Confirm selected payment accounts popup.accountSigning.confirmSelectedAccounts.headline=Confirmar contas de pagamento selecionadas
popup.accountSigning.confirmSelectedAccounts.description=Based on your input, {0} payment accounts will be selected. popup.accountSigning.confirmSelectedAccounts.description=Based on your input, {0} payment accounts will be selected.
popup.accountSigning.confirmSelectedAccounts.button=Confirm payment accounts popup.accountSigning.confirmSelectedAccounts.button=Confirmar contas de pagamento
popup.accountSigning.signAccounts.headline=Confirm signing of payment accounts popup.accountSigning.signAccounts.headline=Confirm signing of payment accounts
popup.accountSigning.signAccounts.description=Based on your selection, {0} payment accounts will be signed. popup.accountSigning.signAccounts.description=Based on your selection, {0} payment accounts will be signed.
popup.accountSigning.signAccounts.button=Sign payment accounts popup.accountSigning.signAccounts.button=Sign payment accounts
popup.accountSigning.signAccounts.ECKey=Enter private arbitrator key popup.accountSigning.signAccounts.ECKey=Enter private arbitrator key
popup.accountSigning.signAccounts.ECKey.error=Bad arbitrator ECKey popup.accountSigning.signAccounts.ECKey.error=Bad arbitrator ECKey
popup.accountSigning.success.headline=Congratulations popup.accountSigning.success.headline=Parabéns
popup.accountSigning.success.description=All {0} payment accounts were successfully signed! popup.accountSigning.success.description=All {0} payment accounts were successfully signed!
popup.accountSigning.generalInformation=You'll find the signing state of all your accounts in the account section.\n\nFor further information, please visit https://docs.bisq.network/payment-methods#account-signing. popup.accountSigning.generalInformation=You'll find the signing state of all your accounts in the account section.\n\nFor further information, please visit https://docs.bisq.network/payment-methods#account-signing.
popup.accountSigning.signedByArbitrator=One of your payment accounts has been verified and signed by an arbitrator. Trading with this account will automatically sign your trading peer''s account after a successful trade.\n\n{0} popup.accountSigning.signedByArbitrator=One of your payment accounts has been verified and signed by an arbitrator. Trading with this account will automatically sign your trading peer''s account after a successful trade.\n\n{0}
@ -2172,7 +2188,7 @@ list.currency.editList=Editar lista de moedas
table.placeholder.noItems=Atualmente não há {0} disponíveis table.placeholder.noItems=Atualmente não há {0} disponíveis
table.placeholder.noData=Não há dados disponíveis no momento table.placeholder.noData=Não há dados disponíveis no momento
table.placeholder.processingData=Processing data... table.placeholder.processingData=Processando dados...
peerInfoIcon.tooltip.tradePeer=Parceiro de negociação peerInfoIcon.tooltip.tradePeer=Parceiro de negociação
@ -2196,7 +2212,7 @@ peerInfo.nrOfTrades=Nº de negociações concluídas
peerInfo.notTradedYet=Você ainda não negociou com este usuário. peerInfo.notTradedYet=Você ainda não negociou com este usuário.
peerInfo.setTag=Definir um rótulo para este par peerInfo.setTag=Definir um rótulo para este par
peerInfo.age.noRisk=Idade da conta de pagamento peerInfo.age.noRisk=Idade da conta de pagamento
peerInfo.age.chargeBackRisk=Time since signing peerInfo.age.chargeBackRisk=Tempo desde a assinatura:
peerInfo.unknownAge=Idade desconhecida peerInfo.unknownAge=Idade desconhecida
addressTextField.openWallet=Abrir a sua carteira Bitcoin padrão addressTextField.openWallet=Abrir a sua carteira Bitcoin padrão
@ -2406,7 +2422,7 @@ payment.f2f.extra=Informações adicionais
payment.f2f.extra.prompt=O ofertante pode definir 'termos e condições' ou adicionar informação de um contato público. Este será exibido junto da oferta. payment.f2f.extra.prompt=O ofertante pode definir 'termos e condições' ou adicionar informação de um contato público. Este será exibido junto da oferta.
payment.f2f.info='Face to Face' trades have different rules and come with different risks than online transactions.\n\nThe main differences are:\n● The trading peers need to exchange information about the meeting location and time by using their provided contact details.\n● The trading peers need to bring their laptops and do the confirmation of 'payment sent' and 'payment received' at the meeting place.\n● If a maker has special 'terms and conditions' they must state those in the 'Additional information' text field in the account.\n● By taking an offer the taker agrees to the maker's stated 'terms and conditions'.\n● In case of a dispute the mediator or arbitrator cannot help much as it is usually hard to get tamper proof evidence of what happened at the meeting. In such cases the BTC funds might get locked indefinitely or until the trading peers come to an agreement.\n\nTo be sure you fully understand the differences with 'Face to Face' trades please read the instructions and recommendations at: 'https://docs.bisq.network/trading-rules.html#f2f-trading' payment.f2f.info='Face to Face' trades have different rules and come with different risks than online transactions.\n\nThe main differences are:\n● The trading peers need to exchange information about the meeting location and time by using their provided contact details.\n● The trading peers need to bring their laptops and do the confirmation of 'payment sent' and 'payment received' at the meeting place.\n● If a maker has special 'terms and conditions' they must state those in the 'Additional information' text field in the account.\n● By taking an offer the taker agrees to the maker's stated 'terms and conditions'.\n● In case of a dispute the mediator or arbitrator cannot help much as it is usually hard to get tamper proof evidence of what happened at the meeting. In such cases the BTC funds might get locked indefinitely or until the trading peers come to an agreement.\n\nTo be sure you fully understand the differences with 'Face to Face' trades please read the instructions and recommendations at: 'https://docs.bisq.network/trading-rules.html#f2f-trading'
payment.f2f.info.openURL=Abrir site payment.f2f.info.openURL=Abrir site
payment.f2f.offerbook.tooltip.countryAndCity=Country and city: {0} / {1} payment.f2f.offerbook.tooltip.countryAndCity=País e cidade: {0} / {1}
payment.f2f.offerbook.tooltip.extra=Informações adicionais: {0} payment.f2f.offerbook.tooltip.extra=Informações adicionais: {0}
payment.japan.bank=Banco payment.japan.bank=Banco
@ -2612,7 +2628,7 @@ validation.cannotBeChanged=O parâmetro não pode ser alterado
validation.numberFormatException=Exceção do formato do número {0} validation.numberFormatException=Exceção do formato do número {0}
validation.mustNotBeNegative=O input não deve ser negativo validation.mustNotBeNegative=O input não deve ser negativo
validation.phone.missingCountryCode=Need two letter country code to validate phone number validation.phone.missingCountryCode=Need two letter country code to validate phone number
validation.phone.invalidCharacters=Phone number {0} contains invalid characters validation.phone.invalidCharacters=O número de telefone {0} contém caracteres inválidos.
validation.phone.insufficientDigits=Not enough digits in {0} for a valid phone number validation.phone.insufficientDigits=Not enough digits in {0} for a valid phone number
validation.phone.tooManyDigits=Too many digits in {0} to be a valid phone number validation.phone.tooManyDigits=Too many digits in {0} to be a valid phone number
validation.phone.invalidDialingCode=Country dialing code in number {0} is invalid for country {1}. The correct dialing code is {2}. validation.phone.invalidDialingCode=Country dialing code in number {0} is invalid for country {1}. The correct dialing code is {2}.

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
mainView.walletServiceErrorMsg.timeout=Подключение к сети Биткойн не удалось из-за истечения времени ожидания. mainView.walletServiceErrorMsg.timeout=Подключение к сети Биткойн не удалось из-за истечения времени ожидания.
mainView.walletServiceErrorMsg.connectionError=Не удалось подключиться к сети Биткойн из-за ошибки: {0} mainView.walletServiceErrorMsg.connectionError=Не удалось подключиться к сети Биткойн из-за ошибки: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=Сбой соединения со всеми {0} узлами сети.\nВозможно, вы отключились от интернета, или Ваш компьютер перешел в режим ожидания. mainView.networkWarning.allConnectionsLost=Сбой соединения со всеми {0} узлами сети.\nВозможно, вы отключились от интернета, или Ваш компьютер перешел в режим ожидания.
mainView.networkWarning.localhostBitcoinLost=Сбой соединения с локальным узлом Биткойн.\nПерезапустите приложение для подключения к другим узлам Биткойн или перезапустите свой локальный узел Биткойн. mainView.networkWarning.localhostBitcoinLost=Сбой соединения с локальным узлом Биткойн.\nПерезапустите приложение для подключения к другим узлам Биткойн или перезапустите свой локальный узел Биткойн.
mainView.version.update=(Имеется обновление) mainView.version.update=(Имеется обновление)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Обратиться за подд
portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator. portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Уведомление portfolio.pending.notification=Уведомление
@ -973,7 +978,7 @@ settings.net.inbound=входящий
settings.net.outbound=выходящий settings.net.outbound=выходящий
settings.net.reSyncSPVChainLabel=Синхронизировать цепь SPV заново settings.net.reSyncSPVChainLabel=Синхронизировать цепь SPV заново
settings.net.reSyncSPVChainButton=Удалить файл SPV и синхронизировать повторно settings.net.reSyncSPVChainButton=Удалить файл SPV и синхронизировать повторно
settings.net.reSyncSPVSuccess=Файл цепи SPV удалится при перезагрузке. Необходимо перезапустить приложение сейчас.\n\nПосле перезагрузки потребуется некоторое время для повторной синхронизации с сетью, и вы увидите все транзакции только после её завершения.\n\nПовторите перезагрузку после завершения повторной синхронизации, поскольку иногда возникают несоответствия, ведущие к неверному отображению баланса. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=Файл цепи SPV удален. Подождите. Повторная синхронизации с сетью может занять некоторое время. settings.net.reSyncSPVAfterRestart=Файл цепи SPV удален. Подождите. Повторная синхронизации с сетью может занять некоторое время.
settings.net.reSyncSPVAfterRestartCompleted=Повторная синхронизация завершена. Перезагрузите приложение. settings.net.reSyncSPVAfterRestartCompleted=Повторная синхронизация завершена. Перезагрузите приложение.
settings.net.reSyncSPVFailed=Не удалось удалить файл цепи SPV.\nОшибка: {0} settings.net.reSyncSPVFailed=Не удалось удалить файл цепи SPV.\nОшибка: {0}
@ -985,7 +990,6 @@ setting.about.agpl=Лицензия AGPL
setting.about.support=Поддержать Bisq setting.about.support=Поддержать Bisq
setting.about.def=Bisq не является компанией, а представляет собой общественный проект, открытый для участия. Если вы хотите принять участие или поддержать Bisq, перейдите по ссылкам ниже. setting.about.def=Bisq не является компанией, а представляет собой общественный проект, открытый для участия. Если вы хотите принять участие или поддержать Bisq, перейдите по ссылкам ниже.
setting.about.contribute=Помочь setting.about.contribute=Помочь
setting.about.donate=Пожертвовать
setting.about.providers=Источники данных setting.about.providers=Источники данных
setting.about.apisWithFee=Bisq использует сторонние API для определения рыночного курса валют и альткойнов, а также расчёта комиссии майнера. setting.about.apisWithFee=Bisq использует сторонние API для определения рыночного курса валют и альткойнов, а также расчёта комиссии майнера.
setting.about.apis=Bisq использует сторонние API для определения рыночного курса валют и альткойнов. setting.about.apis=Bisq использует сторонние API для определения рыночного курса валют и альткойнов.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Произошла ошибка, когда
error.spvFileCorrupted=Произошла ошибка при чтении файла цепи SPV.\nВозможно, файл цепи SPV повреждён.\n\nСообщение об ошибке: {0}\n\nУдалить файл SPV и начать повторную синхронизацию? error.spvFileCorrupted=Произошла ошибка при чтении файла цепи SPV.\nВозможно, файл цепи SPV повреждён.\n\nСообщение об ошибке: {0}\n\nУдалить файл SPV и начать повторную синхронизацию?
error.deleteAddressEntryListFailed=Не удалось удалить файл AddressEntryList. \nОшибка: {0} error.deleteAddressEntryListFailed=Не удалось удалить файл AddressEntryList. \nОшибка: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=Кошелёк ещё не инициализирован popup.warning.walletNotInitialized=Кошелёк ещё не инициализирован
popup.warning.wrongVersion=Вероятно, у вас установлена не та версия Bisq.\nАрхитектура Вашего компьютера: {0}.\nУстановленная версия Bisq: {1}.\nЗакройте приложение и установите нужную версию ({2}). popup.warning.wrongVersion=Вероятно, у вас установлена не та версия Bisq.\nАрхитектура Вашего компьютера: {0}.\nУстановленная версия Bisq: {1}.\nЗакройте приложение и установите нужную версию ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Обновите Bisq до последней
popup.warning.disable.dao=ДАО Bisq и торговля BSQ временно недоступны. Посетите форум Bisq, чтобы узнать подробности. popup.warning.disable.dao=ДАО Bisq и торговля BSQ временно недоступны. Посетите форум Bisq, чтобы узнать подробности.
popup.warning.burnBTC=Данную транзакцию невозможно завершить, так как плата за нее ({0}) превышает сумму перевода ({1}). Подождите, пока плата за транзакцию не снизится или пока у вас не появится больше BTC для завершения перевода. popup.warning.burnBTC=Данную транзакцию невозможно завершить, так как плата за нее ({0}) превышает сумму перевода ({1}). Подождите, пока плата за транзакцию не снизится или пока у вас не появится больше BTC для завершения перевода.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Чтобы гарантировать соблюдение торгового протокола трейдерами, им обоим необходимо внести залог.\n\nЗалог останется в вашем кошельке до успешного завершения сделки, а затем будет возвращен вам.\n\nОбратите внимание, что если вы создаёте новое предложение, приложение Bisq должно быть подключено к сети, чтобы его могли принять другие трейдеры. Чтобы ваши предложения были доступны в сети, компьютер и приложение должны быть включены и подключены к сети (убедитесь, что компьютер не перешёл в режим ожидания; переход монитора в спящий режим не влияет на работу приложения). popup.info.securityDepositInfo=Чтобы гарантировать соблюдение торгового протокола трейдерами, им обоим необходимо внести залог.\n\nЗалог останется в вашем кошельке до успешного завершения сделки, а затем будет возвращен вам.\n\nОбратите внимание, что если вы создаёте новое предложение, приложение Bisq должно быть подключено к сети, чтобы его могли принять другие трейдеры. Чтобы ваши предложения были доступны в сети, компьютер и приложение должны быть включены и подключены к сети (убедитесь, что компьютер не перешёл в режим ожидания; переход монитора в спящий режим не влияет на работу приложения).
popup.info.cashDepositInfo=Убедитесь, что в вашем районе есть отделение банка, где можно произвести перевод наличных.\nИдентификатор (BIC/SWIFT) банка продавца: {0}. popup.info.cashDepositInfo=Убедитесь, что в вашем районе есть отделение банка, где можно произвести перевод наличных.\nИдентификатор (BIC/SWIFT) банка продавца: {0}.
popup.info.cashDepositInfo.confirm=Я подтверждаю, что могу внести оплату popup.info.cashDepositInfo.confirm=Я подтверждаю, что могу внести оплату
popup.info.shutDownWithOpenOffers=Bisq закрывается, но у вас есть открытые предложения.\n\nЭти предложения будут недоступны в сети P2P, пока приложение Bisq закрыто, но будут повторно опубликованы в сети P2P при следующем запуске Bisq.\n\nЧтобы ваши предложения были доступны в сети, компьютер и приложение должны быть включены и подключены к сети (убедитесь, что компьютер не перешёл в режим ожидания; переход монитора в спящий режим не влияет на работу приложения). popup.info.shutDownWithOpenOffers=Bisq закрывается, но у вас есть открытые предложения.\n\nЭти предложения будут недоступны в сети P2P, пока приложение Bisq закрыто, но будут повторно опубликованы в сети P2P при следующем запуске Bisq.\n\nЧтобы ваши предложения были доступны в сети, компьютер и приложение должны быть включены и подключены к сети (убедитесь, что компьютер не перешёл в режим ожидания; переход монитора в спящий режим не влияет на работу приложения).
popup.privateNotification.headline=Важное личное уведомление! popup.privateNotification.headline=Важное личное уведомление!
popup.securityRecommendation.headline=Важная рекомендация по безопасности popup.securityRecommendation.headline=Важная рекомендация по безопасности

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
mainView.walletServiceErrorMsg.timeout=การเชื่อมต่อกับเครือข่าย Bitcoin ล้มเหลวเนื่องจากหมดเวลา mainView.walletServiceErrorMsg.timeout=การเชื่อมต่อกับเครือข่าย Bitcoin ล้มเหลวเนื่องจากหมดเวลา
mainView.walletServiceErrorMsg.connectionError=การเชื่อมต่อกับเครือข่าย Bitcoin ล้มเหลวเนื่องจากข้อผิดพลาด: {0} mainView.walletServiceErrorMsg.connectionError=การเชื่อมต่อกับเครือข่าย Bitcoin ล้มเหลวเนื่องจากข้อผิดพลาด: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=คุณสูญเสียการเชื่อมต่อกับ {0} เครือข่าย peers\nบางทีคุณอาจขาดการเชื่อมต่ออินเทอร์เน็ตหรืออาจเป็นเพราะคอมพิวเตอร์ของคุณอยู่ในโหมดสแตนด์บาย mainView.networkWarning.allConnectionsLost=คุณสูญเสียการเชื่อมต่อกับ {0} เครือข่าย peers\nบางทีคุณอาจขาดการเชื่อมต่ออินเทอร์เน็ตหรืออาจเป็นเพราะคอมพิวเตอร์ของคุณอยู่ในโหมดสแตนด์บาย
mainView.networkWarning.localhostBitcoinLost=คุณสูญเสียการเชื่อมต่อไปยังโหนดเครือข่าย Bitcoin localhost (แม่ข่ายเฉพาะที่)\nโปรดรีสตาร์ทแอ็พพลิเคชัน Bisq เพื่อเชื่อมต่อโหนด Bitcoin อื่นหรือรีสตาร์ทโหนด Bitcoin localhost mainView.networkWarning.localhostBitcoinLost=คุณสูญเสียการเชื่อมต่อไปยังโหนดเครือข่าย Bitcoin localhost (แม่ข่ายเฉพาะที่)\nโปรดรีสตาร์ทแอ็พพลิเคชัน Bisq เพื่อเชื่อมต่อโหนด Bitcoin อื่นหรือรีสตาร์ทโหนด Bitcoin localhost
mainView.version.update=(การอัพเดตพร้อมใช้งาน) mainView.version.update=(การอัพเดตพร้อมใช้งาน)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=เปิดปุ่มช่ว
portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator. portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=การแจ้งเตือน portfolio.pending.notification=การแจ้งเตือน
@ -973,7 +978,7 @@ settings.net.inbound=ขาเข้า
settings.net.outbound=ขาออก settings.net.outbound=ขาออก
settings.net.reSyncSPVChainLabel=ซิงค์อีกครั้ง SPV chain settings.net.reSyncSPVChainLabel=ซิงค์อีกครั้ง SPV chain
settings.net.reSyncSPVChainButton=ลบไฟล์ SPV และ ซิงค์อีกครั้ง settings.net.reSyncSPVChainButton=ลบไฟล์ SPV และ ซิงค์อีกครั้ง
settings.net.reSyncSPVSuccess=ไฟล์ SPV chain จะถูกลบเมื่อเริ่มต้นขั้นถัดไป คุณต้องรีสตาร์ทแอ็พพลิเคชั่นเดี๋ยวนี้\n\nหลังจากรีสตาร์ทอาจใช้เวลาสักครู่ในการซิงค์เครือข่ายอีกครั้งและคุณจะเห็นเฉพาะธุรกรรมทั้งหมดเมื่อการซิงค์ใหม่เสร็จสิ้น\n\nโปรดรีสตาร์ทใหม่หลังจากที่การซิงค์เสร็จสิ้นเนื่องจากมีบางครั้งข้อมูลอาจไม่สอดคล้องกัน นำไปสู่การแสดงผลดุลที่ไม่ถูกต้อง settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=ไฟล์ SPV chain ถูกลบแล้ว โปรดอดใจรอ อาจใช้เวลาสักครู่เพื่อทำการซิงค์ครั้งใหม่กับเครือข่าย settings.net.reSyncSPVAfterRestart=ไฟล์ SPV chain ถูกลบแล้ว โปรดอดใจรอ อาจใช้เวลาสักครู่เพื่อทำการซิงค์ครั้งใหม่กับเครือข่าย
settings.net.reSyncSPVAfterRestartCompleted=การซิงค์เสร็จสมบูรณ์แล้ว โปรดรีสตาร์ทแอ็พพลิเคชั่น settings.net.reSyncSPVAfterRestartCompleted=การซิงค์เสร็จสมบูรณ์แล้ว โปรดรีสตาร์ทแอ็พพลิเคชั่น
settings.net.reSyncSPVFailed=ไม่สามารถลบไฟล์ SPV chain ได้\nข้อผิดพลาด: {0} settings.net.reSyncSPVFailed=ไม่สามารถลบไฟล์ SPV chain ได้\nข้อผิดพลาด: {0}
@ -985,7 +990,6 @@ setting.about.agpl=ใบอนุญาต AGPL
setting.about.support=สนับสนุน Bisq setting.about.support=สนับสนุน Bisq
setting.about.def=Bisq ไม่ใช่ บริษัท แต่เป็นโปรเจคชุมชนและเปิดให้คนมีส่วนร่วม ถ้าคุณต้องการจะเข้าร่วมหรือสนับสนุน Bisq โปรดทำตามลิงค์ข้างล่างนี้ setting.about.def=Bisq ไม่ใช่ บริษัท แต่เป็นโปรเจคชุมชนและเปิดให้คนมีส่วนร่วม ถ้าคุณต้องการจะเข้าร่วมหรือสนับสนุน Bisq โปรดทำตามลิงค์ข้างล่างนี้
setting.about.contribute=สนับสนุน setting.about.contribute=สนับสนุน
setting.about.donate=บริจาค
setting.about.providers=ผู้ให้บริการข้อมูล setting.about.providers=ผู้ให้บริการข้อมูล
setting.about.apisWithFee=Bisq ใช้ APIs ของบุคคลที่ 3 สำหรับราคาตลาดของ Fiat และ Altcoin ตลอดจนการประมาณค่าการขุด setting.about.apisWithFee=Bisq ใช้ APIs ของบุคคลที่ 3 สำหรับราคาตลาดของ Fiat และ Altcoin ตลอดจนการประมาณค่าการขุด
setting.about.apis=Bisq ใช้ APIs ของบุคคลที่ 3 สำหรับ Fiat และ Altcoin ในราคาตลาด setting.about.apis=Bisq ใช้ APIs ของบุคคลที่ 3 สำหรับ Fiat และ Altcoin ในราคาตลาด
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=เกิดข้อผิดพลาดข
error.spvFileCorrupted=เกิดข้อผิดพลาดขณะอ่านไฟล์ chain SPV \nอาจเป็นเพราะไฟล์ chain SPV เสียหาย\n\nเกิดข้อผิดพลาด: {0} \n\nคุณต้องการลบและเริ่มการซิงค์ใหม่หรือไม่ error.spvFileCorrupted=เกิดข้อผิดพลาดขณะอ่านไฟล์ chain SPV \nอาจเป็นเพราะไฟล์ chain SPV เสียหาย\n\nเกิดข้อผิดพลาด: {0} \n\nคุณต้องการลบและเริ่มการซิงค์ใหม่หรือไม่
error.deleteAddressEntryListFailed=ไม่สามารถลบไฟล์ AddressEntryList ได้\nข้อผิดพลาด: {0} error.deleteAddressEntryListFailed=ไม่สามารถลบไฟล์ AddressEntryList ได้\nข้อผิดพลาด: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=wallet ยังไม่ได้เริ่มต้น popup.warning.walletNotInitialized=wallet ยังไม่ได้เริ่มต้น
popup.warning.wrongVersion=คุณอาจมีเวอร์ชั่น Bisq ไม่เหมาะสำหรับคอมพิวเตอร์นี้\nสถาปัตยกรรมคอมพิวเตอร์ของคุณคือ: {0} .\nเลขฐานสอง Bisq ที่คุณติดตั้งคือ: {1} .\nโปรดปิดตัวลงและติดตั้งรุ่นที่ถูกต้องอีกครั้ง ({2}) popup.warning.wrongVersion=คุณอาจมีเวอร์ชั่น Bisq ไม่เหมาะสำหรับคอมพิวเตอร์นี้\nสถาปัตยกรรมคอมพิวเตอร์ของคุณคือ: {0} .\nเลขฐานสอง Bisq ที่คุณติดตั้งคือ: {1} .\nโปรดปิดตัวลงและติดตั้งรุ่นที่ถูกต้องอีกครั้ง ({2})
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Please update to the latest Bisq version. A ma
popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. Please check out the Bisq Forum for more information. popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. Please check out the Bisq Forum for more information.
popup.warning.burnBTC=This transaction is not possible, as the mining fees of {0} would exceed the amount to transfer of {1}. Please wait until the mining fees are low again or until you''ve accumulated more BTC to transfer. popup.warning.burnBTC=This transaction is not possible, as the mining fees of {0} would exceed the amount to transfer of {1}. Please wait until the mining fees are low again or until you''ve accumulated more BTC to transfer.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=เพื่อให้แน่ใจว่าเทรดเดอร์ทั้งคู่นั้นได้ปฏิบัติตามข้อสนธิสัญญาในการค้า เทรดเดอร์จำเป็นต้องทำการชำระค่าประกัน\n\nค่าประกันนี้คือถูกเก็บไว้ในกระเป๋าสตางค์การเทรดของคุณจนกว่าการเทรดของคุณจะดำเนินการสำเร็จ และคุณจะได้รับมันคืนหลังจากนั้น \n\nโปรดทราบ: หากคุณกำลังสร้างข้อเสนอขึ้นมาใหม่ Bisq จำเป็นที่ต้องดำเนินงานต่อเนื่องไปยังเทรดเดอร์รายอื่น และเพื่อที่สถานะข้อเสนอทางออนไลน์ของคุณจะยังคงอยู่ Bisq จะยังคงดำเนินงานต่อเนื่อง และโปรดมั่นใจว่าเครื่องคอมพิวเตอร์นี้กำลังออนไลน์อยู่ด้วยเช่นกัน (ยกตัวอย่างเช่น ตรวจเช็คว่าสวิทช์ไฟไม่ได้อยู่ในโหมดแสตนบายด์...หน้าจอแสตนบายด์คือปกติดี) popup.info.securityDepositInfo=เพื่อให้แน่ใจว่าเทรดเดอร์ทั้งคู่นั้นได้ปฏิบัติตามข้อสนธิสัญญาในการค้า เทรดเดอร์จำเป็นต้องทำการชำระค่าประกัน\n\nค่าประกันนี้คือถูกเก็บไว้ในกระเป๋าสตางค์การเทรดของคุณจนกว่าการเทรดของคุณจะดำเนินการสำเร็จ และคุณจะได้รับมันคืนหลังจากนั้น \n\nโปรดทราบ: หากคุณกำลังสร้างข้อเสนอขึ้นมาใหม่ Bisq จำเป็นที่ต้องดำเนินงานต่อเนื่องไปยังเทรดเดอร์รายอื่น และเพื่อที่สถานะข้อเสนอทางออนไลน์ของคุณจะยังคงอยู่ Bisq จะยังคงดำเนินงานต่อเนื่อง และโปรดมั่นใจว่าเครื่องคอมพิวเตอร์นี้กำลังออนไลน์อยู่ด้วยเช่นกัน (ยกตัวอย่างเช่น ตรวจเช็คว่าสวิทช์ไฟไม่ได้อยู่ในโหมดแสตนบายด์...หน้าจอแสตนบายด์คือปกติดี)
popup.info.cashDepositInfo=โปรดตรวจสอบว่าคุณมีสาขาธนาคารในพื้นที่ของคุณเพื่อสามารถฝากเงินได้\nรหัสธนาคาร (BIC / SWIFT) ของธนาคารผู้ขายคือ: {0} popup.info.cashDepositInfo=โปรดตรวจสอบว่าคุณมีสาขาธนาคารในพื้นที่ของคุณเพื่อสามารถฝากเงินได้\nรหัสธนาคาร (BIC / SWIFT) ของธนาคารผู้ขายคือ: {0}
popup.info.cashDepositInfo.confirm=ฉันยืนยันว่าฉันสามารถฝากเงินได้ popup.info.cashDepositInfo.confirm=ฉันยืนยันว่าฉันสามารถฝากเงินได้
popup.info.shutDownWithOpenOffers=Bisq คือกำลังจะปิดลง แต่ยังคงมีการเปิดขายข้อเสนอปกติ\nข้อเสนอเหล่านี้จะไม่ใข้งานได้บนเครือข่าย P2P network ในขณะที่ Bisq ปิดตัวลง แต่จะมีการเผยแพร่บนเครือข่าย P2P ครั้งถัดไปเมื่อคุณมีการเริ่มใช้งาน Bisq.\n\nในการคงสถานะข้อเสนอแบบออนไลน์ คือเปิดใข้งาน Bisq และทำให้มั่นใจว่าคอมพิวเตอร์เครื่องนี้กำลังออนไลน์อยู่ด้วยเช่นกัน (เช่น ตรวจสอบว่าคอมพิวเตอร์ไม่ได้อยู่ในโหมดแสตนบายด์...หน้าจอแสตนบายด์ไม่มีปัญหา) popup.info.shutDownWithOpenOffers=Bisq คือกำลังจะปิดลง แต่ยังคงมีการเปิดขายข้อเสนอปกติ\nข้อเสนอเหล่านี้จะไม่ใข้งานได้บนเครือข่าย P2P network ในขณะที่ Bisq ปิดตัวลง แต่จะมีการเผยแพร่บนเครือข่าย P2P ครั้งถัดไปเมื่อคุณมีการเริ่มใช้งาน Bisq.\n\nในการคงสถานะข้อเสนอแบบออนไลน์ คือเปิดใข้งาน Bisq และทำให้มั่นใจว่าคอมพิวเตอร์เครื่องนี้กำลังออนไลน์อยู่ด้วยเช่นกัน (เช่น ตรวจสอบว่าคอมพิวเตอร์ไม่ได้อยู่ในโหมดแสตนบายด์...หน้าจอแสตนบายด์ไม่มีปัญหา)
popup.privateNotification.headline=การแจ้งเตือนส่วนตัวที่สำคัญ! popup.privateNotification.headline=การแจ้งเตือนส่วนตัวที่สำคัญ!
popup.securityRecommendation.headline=ข้อเสนอแนะด้านความปลอดภัยที่สำคัญ popup.securityRecommendation.headline=ข้อเสนอแนะด้านความปลอดภัยที่สำคัญ

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
mainView.walletServiceErrorMsg.timeout=Kết nối tới mạng Bitcoin không thành công do hết thời gian chờ. mainView.walletServiceErrorMsg.timeout=Kết nối tới mạng Bitcoin không thành công do hết thời gian chờ.
mainView.walletServiceErrorMsg.connectionError=Kết nối tới mạng Bitcoin không thành công do lỗi: {0} mainView.walletServiceErrorMsg.connectionError=Kết nối tới mạng Bitcoin không thành công do lỗi: {0}
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=Mất kết nối tới tất cả mạng ngang hàng {0}.\nCó thể bạn mất kết nối internet hoặc máy tính đang ở chế độ standby. mainView.networkWarning.allConnectionsLost=Mất kết nối tới tất cả mạng ngang hàng {0}.\nCó thể bạn mất kết nối internet hoặc máy tính đang ở chế độ standby.
mainView.networkWarning.localhostBitcoinLost=Mất kết nối tới nút Bitcoin máy chủ nội bộ.\nVui lòng khởi động lại ứng dụng Bisq để nối với nút Bitcoin khác hoặc khởi động lại nút Bitcoin máy chủ nội bộ. mainView.networkWarning.localhostBitcoinLost=Mất kết nối tới nút Bitcoin máy chủ nội bộ.\nVui lòng khởi động lại ứng dụng Bisq để nối với nút Bitcoin khác hoặc khởi động lại nút Bitcoin máy chủ nội bộ.
mainView.version.update=(Có cập nhật) mainView.version.update=(Có cập nhật)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Mở vé hỗ trợ
portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator. portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by a mediator or arbitrator.
portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute. portfolio.pending.timeLockNotOver=You have to wait until ≈{0} ({1} more blocks) before you can open an arbitration dispute.
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=Thông báo portfolio.pending.notification=Thông báo
@ -973,7 +978,7 @@ settings.net.inbound=chuyến về
settings.net.outbound=chuyến đi settings.net.outbound=chuyến đi
settings.net.reSyncSPVChainLabel=Đồng bộ hóa lại SPV chain settings.net.reSyncSPVChainLabel=Đồng bộ hóa lại SPV chain
settings.net.reSyncSPVChainButton=Xóa file SPV và đồng bộ hóa lại settings.net.reSyncSPVChainButton=Xóa file SPV và đồng bộ hóa lại
settings.net.reSyncSPVSuccess=File chuỗi SPV sẽ được xóa ở lần khởi động sau. Bạn cần khởi động lại ứng dụng bây giờ.\n\nSau khi khởi động lại có thể mất một lúc để đồng bộ hóa với mạng và bạn chỉ xem được tất cả giao dịch khi đồng bộ hóa xong.\n\nVui lòng khởi động lại sau khi đã đồng bộ hóa xong vì đôi khi sẽ có những chỗ không nhất quán dẫn tới hiển thị số dư không đúng. settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=File chuỗi SPV đã được xóa. Vui lòng đợi, có thể mất một lúc để đồng bộ hóa với mạng. settings.net.reSyncSPVAfterRestart=File chuỗi SPV đã được xóa. Vui lòng đợi, có thể mất một lúc để đồng bộ hóa với mạng.
settings.net.reSyncSPVAfterRestartCompleted=Đồng bộ hóa đã xong. Vui lòng khởi động lại ứng dụng. settings.net.reSyncSPVAfterRestartCompleted=Đồng bộ hóa đã xong. Vui lòng khởi động lại ứng dụng.
settings.net.reSyncSPVFailed=Không thể xóa SPV chain file.\nLỗi: {0} settings.net.reSyncSPVFailed=Không thể xóa SPV chain file.\nLỗi: {0}
@ -985,7 +990,6 @@ setting.about.agpl=Giấy phép AGPL
setting.about.support=Hỗ trợ Bisq setting.about.support=Hỗ trợ Bisq
setting.about.def=Bisq 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ợ Bisq, vui lòng truy cập link dưới đây. setting.about.def=Bisq 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ợ Bisq, vui lòng truy cập link dưới đây.
setting.about.contribute=Góp vốn setting.about.contribute=Góp vốn
setting.about.donate=Tặng
setting.about.providers=Nhà cung cấp dữ liệu setting.about.providers=Nhà cung cấp dữ liệu
setting.about.apisWithFee=Bisq sử dụng API bên thứ 3 để ước tính giá thị trường Fiat và Altcoin cũng như phí đào. setting.about.apisWithFee=Bisq sử dụng API bên thứ 3 để ước tính giá thị trường Fiat và Altcoin cũng như phí đào.
setting.about.apis=Bisq sử dụng API bên thứ 3 để ước tính giá thị trường Fiat và Altcoin. setting.about.apis=Bisq sử dụng API bên thứ 3 để ước tính giá thị trường Fiat và Altcoin.
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=Có lỗi xảy ra khi ai đó cố gắng đ
error.spvFileCorrupted=Có lỗi xảy ra khi đọc SPV chain file.\nCó thể SPV chain file bị hỏng.\n\nTin nhắn lỗi: {0}\n\nBạn có muốn xóa và bắt đầu đồng bộ hóa? error.spvFileCorrupted=Có lỗi xảy ra khi đọc SPV chain file.\nCó thể SPV chain file bị hỏng.\n\nTin nhắn lỗi: {0}\n\nBạn có muốn xóa và bắt đầu đồng bộ hóa?
error.deleteAddressEntryListFailed=Không thể xóa AddressEntryList file.\nError: {0} error.deleteAddressEntryListFailed=Không thể xóa AddressEntryList file.\nError: {0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=Ví chưa được kích hoạt popup.warning.walletNotInitialized=Ví chưa được kích hoạt
popup.warning.wrongVersion=Có thể máy tính của bạn có phiên bản Bisq không đúng.\nCấu trúc máy tính của bạn là: {0}.\nHệ nhị phân Bisq bạn cài đặt là: {1}.\nVui lòng tắt máy và cài đặt lại phiên bản đúng ({2}). popup.warning.wrongVersion=Có thể máy tính của bạn có phiên bản Bisq không đúng.\nCấu trúc máy tính của bạn là: {0}.\nHệ nhị phân Bisq bạn cài đặt là: {1}.\nVui lòng tắt máy và cài đặt lại phiên bản đúng ({2}).
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=Please update to the latest Bisq version. A ma
popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. Please check out the Bisq Forum for more information. popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. Please check out the Bisq Forum for more information.
popup.warning.burnBTC=Không thể thực hiện giao dịch, vì phí đào {0} vượt quá số lượng {1} cần chuyển. Vui lòng chờ tới khi phí đào thấp xuống hoặc khi bạn tích lũy đủ BTC để chuyển. popup.warning.burnBTC=Không thể thực hiện giao dịch, vì phí đào {0} vượt quá số lượng {1} cần chuyển. Vui lòng chờ tới khi phí đào thấp xuống hoặc khi bạn tích lũy đủ BTC để chuyển.
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=Để đảm bảo cả hai người giao dịch đều tuân thủ giao thức giao dịch, cả hai cần phải trả một khoản tiền cọc. \n\nSố tiền cọc này được giữ ở ví giao dịch cho đến khi giao dịch của bạn được hoàn thành, sau đó nó sẽ được trả lại cho bạn. \nXin lưu ý: Nếu bạn tạo một chào giá mới, ứng dụng Bisq cần phải chạy để người giao dịch khác có thể nhận chào giá đó. Để giữ cho chào giá của bạn online, để Bisq chạy và đảm bảo là máy tính của bạn cũng online (nghĩa là đảm bảo là máy tính của bạn không chuyển qua chế độ standby, nếu màn hình chuyển qua chế độ standby thì không sao). popup.info.securityDepositInfo=Để đảm bảo cả hai người giao dịch đều tuân thủ giao thức giao dịch, cả hai cần phải trả một khoản tiền cọc. \n\nSố tiền cọc này được giữ ở ví giao dịch cho đến khi giao dịch của bạn được hoàn thành, sau đó nó sẽ được trả lại cho bạn. \nXin lưu ý: Nếu bạn tạo một chào giá mới, ứng dụng Bisq cần phải chạy để người giao dịch khác có thể nhận chào giá đó. Để giữ cho chào giá của bạn online, để Bisq chạy và đảm bảo là máy tính của bạn cũng online (nghĩa là đảm bảo là máy tính của bạn không chuyển qua chế độ standby, nếu màn hình chuyển qua chế độ standby thì không sao).
popup.info.cashDepositInfo=Chắc chắn rằng khu vực của bạn có chi nhánh ngân hàng có thể gửi tiền mặt.\nID (BIC/SWIFT) ngân hàng của bên bán là: {0}. popup.info.cashDepositInfo=Chắc chắn rằng khu vực của bạn có chi nhánh ngân hàng có thể gửi tiền mặt.\nID (BIC/SWIFT) ngân hàng của bên bán là: {0}.
popup.info.cashDepositInfo.confirm=Tôi xác nhận tôi đã gửi tiền popup.info.cashDepositInfo.confirm=Tôi xác nhận tôi đã gửi tiền
popup.info.shutDownWithOpenOffers=Bisq đang đóng, nhưng vẫn có các chào giá đang mở. \n\nNhững chào giá này sẽ không có tại mạng P2P khi Bisq đang đóng, nhưng chúng sẽ được công bố lại trên mạng P2P vào lần tiếp theo bạn khởi động Bisq.\nĐể giữ các chào giá luôn trực tuyến, vui lòng để Bisq chạy và đảm bảo là máy tính của bạn cũng đang trực tuyến(có nghĩa là đảm bảo là máy tính của bạn không chuyển về chế độ chờ...nếu màn hình về chế độ chờ thì không sao). popup.info.shutDownWithOpenOffers=Bisq đang đóng, nhưng vẫn có các chào giá đang mở. \n\nNhững chào giá này sẽ không có tại mạng P2P khi Bisq đang đóng, nhưng chúng sẽ được công bố lại trên mạng P2P vào lần tiếp theo bạn khởi động Bisq.\nĐể giữ các chào giá luôn trực tuyến, vui lòng để Bisq chạy và đảm bảo là máy tính của bạn cũng đang trực tuyến(có nghĩa là đảm bảo là máy tính của bạn không chuyển về chế độ chờ...nếu màn hình về chế độ chờ thì không sao).
popup.privateNotification.headline=Thông báo riêng tư quan trọng! popup.privateNotification.headline=Thông báo riêng tư quan trọng!
popup.securityRecommendation.headline=Khuyến cáo an ninh quan trọng popup.securityRecommendation.headline=Khuyến cáo an ninh quan trọng

View File

@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=连接至 Bisq 网络失败(
mainView.walletServiceErrorMsg.timeout=比特币网络连接超时。 mainView.walletServiceErrorMsg.timeout=比特币网络连接超时。
mainView.walletServiceErrorMsg.connectionError=错误:{0} 比特币网络连接失败。 mainView.walletServiceErrorMsg.connectionError=错误:{0} 比特币网络连接失败。
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
mainView.networkWarning.allConnectionsLost=您失去所有与 {0} 网络节点的连接。\n或许您失去互联网连接或您的计算机处于待机状态。 mainView.networkWarning.allConnectionsLost=您失去所有与 {0} 网络节点的连接。\n或许您失去互联网连接或您的计算机处于待机状态。
mainView.networkWarning.localhostBitcoinLost=您丢失了与本地主机比特币节点的连接。\n请重启 Bisq 应用程序连接到其他比特币节点或重新启动主机比特币节点。 mainView.networkWarning.localhostBitcoinLost=您丢失了与本地主机比特币节点的连接。\n请重启 Bisq 应用程序连接到其他比特币节点或重新启动主机比特币节点。
mainView.version.update=(有更新可用) mainView.version.update=(有更新可用)
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=创建帮助话题
portfolio.pending.openSupportTicket.msg=请仅在紧急情况下使用此功能,如果您没有看到“提交支持”或“提交纠纷”按钮。\n\n当您发出工单时交易将被中断并由调解员或仲裁员进行处理。 portfolio.pending.openSupportTicket.msg=请仅在紧急情况下使用此功能,如果您没有看到“提交支持”或“提交纠纷”按钮。\n\n当您发出工单时交易将被中断并由调解员或仲裁员进行处理。
portfolio.pending.timeLockNotOver=你必须等到≈{0}(还需等待{1}个区块)才能提交纠纷。 portfolio.pending.timeLockNotOver=你必须等到≈{0}(还需等待{1}个区块)才能提交纠纷。
portfolio.pending.error.depositTxNull=The deposit transaction is null. You cannot open a dispute without a valid deposit transaction. Please go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.mediationResult.error.depositTxNull=The deposit transaction is null. The trade gets moved to the failed trades section.
portfolio.pending.error.depositTxNotConfirmed=The deposit transaction is not confirmed. You can not open an arbitration dispute with an unconfirmed deposit transaction. Please wait until it is confirmed or go to \"Settings/Network info\" and do a SPV resync.\n\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
portfolio.pending.notification=通知 portfolio.pending.notification=通知
@ -973,7 +978,7 @@ settings.net.inbound=数据包进入
settings.net.outbound=数据包出口 settings.net.outbound=数据包出口
settings.net.reSyncSPVChainLabel=重新同步 SPV 链 settings.net.reSyncSPVChainLabel=重新同步 SPV 链
settings.net.reSyncSPVChainButton=删除 SPV 链文件并重新同步 settings.net.reSyncSPVChainButton=删除 SPV 链文件并重新同步
settings.net.reSyncSPVSuccess=SPV链文件已被删除。您现在需要重新启动应用程序。\n\n重新启动后可能需要一段时间才能与网络重新同步只有重新同步完成后才会看到所有的事务。\n\n请在重新同步完成后重新启动因为有时会导致不平衡显示的不一致。 settings.net.reSyncSPVSuccess=The SPV chain file will be deleted on the next startup. You need to restart your application now.\n\nAfter the restart it can take a while to resync with the network and you will only see all transactions once the resync is completed.\n\nDepending on the number of transactions and the age of your wallet the resync can take up to a few hours and consumes 100% of CPU. Do not interrupt the process otherwise you have to repeat it.
settings.net.reSyncSPVAfterRestart=SPV 链文件已被删除。请耐心等待,与网络重新同步可能需要一段时间。 settings.net.reSyncSPVAfterRestart=SPV 链文件已被删除。请耐心等待,与网络重新同步可能需要一段时间。
settings.net.reSyncSPVAfterRestartCompleted=重新同步刚刚完成,请重启应用程序。 settings.net.reSyncSPVAfterRestartCompleted=重新同步刚刚完成,请重启应用程序。
settings.net.reSyncSPVFailed=无法删除 SPV 链文件。\n错误{0} settings.net.reSyncSPVFailed=无法删除 SPV 链文件。\n错误{0}
@ -985,7 +990,6 @@ setting.about.agpl=AGPL 协议
setting.about.support=支持 Bisq setting.about.support=支持 Bisq
setting.about.def=Bisq 不是一个公司,而是一个社区项目,开放参与。如果您想参与或支持 Bisq请点击下面连接。 setting.about.def=Bisq 不是一个公司,而是一个社区项目,开放参与。如果您想参与或支持 Bisq请点击下面连接。
setting.about.contribute=贡献 setting.about.contribute=贡献
setting.about.donate=捐助
setting.about.providers=数据提供商 setting.about.providers=数据提供商
setting.about.apisWithFee=Bisq 使用第三方 API 获取法定货币与虚拟币的市场价以及矿工手续费的估价。 setting.about.apisWithFee=Bisq 使用第三方 API 获取法定货币与虚拟币的市场价以及矿工手续费的估价。
setting.about.apis=Bisq 使用第三方 API 获取法定货币与虚拟币的市场价。 setting.about.apis=Bisq 使用第三方 API 获取法定货币与虚拟币的市场价。
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=当有人试图接受你的报价时发生了
error.spvFileCorrupted=读取 SPV 链文件时发生错误。\n可能是 SPV 链文件被破坏了。\n\n错误消息{0}\n\n要删除它并开始重新同步吗 error.spvFileCorrupted=读取 SPV 链文件时发生错误。\n可能是 SPV 链文件被破坏了。\n\n错误消息{0}\n\n要删除它并开始重新同步吗
error.deleteAddressEntryListFailed=无法删除 AddressEntryList 文件。\n \n错误{0} error.deleteAddressEntryListFailed=无法删除 AddressEntryList 文件。\n \n错误{0}
error.closedTradeWithUnconfirmedDepositTx=The deposit transaction of the closed trade with the trade ID {0} is still unconfirmed.\n\nPlease do a SPV resync at \"Setting/Network info\" to see if the transaction is valid.
error.closedTradeWithNoDepositTx=The deposit transaction of the closed trade with the trade ID {0} is null.\n\nPlease restart the application to clean up the closed trades list.
popup.warning.walletNotInitialized=钱包至今未初始化 popup.warning.walletNotInitialized=钱包至今未初始化
popup.warning.wrongVersion=您这台电脑上可能有错误的 Bisq 版本。\n您的电脑的架构是{0}\n您安装的 Bisq 二进制文件是:{1}\n请关闭并重新安装正确的版本{2})。 popup.warning.wrongVersion=您这台电脑上可能有错误的 Bisq 版本。\n您的电脑的架构是{0}\n您安装的 Bisq 二进制文件是:{1}\n请关闭并重新安装正确的版本{2})。
@ -2058,13 +2064,23 @@ popup.warning.mandatoryUpdate.dao=请更新到最新的 Bisq 版本。发布了
popup.warning.disable.dao=Bisq DAO 和 BSQ 被临时禁用的。更多信息请访问 Bisq 论坛。 popup.warning.disable.dao=Bisq DAO 和 BSQ 被临时禁用的。更多信息请访问 Bisq 论坛。
popup.warning.burnBTC=这笔交易是不可能的,因为 {0} 的挖矿手续费用会超过 {1} 的转账金额。请等到挖矿手续费再次降低或您积累了更多的 BTC 来转账。 popup.warning.burnBTC=这笔交易是不可能的,因为 {0} 的挖矿手续费用会超过 {1} 的转账金额。请等到挖矿手续费再次降低或您积累了更多的 BTC 来转账。
popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.txRejected.tradeFee=trade fee
popup.warning.trade.txRejected.deposit=deposit
popup.warning.trade.txRejected=The {0} transaction for trade with ID {1} was rejected by the Bitcoin network.\nTransaction ID={2}}\nThe trade has been moved to failed trades.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.openOfferWithInvalidMakerFeeTx=The maker fee transaction for offer with ID {0} is invalid.\nTransaction ID={1}.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull=The trade with ID {0} has no deposit transaction set.\nPlease restart the application and if the problem remains move the trade to failed trades and report the problem to the Bisq support channel at the Bisq Keybase team.
popup.warning.trade.depositTxNull.moveToFailedTrades=Move to failed trades
popup.info.securityDepositInfo=为了确保双方都遵守交易协议,双方都需要支付保证金。\n\n这笔存款一直保存在您的交易钱包里直到您的交易成功完成然后再退还给您。\n\n请注意如果您正在创建一个新的报价Bisq 需要运行另一个交易员接受它。为了让您的报价在线,保持 Bisq 运行,并确保这台计算机也在线(即,确保它没有切换到待机模式…显示器可以待机)。 popup.info.securityDepositInfo=为了确保双方都遵守交易协议,双方都需要支付保证金。\n\n这笔存款一直保存在您的交易钱包里直到您的交易成功完成然后再退还给您。\n\n请注意如果您正在创建一个新的报价Bisq 需要运行另一个交易员接受它。为了让您的报价在线,保持 Bisq 运行,并确保这台计算机也在线(即,确保它没有切换到待机模式…显示器可以待机)。
popup.info.cashDepositInfo=请确保您在您的地区有一个银行分行,以便能够进行现金存款。\n卖方银行的银行 IDBIC/SWIFT{0}。 popup.info.cashDepositInfo=请确保您在您的地区有一个银行分行,以便能够进行现金存款。\n卖方银行的银行 IDBIC/SWIFT{0}。
popup.info.cashDepositInfo.confirm=我确认我可以支付保证金 popup.info.cashDepositInfo.confirm=我确认我可以支付保证金
popup.info.shutDownWithOpenOffers=Bisq 正在被关闭,但仍有公开的报价。\n\n当 Bisq 关闭时,这些提供将不能在 P2P 网络上使用,但是它们将在您下次启动 Bisq 时重新发布到 P2P 网络上。\n\n为了让您的报价在线保持 Bisq 运行,并确保这台计算机也在线(即,确保它不会进入待机模式…显示器待机不是问题)。 popup.info.shutDownWithOpenOffers=Bisq 正在被关闭,但仍有公开的报价。\n\n当 Bisq 关闭时,这些提供将不能在 P2P 网络上使用,但是它们将在您下次启动 Bisq 时重新发布到 P2P 网络上。\n\n为了让您的报价在线保持 Bisq 运行,并确保这台计算机也在线(即,确保它不会进入待机模式…显示器待机不是问题)。
popup.privateNotification.headline=重要私人通知! popup.privateNotification.headline=重要私人通知!
popup.securityRecommendation.headline=重要安全建议 popup.securityRecommendation.headline=重要安全建议

View File

@ -1,6 +1,6 @@
TXT CHECKPOINTS 1 TXT CHECKPOINTS 1
0 0
297 298
AAAAAAAAB+EH4QfhAAAH4AEAAABjl7tqvU/FIcDT9gcbVlA4nwtFUbxAtOawZzBpAAAAAKzkcK7NqciBjI/ldojNKncrWleVSgDfBCCn3VRrbSxXaw5/Sf//AB0z8Bkv AAAAAAAAB+EH4QfhAAAH4AEAAABjl7tqvU/FIcDT9gcbVlA4nwtFUbxAtOawZzBpAAAAAKzkcK7NqciBjI/ldojNKncrWleVSgDfBCCn3VRrbSxXaw5/Sf//AB0z8Bkv
AAAAAAAAD8EPwQ/BAAAPwAEAAADfP83Sx8MZ9RsrnZCvqzAwqB2Ma+ZesNAJrTfwAAAAACwESaNKhvRgz6WuE7UFdFk1xwzfRY/OIdIOPzX5yaAdjnWUSf//AB0GrNq5 AAAAAAAAD8EPwQ/BAAAPwAEAAADfP83Sx8MZ9RsrnZCvqzAwqB2Ma+ZesNAJrTfwAAAAACwESaNKhvRgz6WuE7UFdFk1xwzfRY/OIdIOPzX5yaAdjnWUSf//AB0GrNq5
AAAAAAAAF6EXoRehAAAXoAEAAADonWzAaUAKd30XT3NnHKobZMnLOuHdzm/xtehsAAAAAD8cUJA6NBIHHcqPHLc4IrfHw+6mjCGu3e+wRO81EvpnMVqrSf//AB1ffy8G AAAAAAAAF6EXoRehAAAXoAEAAADonWzAaUAKd30XT3NnHKobZMnLOuHdzm/xtehsAAAAAD8cUJA6NBIHHcqPHLc4IrfHw+6mjCGu3e+wRO81EvpnMVqrSf//AB1ffy8G
@ -298,3 +298,4 @@ CCrDlIUnc1LZ8Nj7AAkLQAAA/z9FV3KiSlGDfga9ToHe8ysq0WioRw7iEQAAAAAAAAAAANUoIlkSoxVo
CHfrzMTnNH4hN5sYAAkTIAAA/z+HbkJNgw5nAYXntDFX57V72pTVvvZIDAAAAAAAAAAAAIaAZN99p5iv3Uy5KzLVIn4oJdXuWwQtoiPuVvR37fNGt+h7XfWrFxeUDV+5 CHfrzMTnNH4hN5sYAAkTIAAA/z+HbkJNgw5nAYXntDFX57V72pTVvvZIDAAAAAAAAAAAAIaAZN99p5iv3Uy5KzLVIn4oJdXuWwQtoiPuVvR37fNGt+h7XfWrFxeUDV+5
CM0W0f4hiP5fWVciAAkbAAAAACD949mnNSIOTWH92aZDY80eG/VA3HF4DwAAAAAAAAAAAHz7539g8IjaBVxv7M2N+/bPcmY6Nik4r0IZMxOPFbbAkSCNXSQPFhcRiJ3V CM0W0f4hiP5fWVciAAkbAAAAACD949mnNSIOTWH92aZDY80eG/VA3HF4DwAAAAAAAAAAAHz7539g8IjaBVxv7M2N+/bPcmY6Nik4r0IZMxOPFbbAkSCNXSQPFhcRiJ3V
CSh7DyaX/kiv4GZrAAki4AAAQCBkJtVoaqbUq7I+EEmnUlsQDTY688BYFQAAAAAAAAAAAN8JpiIqwffNT/xQxjdHpDrq3zyloPsBWmA2IQWQQO0LdzufXVyjFReQWFDz CSh7DyaX/kiv4GZrAAki4AAAQCBkJtVoaqbUq7I+EEmnUlsQDTY688BYFQAAAAAAAAAAAN8JpiIqwffNT/xQxjdHpDrq3zyloPsBWmA2IQWQQO0LdzufXVyjFReQWFDz
CYWm6xCIhvXC3VCXAAkqwAAgACBa35Ut2KFYNsnRSMn44AHqcTe/OkZ2BgAAAAAAAAAAAF4Xg+DOwujvmF1htTEQCwMy9wsWY5yhtvG2eTnKXEEkXcmwXd+OFBc2QzNB

View File

@ -8,7 +8,7 @@
# pull base image # pull base image
FROM openjdk:8-jdk FROM openjdk:8-jdk
ENV version 1.2.2-SNAPSHOT ENV version 1.2.3-SNAPSHOT
RUN apt-get update && apt-get install -y --no-install-recommends openjfx && rm -rf /var/lib/apt/lists/* && RUN apt-get update && apt-get install -y --no-install-recommends openjfx && rm -rf /var/lib/apt/lists/* &&
apt-get install -y vim fakeroot apt-get install -y vim fakeroot

View File

@ -6,7 +6,7 @@
# - Update version below # - Update version below
# - Ensure JAVA_HOME below is pointing to OracleJDK 10 directory # - Ensure JAVA_HOME below is pointing to OracleJDK 10 directory
version=1.2.2-SNAPSHOT version=1.2.3-SNAPSHOT
if [ ! -f "$JAVA_HOME/bin/javapackager" ]; then if [ ! -f "$JAVA_HOME/bin/javapackager" ]; then
if [ -d "/usr/lib/jvm/jdk-10.0.2" ]; then if [ -d "/usr/lib/jvm/jdk-10.0.2" ]; then
JAVA_HOME=/usr/lib/jvm/jdk-10.0.2 JAVA_HOME=/usr/lib/jvm/jdk-10.0.2

View File

@ -4,7 +4,7 @@
# Prior to running this script: # Prior to running this script:
# - Update version below # - Update version below
version=1.2.2-SNAPSHOT version=1.2.3-SNAPSHOT
base_dir=$( cd "$(dirname "$0")" ; pwd -P )/../../.. base_dir=$( cd "$(dirname "$0")" ; pwd -P )/../../..
package_dir=$base_dir/desktop/package package_dir=$base_dir/desktop/package
release_dir=$base_dir/desktop/release/$version release_dir=$base_dir/desktop/release/$version

View File

@ -5,10 +5,10 @@
<!-- See: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html --> <!-- See: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -->
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.2.2</string> <string>1.2.3</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.2.2</string> <string>1.2.3</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>Bisq</string> <string>Bisq</string>

View File

@ -6,7 +6,7 @@ mkdir -p deploy
set -e set -e
version="1.2.2-SNAPSHOT" version="1.2.3-SNAPSHOT"
cd .. cd ..
./gradlew :desktop:build -x test shadowJar ./gradlew :desktop:build -x test shadowJar

View File

@ -2,7 +2,7 @@
cd ../../ cd ../../
version="1.2.2-SNAPSHOT" version="1.2.3-SNAPSHOT"
target_dir="releases/$version" target_dir="releases/$version"

View File

@ -2,7 +2,7 @@
cd $(dirname $0)/../../../ cd $(dirname $0)/../../../
version=1.2.2 version=1.2.3
find . -type f \( -name "finalize.sh" \ find . -type f \( -name "finalize.sh" \
-o -name "create_app.sh" \ -o -name "create_app.sh" \

View File

@ -2,8 +2,8 @@
cd $(dirname $0)/../../../ cd $(dirname $0)/../../../
oldVersion=1.2.1 oldVersion=1.2.2
newVersion=1.2.2 newVersion=1.2.3
find . -type f \( -name "finalize.sh" \ find . -type f \( -name "finalize.sh" \
-o -name "create_app.sh" \ -o -name "create_app.sh" \

View File

@ -8,7 +8,7 @@
@echo off @echo off
set version=1.2.2-SNAPSHOT set version=1.2.3-SNAPSHOT
if not exist "%JAVA_HOME%\bin\javapackager.exe" ( if not exist "%JAVA_HOME%\bin\javapackager.exe" (
if not exist "%ProgramFiles%\Java\jdk-10.0.2" ( if not exist "%ProgramFiles%\Java\jdk-10.0.2" (
echo Javapackager not found. Update JAVA_HOME variable to point to OracleJDK. echo Javapackager not found. Update JAVA_HOME variable to point to OracleJDK.
@ -17,7 +17,7 @@ if not exist "%JAVA_HOME%\bin\javapackager.exe" (
set JAVA_HOME=%ProgramFiles%\Java\jdk-10.0.2 set JAVA_HOME=%ProgramFiles%\Java\jdk-10.0.2
) )
set package_dir=%~dp0.. set package_dir=%~dp0..
for /F "tokens=1,2,3 delims=.-" %%a in ("%version%") do ( for /F "tokens=1.2.3-SNAPSHOT delims=.-" %%a in ("%version%") do (
set file_version=%%a.%%b.%%c set file_version=%%a.%%b.%%c
) )

View File

@ -6,7 +6,7 @@
@echo off @echo off
set version=1.2.2-SNAPSHOT set version=1.2.3-SNAPSHOT
set release_dir=%~dp0..\..\..\releases\%version% set release_dir=%~dp0..\..\..\releases\%version%
set package_dir=%~dp0.. set package_dir=%~dp0..

View File

@ -32,7 +32,7 @@ import bisq.core.util.BSFormatter;
import bisq.network.p2p.NodeAddress; import bisq.network.p2p.NodeAddress;
import bisq.common.util.Tuple2; import bisq.common.util.Tuple3;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
@ -136,7 +136,7 @@ public class PeerInfoIcon extends Group {
peerTagMap = preferences.getPeerTagMap(); peerTagMap = preferences.getPeerTagMap();
boolean hasTraded = numTrades > 0; boolean hasTraded = numTrades > 0;
Tuple2<Long, String> peersAccount = getPeersAccountAge(trade, offer); Tuple3<Long, String, String> peersAccount = getPeersAccountAge(trade, offer);
if (offer == null) { if (offer == null) {
checkNotNull(trade, "Trade must not be null if offer is null."); checkNotNull(trade, "Trade must not be null if offer is null.");
offer = trade.getOffer(); offer = trade.getOffer();
@ -147,7 +147,7 @@ public class PeerInfoIcon extends Group {
boolean isFiatCurrency = CurrencyUtil.isFiatCurrency(offer.getCurrencyCode()); boolean isFiatCurrency = CurrencyUtil.isFiatCurrency(offer.getCurrencyCode());
String accountAge = isFiatCurrency ? String accountAge = isFiatCurrency ?
peersAccount.first > -1 ? Res.get("peerInfoIcon.tooltip.age", DisplayUtils.formatAccountAge(peersAccount.first)) : peersAccount.first > -1 ? Res.get("peerInfoIcon.tooltip.age", DisplayUtils.formatAccountAge(peersAccount.first)) :
Res.get("peerInfoIcon.tooltip.unknownAge") : Res.get("peerInfoIcon.tooltip.unknownAge") :
""; "";
tooltipText = hasTraded ? tooltipText = hasTraded ?
@ -249,36 +249,39 @@ public class PeerInfoIcon extends Group {
getChildren().addAll(outerBackground, innerBackground, avatarImageView, tagPane, numTradesPane); getChildren().addAll(outerBackground, innerBackground, avatarImageView, tagPane, numTradesPane);
boolean needsSigning = PaymentMethod.hasChargebackRisk(offer.getPaymentMethod(), offer.getCurrencyCode());
String accountSigningState = null;
String accountAgeInfo = peersAccount.second;
if (needsSigning) {
AccountAgeWitnessService.SignState signState = accountAgeWitnessService.getSignState(offer);
accountSigningState = StringUtils.capitalize(signState.getPresentation());
if (signState.equals(AccountAgeWitnessService.SignState.UNSIGNED))
accountAgeInfo = null;
}
addMouseListener(numTrades, privateNotificationManager, offer, preferences, formatter, useDevPrivilegeKeys, addMouseListener(numTrades, privateNotificationManager, offer, preferences, formatter, useDevPrivilegeKeys,
isFiatCurrency, peersAccount.first, accountAgeInfo, accountSigningState); isFiatCurrency, peersAccount.first, peersAccount.second, peersAccount.third);
} }
private Tuple2<Long, String> getPeersAccountAge(@Nullable Trade trade, @Nullable Offer offer) { // Return Sign age, account info, sign state
private Tuple3<Long, String, String> getPeersAccountAge(@Nullable Trade trade, @Nullable Offer offer) {
AccountAgeWitnessService.SignState signState;
long signAge = -1L;
long accountAge = -1L;
if (trade != null) { if (trade != null) {
offer = trade.getOffer(); offer = trade.getOffer();
if (offer == null) { if (offer == null) {
// unexpected // unexpected
return new Tuple2<>(-1L, Res.get("peerInfo.age.noRisk")); return new Tuple3<>(-1L, Res.get("peerInfo.age.noRisk"), null);
} }
signState = accountAgeWitnessService.getSignState(trade);
signAge = accountAgeWitnessService.getWitnessSignAge(trade, new Date());
accountAge = accountAgeWitnessService.getAccountAge(trade);
} else {
checkNotNull(offer, "Offer must not be null if trade is null.");
signState = accountAgeWitnessService.getSignState(offer);
signAge = accountAgeWitnessService.getWitnessSignAge(offer, new Date());
accountAge = accountAgeWitnessService.getAccountAge(offer);
} }
checkNotNull(offer, "Offer must not be null if trade is null.");
if (PaymentMethod.hasChargebackRisk(offer.getPaymentMethod(), offer.getCurrencyCode())) { if (PaymentMethod.hasChargebackRisk(offer.getPaymentMethod(), offer.getCurrencyCode())) {
return new Tuple2<>(accountAgeWitnessService.getWitnessSignAge(offer, new Date()), String accountAgeInfo = Res.get("peerInfo.age.chargeBackRisk");
Res.get("peerInfo.age.chargeBackRisk")); String accountSigningState = StringUtils.capitalize(signState.getPresentation());
if (signState.equals(AccountAgeWitnessService.SignState.UNSIGNED))
accountAgeInfo = null;
return new Tuple3<>(signAge, accountAgeInfo, accountSigningState);
} }
return new Tuple2<>(accountAgeWitnessService.getAccountAge(offer), Res.get("peerInfo.age.noRisk")); return new Tuple3<>(accountAge, Res.get("peerInfo.age.noRisk"), null);
} }
protected void addMouseListener(int numTrades, protected void addMouseListener(int numTrades,
@ -288,13 +291,13 @@ public class PeerInfoIcon extends Group {
BSFormatter formatter, BSFormatter formatter,
boolean useDevPrivilegeKeys, boolean useDevPrivilegeKeys,
boolean isFiatCurrency, boolean isFiatCurrency,
long makersAccountAge, long peersAccountAge,
String makersAccountAgeInfo, String peersAccountAgeInfo,
String accountSigningState) { String accountSigningState) {
final String accountAgeTagEditor = isFiatCurrency && makersAccountAgeInfo != null ? final String accountAgeTagEditor = isFiatCurrency && peersAccountAgeInfo != null ?
makersAccountAge > -1 ? peersAccountAge > -1 ?
DisplayUtils.formatAccountAge(makersAccountAge) : DisplayUtils.formatAccountAge(peersAccountAge) :
Res.get("peerInfo.unknownAge") : Res.get("peerInfo.unknownAge") :
null; null;
@ -302,7 +305,7 @@ public class PeerInfoIcon extends Group {
.fullAddress(fullAddress) .fullAddress(fullAddress)
.numTrades(numTrades) .numTrades(numTrades)
.accountAge(accountAgeTagEditor) .accountAge(accountAgeTagEditor)
.accountAgeInfo(makersAccountAgeInfo) .accountAgeInfo(peersAccountAgeInfo)
.accountSigningState(accountSigningState) .accountSigningState(accountSigningState)
.position(localToScene(new Point2D(0, 0))) .position(localToScene(new Point2D(0, 0)))
.onSave(newTag -> { .onSave(newTag -> {

View File

@ -40,8 +40,8 @@ public class PeerInfoIconSmall extends PeerInfoIcon {
BSFormatter formatter, BSFormatter formatter,
boolean useDevPrivilegeKeys, boolean useDevPrivilegeKeys,
boolean isFiatCurrency, boolean isFiatCurrency,
long makersAccountAge, long peersAccountAge,
String makersAccountAgeInfo, String peersAccountAgeInfo,
String accountSigningState) { String accountSigningState) {
} }

View File

@ -55,6 +55,7 @@ import bisq.core.presentation.SupportTicketsPresentation;
import bisq.core.presentation.TradePresentation; import bisq.core.presentation.TradePresentation;
import bisq.core.provider.fee.FeeService; import bisq.core.provider.fee.FeeService;
import bisq.core.provider.price.PriceFeedService; import bisq.core.provider.price.PriceFeedService;
import bisq.core.trade.Trade;
import bisq.core.trade.TradeManager; import bisq.core.trade.TradeManager;
import bisq.core.user.DontShowAgainLookup; import bisq.core.user.DontShowAgainLookup;
import bisq.core.user.Preferences; import bisq.core.user.Preferences;
@ -83,6 +84,7 @@ import javafx.beans.property.SimpleDoubleProperty;
import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty; import javafx.beans.property.StringProperty;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import java.util.Comparator; import java.util.Comparator;
@ -309,7 +311,7 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
bisqSetup.setChainFileLockedExceptionHandler(msg -> new Popup<>().warning(msg) bisqSetup.setChainFileLockedExceptionHandler(msg -> new Popup<>().warning(msg)
.useShutDownButton() .useShutDownButton()
.show()); .show());
bisqSetup.setLockedUpFundsHandler(msg -> new Popup<>().warning(msg).show()); bisqSetup.setLockedUpFundsHandler(msg -> new Popup<>().width(850).warning(msg).show());
bisqSetup.setShowFirstPopupIfResyncSPVRequestedHandler(this::showFirstPopupIfResyncSPVRequested); bisqSetup.setShowFirstPopupIfResyncSPVRequestedHandler(this::showFirstPopupIfResyncSPVRequested);
bisqSetup.setRequestWalletPasswordHandler(aesKeyHandler -> walletPasswordWindow bisqSetup.setRequestWalletPasswordHandler(aesKeyHandler -> walletPasswordWindow
.onAesKey(aesKeyHandler::accept) .onAesKey(aesKeyHandler::accept)
@ -364,6 +366,8 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
bisqSetup.setWrongOSArchitectureHandler(msg -> new Popup<>().warning(msg).show()); bisqSetup.setWrongOSArchitectureHandler(msg -> new Popup<>().warning(msg).show());
bisqSetup.setRejectedTxErrorMessageHandler(msg -> new Popup<>().width(850).warning(msg).show());
corruptedDatabaseFilesHandler.getCorruptedDatabaseFiles().ifPresent(files -> new Popup<>() corruptedDatabaseFilesHandler.getCorruptedDatabaseFiles().ifPresent(files -> new Popup<>()
.warning(Res.get("popup.warning.incompatibleDB", files.toString(), .warning(Res.get("popup.warning.incompatibleDB", files.toString(),
bisqEnvironment.getProperty(AppOptionKeys.APP_DATA_DIR_KEY))) bisqEnvironment.getProperty(AppOptionKeys.APP_DATA_DIR_KEY)))
@ -374,6 +378,18 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
.warning(Res.get("popup.error.takeOfferRequestFailed", errorMessage)) .warning(Res.get("popup.error.takeOfferRequestFailed", errorMessage))
.show()); .show());
tradeManager.getTradesWithoutDepositTx().addListener((ListChangeListener<Trade>) c -> {
c.next();
if (c.wasAdded()) {
c.getAddedSubList().forEach(trade -> {
new Popup<>().warning(Res.get("popup.warning.trade.depositTxNull", trade.getShortId()))
.actionButtonText(Res.get("popup.warning.trade.depositTxNull.moveToFailedTrades"))
.onAction(() -> tradeManager.addTradeToFailedTrades(trade))
.show();
});
}
});
bisqSetup.getBtcSyncProgress().addListener((observable, oldValue, newValue) -> updateBtcSyncProgress()); bisqSetup.getBtcSyncProgress().addListener((observable, oldValue, newValue) -> updateBtcSyncProgress());
daoPresentation.getBsqSyncProgress().addListener((observable, oldValue, newValue) -> updateBtcSyncProgress()); daoPresentation.getBsqSyncProgress().addListener((observable, oldValue, newValue) -> updateBtcSyncProgress());

View File

@ -165,7 +165,7 @@ public class LockedView extends ActivatableView<VBox, Void> {
private void updateList() { private void updateList() {
observableList.forEach(LockedListItem::cleanup); observableList.forEach(LockedListItem::cleanup);
observableList.setAll(tradeManager.getLockedTradesStream() observableList.setAll(tradeManager.getTradesStreamWithFundsLockedIn()
.map(trade -> { .map(trade -> {
final Optional<AddressEntry> addressEntryOptional = btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG); final Optional<AddressEntry> addressEntryOptional = btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG);
return addressEntryOptional.map(addressEntry -> new LockedListItem(trade, return addressEntryOptional.map(addressEntry -> new LockedListItem(trade,

View File

@ -61,6 +61,7 @@ import bisq.common.handlers.ResultHandler;
import org.bitcoinj.core.Coin; import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Transaction; import org.bitcoinj.core.Transaction;
import org.bitcoinj.core.TransactionConfidence;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -76,8 +77,6 @@ import javafx.collections.ObservableList;
import org.spongycastle.crypto.params.KeyParameter; import org.spongycastle.crypto.params.KeyParameter;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.Getter; import lombok.Getter;
@ -448,41 +447,19 @@ public class PendingTradesDataModel extends ActivatableDataModel {
return; return;
} }
Transaction depositTx = trade.getDepositTx(); doOpenDispute(isSupportTicket, trade.getDepositTx());
if (depositTx != null) {
doOpenDispute(isSupportTicket, depositTx);
} else {
//TODO consider to remove that
log.info("Trade.depositTx is null. We try to find the tx in our wallet.");
List<Transaction> candidates = new ArrayList<>();
List<Transaction> transactions = btcWalletService.getRecentTransactions(100, true);
transactions.forEach(transaction -> {
Coin valueSentFromMe = btcWalletService.getValueSentFromMeForTransaction(transaction);
if (!valueSentFromMe.isZero()) {
// spending tx
// MS tx
candidates.addAll(transaction.getOutputs().stream()
.filter(output -> !btcWalletService.isTransactionOutputMine(output))
.filter(output -> output.getScriptPubKey().isPayToScriptHash())
.map(transactionOutput -> transaction)
.collect(Collectors.toList()));
}
});
if (candidates.size() > 0) {
log.error("Trade.depositTx is null. We take the first possible MultiSig tx just to be able to open a dispute. " +
"candidates={}", candidates);
doOpenDispute(isSupportTicket, candidates.get(0));
} else if (transactions.size() > 0) {
doOpenDispute(isSupportTicket, transactions.get(0));
log.error("Trade.depositTx is null and we did not find any MultiSig transaction. We take any random tx just to be able to open a dispute");
} else {
log.error("Trade.depositTx is null and we did not find any transaction.");
}
}
} }
private void doOpenDispute(boolean isSupportTicket, Transaction depositTx) { private void doOpenDispute(boolean isSupportTicket, Transaction depositTx) {
// We do not support opening a dispute if the deposit tx is null. Traders have to use the support channel at keybase
// in such cases. The mediators or arbitrators could not help anyway with a payout in such cases.
if (depositTx == null) {
log.error("Deposit tx must not be null");
new Popup<>().instruction(Res.get("portfolio.pending.error.depositTxNull")).show();
return;
}
String depositTxId = depositTx.getHashAsString();
Trade trade = getTrade(); Trade trade = getTrade();
if (trade == null) { if (trade == null) {
log.warn("trade is null at doOpenDispute"); log.warn("trade is null at doOpenDispute");
@ -523,7 +500,6 @@ public class PendingTradesDataModel extends ActivatableDataModel {
PubKeyRing mediatorPubKeyRing = trade.getMediatorPubKeyRing(); PubKeyRing mediatorPubKeyRing = trade.getMediatorPubKeyRing();
checkNotNull(mediatorPubKeyRing, "mediatorPubKeyRing must not be null"); checkNotNull(mediatorPubKeyRing, "mediatorPubKeyRing must not be null");
byte[] depositTxSerialized = depositTx.bitcoinSerialize(); byte[] depositTxSerialized = depositTx.bitcoinSerialize();
String depositTxHashAsString = depositTx.getHashAsString();
Dispute dispute = new Dispute(disputeManager.getStorage(), Dispute dispute = new Dispute(disputeManager.getStorage(),
trade.getId(), trade.getId(),
pubKeyRing.hashCode(), // traderId pubKeyRing.hashCode(), // traderId
@ -535,7 +511,7 @@ public class PendingTradesDataModel extends ActivatableDataModel {
trade.getContractHash(), trade.getContractHash(),
depositTxSerialized, depositTxSerialized,
payoutTxSerialized, payoutTxSerialized,
depositTxHashAsString, depositTxId,
payoutTxHashAsString, payoutTxHashAsString,
trade.getContractAsJson(), trade.getContractAsJson(),
trade.getMakerContractSignature(), trade.getMakerContractSignature(),
@ -572,6 +548,16 @@ public class PendingTradesDataModel extends ActivatableDataModel {
return; return;
} }
// We only require for refund agent a confirmed deposit tx. For mediation we tolerate a unconfirmed tx as
// no harm can be done to the mediator (refund agent who would accept a invalid deposit tx might reimburse
// the traders but the funds never have been spent).
TransactionConfidence confidenceForTxId = btcWalletService.getConfidenceForTxId(depositTxId);
if (confidenceForTxId == null || confidenceForTxId.getConfidenceType() != TransactionConfidence.ConfidenceType.BUILDING) {
log.error("Confidence for deposit tx must be BUILDING, confidenceForTxId={}", confidenceForTxId);
new Popup<>().instruction(Res.get("portfolio.pending.error.depositTxNotConfirmed")).show();
return;
}
long lockTime = trade.getDelayedPayoutTx().getLockTime(); long lockTime = trade.getDelayedPayoutTx().getLockTime();
int bestChainHeight = btcWalletService.getBestChainHeight(); int bestChainHeight = btcWalletService.getBestChainHeight();
long remaining = lockTime - bestChainHeight; long remaining = lockTime - bestChainHeight;
@ -666,5 +652,9 @@ public class PendingTradesDataModel extends ActivatableDataModel {
public boolean isBootstrappedOrShowPopup() { public boolean isBootstrappedOrShowPopup() {
return GUIUtil.isBootstrappedOrShowPopup(p2PService); return GUIUtil.isBootstrappedOrShowPopup(p2PService);
} }
public void addTradeToFailedTrades() {
tradeManager.addTradeToFailedTrades(selectedTrade);
}
} }

View File

@ -523,6 +523,14 @@ public abstract class TradeStepView extends AnchorPane {
return; return;
} }
if (trade.getDepositTx() == null || trade.getDelayedPayoutTx() == null) {
log.error("trade.getDepositTx() or trade.getDelayedPayoutTx() was null at openMediationResultPopup. " +
"We add the trade to failed trades. TradeId={}", trade.getId());
model.dataModel.addTradeToFailedTrades();
new Popup<>().warning(Res.get("portfolio.pending.mediationResult.error.depositTxNull")).show();
return;
}
DisputeResult disputeResult = optionalDispute.get().getDisputeResultProperty().get(); DisputeResult disputeResult = optionalDispute.get().getDisputeResultProperty().get();
Contract contract = checkNotNull(trade.getContract(), "contract must not be null"); Contract contract = checkNotNull(trade.getContract(), "contract must not be null");
boolean isMyRoleBuyer = contract.isMyRoleBuyer(model.dataModel.getPubKeyRing()); boolean isMyRoleBuyer = contract.isMyRoleBuyer(model.dataModel.getPubKeyRing());
@ -531,8 +539,6 @@ public abstract class TradeStepView extends AnchorPane {
String myPayoutAmount = isMyRoleBuyer ? buyerPayoutAmount : sellerPayoutAmount; String myPayoutAmount = isMyRoleBuyer ? buyerPayoutAmount : sellerPayoutAmount;
String peersPayoutAmount = isMyRoleBuyer ? sellerPayoutAmount : buyerPayoutAmount; String peersPayoutAmount = isMyRoleBuyer ? sellerPayoutAmount : buyerPayoutAmount;
checkNotNull(trade.getDelayedPayoutTx(),
"trade.getDelayedPayoutTx() must not be null at openMediationResultPopup");
long lockTime = trade.getDelayedPayoutTx().getLockTime(); long lockTime = trade.getDelayedPayoutTx().getLockTime();
int bestChainHeight = model.dataModel.btcWalletService.getBestChainHeight(); int bestChainHeight = model.dataModel.btcWalletService.getBestChainHeight();
long remaining = lockTime - bestChainHeight; long remaining = lockTime - bestChainHeight;

View File

@ -21,8 +21,8 @@ dependencyVerification {
'com.googlecode.jcsv:jcsv:73ca7d715e90c8d2c2635cc284543b038245a34f70790660ed590e157b8714a2', 'com.googlecode.jcsv:jcsv:73ca7d715e90c8d2c2635cc284543b038245a34f70790660ed590e157b8714a2',
'com.github.sarxos:webcam-capture:d960b7ea8ec3ddf2df0725ef214c3fccc9699ea7772df37f544e1f8e4fd665f6', 'com.github.sarxos:webcam-capture:d960b7ea8ec3ddf2df0725ef214c3fccc9699ea7772df37f544e1f8e4fd665f6',
'com.jfoenix:jfoenix:4739e37a05e67c3bc9d5b391a1b93717b5a48fa872992616b0964d3f827f8fe6', 'com.jfoenix:jfoenix:4739e37a05e67c3bc9d5b391a1b93717b5a48fa872992616b0964d3f827f8fe6',
'com.github.JesusMcCloud.netlayer:tor.native:49eba4300ed73e1f8429f4643a62298924ae26a1f45cd7434e5425b342987a39', 'com.github.JesusMcCloud.netlayer:tor.native:fba4dca6a139af741c36713bcfe3680a92870009dbb59a3a14f9dae7f6cd116e',
'com.github.JesusMcCloud.netlayer:tor.external:2bea8515c23ef836d3cda7bea6187979aa8a65e61790d01593adea4fabde1cff', 'com.github.JesusMcCloud.netlayer:tor.external:10c3acfbcf8f80154a3f10640c4d4d275c4fc9baaf5c476d631da4e2382aaa5b',
'org.apache.httpcomponents:httpclient:db3d1b6c2d6a5e5ad47577ad61854e2f0e0936199b8e05eb541ed52349263135', 'org.apache.httpcomponents:httpclient:db3d1b6c2d6a5e5ad47577ad61854e2f0e0936199b8e05eb541ed52349263135',
'net.sf.jopt-simple:jopt-simple:6f45c00908265947c39221035250024f2caec9a15c1c8cf553ebeecee289f342', 'net.sf.jopt-simple:jopt-simple:6f45c00908265947c39221035250024f2caec9a15c1c8cf553ebeecee289f342',
'org.fxmisc.easybind:easybind:666af296dda6de68751668a62661571b5238ac6f1c07c8a204fc6f902b222aaf', 'org.fxmisc.easybind:easybind:666af296dda6de68751668a62661571b5238ac6f1c07c8a204fc6f902b222aaf',
@ -41,7 +41,7 @@ dependencyVerification {
'com.google.guava:guava:36a666e3b71ae7f0f0dca23654b67e086e6c93d192f60ba5dfd5519db6c288c8', 'com.google.guava:guava:36a666e3b71ae7f0f0dca23654b67e086e6c93d192f60ba5dfd5519db6c288c8',
'com.google.inject:guice:d258ff1bd9b8b527872f8402648226658ad3149f1f40e74b0566d69e7e042fbc', 'com.google.inject:guice:d258ff1bd9b8b527872f8402648226658ad3149f1f40e74b0566d69e7e042fbc',
'com.github.bisq-network.bitcoinj:bitcoinj-core:f979c2187e61ee3b08dd4cbfc49a149734cff64c045d29ed112f2e12f34068a3', 'com.github.bisq-network.bitcoinj:bitcoinj-core:f979c2187e61ee3b08dd4cbfc49a149734cff64c045d29ed112f2e12f34068a3',
'com.github.JesusMcCloud.netlayer:tor:905cb8ae85f441a21eeb2b137c1260d4388c7365ff8e67855a08dadfd2497019', 'com.github.JesusMcCloud.netlayer:tor:57d16a909ceeb1ba3b5818eaeebfef8cb6c55fbea892dc13c843fe4487ee35d2',
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:f7dbbaee3e0841758187a213c052388a4e619e11c87ab16f4bc229cfe7ce5fed', 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:f7dbbaee3e0841758187a213c052388a4e619e11c87ab16f4bc229cfe7ce5fed',
'io.github.microutils:kotlin-logging:4992504fd3c6ecdf9ed10874b9508e758bb908af9e9d7af19a61e9afb6b7e27a', 'io.github.microutils:kotlin-logging:4992504fd3c6ecdf9ed10874b9508e758bb908af9e9d7af19a61e9afb6b7e27a',
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:25e2409aba0ec37d2fd7c77727d7835b511879de8d9bf4862af0b493aabbe39e', 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:25e2409aba0ec37d2fd7c77727d7835b511879de8d9bf4862af0b493aabbe39e',
@ -53,10 +53,10 @@ dependencyVerification {
'org.bouncycastle:bcprov-jdk15on:963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349', 'org.bouncycastle:bcprov-jdk15on:963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349',
'com.google.zxing:javase:0ec23e2ec12664ddd6347c8920ad647bb3b9da290f897a88516014b56cc77eb9', 'com.google.zxing:javase:0ec23e2ec12664ddd6347c8920ad647bb3b9da290f897a88516014b56cc77eb9',
'com.nativelibs4java:bridj:101bcd9b6637e6bc16e56deb3daefba62b1f5e8e9e37e1b3e56e3b5860d659cf', 'com.nativelibs4java:bridj:101bcd9b6637e6bc16e56deb3daefba62b1f5e8e9e37e1b3e56e3b5860d659cf',
'com.github.JesusMcCloud.tor-binary:tor-binary-macos:4fc2c8f951a2cb74c7ec4a7103472997c3374d6ac7b4687dcd38d001d315ae19', 'com.github.JesusMcCloud.tor-binary:tor-binary-macos:716c967ce7c4a66e2b7d4e64724544851d92a3280addd22cbd43699e70d7bab9',
'com.github.JesusMcCloud.tor-binary:tor-binary-linux32:c7e7d72870eee17cf954bc14511bcdc60d30cc37f0ba57012908128d84081838', 'com.github.JesusMcCloud.tor-binary:tor-binary-linux32:e73b9fbb9347c6d34434f25795d4eb6bd01fc6bdb40d7b43594aad2286e395c9',
'com.github.JesusMcCloud.tor-binary:tor-binary-linux64:757e4d4a0217ebd62a5e5c690628fd6bc0c2687ef73c6f3361a7f553bcad2d90', 'com.github.JesusMcCloud.tor-binary:tor-binary-linux64:5c8a2567debe3c98d5c9e25c8029cbeb7cb917e4a8aab9575389c117477337a4',
'com.github.JesusMcCloud.tor-binary:tor-binary-windows:5a4083333cf457bd5292bab643e3edc59209d72954ee506eec03a87da1d2d3db', 'com.github.JesusMcCloud.tor-binary:tor-binary-windows:d02c9f4614b5d8d6b3c9afb02156ef6f0fe6043b446a3c3e4ec035983daa558d',
'com.github.ravn:jsocks:3c71600af027b2b6d4244e4ad14d98ff2352a379410daebefff5d8cd48d742a4', 'com.github.ravn:jsocks:3c71600af027b2b6d4244e4ad14d98ff2352a379410daebefff5d8cd48d742a4',
'org.apache.httpcomponents:httpcore:d7f853dee87680b07293d30855b39b9eb56c1297bd16ff1cd6f19ddb8fa745fb', 'org.apache.httpcomponents:httpcore:d7f853dee87680b07293d30855b39b9eb56c1297bd16ff1cd6f19ddb8fa745fb',
'commons-codec:commons-codec:ad19d2601c3abf0b946b5c3a4113e226a8c1e3305e395b90013b78dd94a723ce', 'commons-codec:commons-codec:ad19d2601c3abf0b946b5c3a4113e226a8c1e3305e395b90013b78dd94a723ce',
@ -69,8 +69,8 @@ dependencyVerification {
'org.bitcoinj:orchid:f836325cfa0466a011cb755c9b0fee6368487a2352eb45f4306ad9e4c18de080', 'org.bitcoinj:orchid:f836325cfa0466a011cb755c9b0fee6368487a2352eb45f4306ad9e4c18de080',
'com.squareup.okhttp:okhttp:b4c943138fcef2bcc9d2006b2250c4aabbedeafc5947ed7c0af7fd103ceb2707', 'com.squareup.okhttp:okhttp:b4c943138fcef2bcc9d2006b2250c4aabbedeafc5947ed7c0af7fd103ceb2707',
'com.google.zxing:core:11aae8fd974ab25faa8208be50468eb12349cd239e93e7c797377fa13e381729', 'com.google.zxing:core:11aae8fd974ab25faa8208be50468eb12349cd239e93e7c797377fa13e381729',
'com.github.JesusMcCloud.tor-binary:tor-binary-geoip:920750be37303432a63e6ed7db9268b0d7b52293f16c84ee18ed2f153d48d404', 'com.github.JesusMcCloud.tor-binary:tor-binary-geoip:1fd8b0af71ab706c7ec36888bc0af41c3d82f6e1455f674076ed6989c3d7fa7c',
'com.github.JesusMcCloud:jtorctl:4132d0662efe14a5bedbcee8d885ac937634957b873320d02dbff565708c18dc', 'com.github.JesusMcCloud:jtorctl:904f7c53332179a3479c64d63fb303afa6a02b6889aabdab5b235f3efc725ca7',
'org.apache.commons:commons-compress:5f2df1e467825e4cac5996d44890c4201c000b43c0b23cffc0782d28a0beb9b0', 'org.apache.commons:commons-compress:5f2df1e467825e4cac5996d44890c4201c000b43c0b23cffc0782d28a0beb9b0',
'org.tukaani:xz:a594643d73cc01928cf6ca5ce100e094ea9d73af760a5d4fb6b75fa673ecec96', 'org.tukaani:xz:a594643d73cc01928cf6ca5ce100e094ea9d73af760a5d4fb6b75fa673ecec96',
'com.squareup.okio:okio:114bdc1f47338a68bcbc95abf2f5cdc72beeec91812f2fcd7b521c1937876266', 'com.squareup.okio:okio:114bdc1f47338a68bcbc95abf2f5cdc72beeec91812f2fcd7b521c1937876266',

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
1.2.2-SNAPSHOT 1.2.3-SNAPSHOT

View File

@ -34,7 +34,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public class SeedNodeMain extends ExecutableForAppWithP2p { public class SeedNodeMain extends ExecutableForAppWithP2p {
private static final String VERSION = "1.2.2"; private static final String VERSION = "1.2.3";
private SeedNode seedNode; private SeedNode seedNode;
public SeedNodeMain() { public SeedNodeMain() {