mirror of
https://github.com/bisq-network/bisq.git
synced 2024-11-19 09:52:23 +01:00
Merge branch 'master' into add-tests
This commit is contained in:
commit
e0c04ffcac
@ -59,7 +59,7 @@ configure(subprojects) {
|
||||
logbackVersion = '1.1.10'
|
||||
lombokVersion = '1.18.2'
|
||||
mockitoVersion = '3.0.0'
|
||||
netlayerVersion = '0.6.6'
|
||||
netlayerVersion = '0.6.5.2'
|
||||
protobufVersion = '3.9.1'
|
||||
pushyVersion = '0.13.2'
|
||||
qrgenVersion = '1.3'
|
||||
@ -274,7 +274,7 @@ configure(project(':desktop')) {
|
||||
apply plugin: 'witness'
|
||||
apply from: '../gradle/witness/gradle-witness.gradle'
|
||||
|
||||
version = '1.2.2-SNAPSHOT'
|
||||
version = '1.2.3-SNAPSHOT'
|
||||
|
||||
mainClassName = 'bisq.desktop.app.BisqAppMain'
|
||||
|
||||
|
@ -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
|
||||
// Therefore all sub versions start again with 1
|
||||
// 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) {
|
||||
return getSubVersion(version, 0);
|
||||
|
@ -269,6 +269,12 @@ public class AccountAgeWitnessService {
|
||||
.orElse(-1L);
|
||||
}
|
||||
|
||||
public long getAccountAge(Trade trade) {
|
||||
return findTradePeerWitness(trade)
|
||||
.map(accountAgeWitness -> getAccountAge(accountAgeWitness, new Date()))
|
||||
.orElse(-1L);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Signed age
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -290,6 +296,12 @@ public class AccountAgeWitnessService {
|
||||
.orElse(-1L);
|
||||
}
|
||||
|
||||
public long getWitnessSignAge(Trade trade, Date now) {
|
||||
return findTradePeerWitness(trade)
|
||||
.map(witness -> getWitnessSignAge(witness, now))
|
||||
.orElse(-1L);
|
||||
}
|
||||
|
||||
public AccountAge getPeersAccountAgeCategory(long peersAccountAge) {
|
||||
return getAccountAgeCategory(peersAccountAge);
|
||||
}
|
||||
@ -697,6 +709,12 @@ public class AccountAgeWitnessService {
|
||||
.orElse(SignState.UNSIGNED);
|
||||
}
|
||||
|
||||
public SignState getSignState(Trade trade) {
|
||||
return findTradePeerWitness(trade)
|
||||
.map(this::getSignState)
|
||||
.orElse(SignState.UNSIGNED);
|
||||
}
|
||||
|
||||
public SignState getSignState(AccountAgeWitness accountAgeWitness) {
|
||||
if (signedWitnessService.isSignedByArbitrator(accountAgeWitness)) {
|
||||
return SignState.ARBITRATOR;
|
||||
|
@ -93,7 +93,8 @@ public class BisqHeadlessApp implements HeadlessApp {
|
||||
bisqSetup.setDisplaySecurityRecommendationHandler(key -> log.info("onDisplaySecurityRecommendationHandler"));
|
||||
bisqSetup.setDisplayLocalhostHandler(key -> log.info("onDisplayLocalhostHandler"));
|
||||
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
|
||||
corruptedDatabaseFilesHandler.getCorruptedDatabaseFiles().ifPresent(files -> log.warn("getCorruptedDatabaseFiles. files={}", files));
|
||||
|
@ -55,6 +55,7 @@ import bisq.core.support.dispute.refund.RefundManager;
|
||||
import bisq.core.support.dispute.refund.refundagent.RefundAgentManager;
|
||||
import bisq.core.support.traderchat.TraderChatManager;
|
||||
import bisq.core.trade.TradeManager;
|
||||
import bisq.core.trade.TradeTxException;
|
||||
import bisq.core.trade.statistics.AssetTradeActivityCheck;
|
||||
import bisq.core.trade.statistics.TradeStatisticsManager;
|
||||
import bisq.core.user.Preferences;
|
||||
@ -107,6 +108,7 @@ import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
@ -192,7 +194,8 @@ public class BisqSetup {
|
||||
spvFileCorruptedHandler, lockedUpFundsHandler, daoErrorMessageHandler, daoWarnMessageHandler,
|
||||
filterWarningHandler, displaySecurityRecommendationHandler, displayLocalhostHandler,
|
||||
wrongOSArchitectureHandler, displaySignedByArbitratorHandler,
|
||||
displaySignedByPeerHandler, displayPeerLimitLiftedHandler, displayPeerSignerHandler;
|
||||
displaySignedByPeerHandler, displayPeerLimitLiftedHandler, displayPeerSignerHandler,
|
||||
rejectedTxErrorMessageHandler;
|
||||
@Setter
|
||||
@Nullable
|
||||
private Consumer<Boolean> displayTorNetworkSettingsHandler;
|
||||
@ -601,28 +604,56 @@ public class BisqSetup {
|
||||
showFirstPopupIfResyncSPVRequestedHandler,
|
||||
walletPasswordHandler,
|
||||
() -> {
|
||||
if (allBasicServicesInitialized)
|
||||
if (allBasicServicesInitialized) {
|
||||
checkForLockedUpFunds();
|
||||
checkForInvalidMakerFeeTxs();
|
||||
}
|
||||
},
|
||||
() -> walletInitialized.set(true));
|
||||
}
|
||||
|
||||
|
||||
private void checkForLockedUpFunds() {
|
||||
btcWalletService.getAddressEntriesForTrade().stream()
|
||||
.filter(e -> tradeManager.getSetOfAllTradeIds().contains(e.getOfferId()) &&
|
||||
e.getContext() == AddressEntry.Context.MULTI_SIG)
|
||||
.forEach(e -> {
|
||||
Coin balance = e.getCoinLockedInMultiSig();
|
||||
if (balance.isPositive()) {
|
||||
String message = Res.get("popup.warning.lockedUpFunds",
|
||||
formatter.formatCoinWithCode(balance), e.getAddressString(), e.getOfferId());
|
||||
log.warn(message);
|
||||
if (lockedUpFundsHandler != null) {
|
||||
lockedUpFundsHandler.accept(message);
|
||||
// We check if there are locked up funds in failed or closed trades
|
||||
try {
|
||||
Set<String> setOfAllTradeIds = tradeManager.getSetOfFailedOrClosedTradeIdsFromLockedInFunds();
|
||||
btcWalletService.getAddressEntriesForTrade().stream()
|
||||
.filter(e -> setOfAllTradeIds.contains(e.getOfferId()) &&
|
||||
e.getContext() == AddressEntry.Context.MULTI_SIG)
|
||||
.forEach(e -> {
|
||||
Coin balance = e.getCoinLockedInMultiSig();
|
||||
if (balance.isPositive()) {
|
||||
String message = Res.get("popup.warning.lockedUpFunds",
|
||||
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() {
|
||||
@ -651,13 +682,60 @@ public class BisqSetup {
|
||||
|
||||
tradeManager.onAllServicesInitialized();
|
||||
|
||||
if (walletsSetup.downloadPercentageProperty().get() == 1)
|
||||
if (walletsSetup.downloadPercentageProperty().get() == 1) {
|
||||
checkForLockedUpFunds();
|
||||
checkForInvalidMakerFeeTxs();
|
||||
}
|
||||
|
||||
openOfferManager.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();
|
||||
mediatorManager.onAllServicesInitialized();
|
||||
refundAgentManager.onAllServicesInitialized();
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
package bisq.core.app;
|
||||
|
||||
import bisq.core.btc.exceptions.RejectedTxException;
|
||||
import bisq.core.btc.setup.WalletsSetup;
|
||||
import bisq.core.btc.wallet.WalletsManager;
|
||||
import bisq.core.locale.Res;
|
||||
@ -71,6 +72,8 @@ public class WalletAppSetup {
|
||||
@Getter
|
||||
private final StringProperty btcInfo = new SimpleStringProperty(Res.get("mainView.footer.btcInfo.initializing"));
|
||||
@Getter
|
||||
private final ObjectProperty<RejectedTxException> rejectedTxException = new SimpleObjectProperty<>();
|
||||
@Getter
|
||||
private int numBtcPeers = 0;
|
||||
@Getter
|
||||
private final BooleanProperty useTorForBTC = new SimpleBooleanProperty();
|
||||
@ -132,7 +135,7 @@ public class WalletAppSetup {
|
||||
getNumBtcPeers(),
|
||||
Res.get("mainView.footer.btcInfo.connectionFailed"),
|
||||
getBtcNetworkAsString());
|
||||
log.error(exception.getMessage());
|
||||
log.error(exception.toString());
|
||||
if (exception instanceof TimeoutException) {
|
||||
getWalletServiceErrorMsg().set(Res.get("mainView.walletServiceErrorMsg.timeout"));
|
||||
} else if (exception.getCause() instanceof BlockStoreException) {
|
||||
@ -141,6 +144,9 @@ public class WalletAppSetup {
|
||||
} else if (spvFileCorruptedHandler != null) {
|
||||
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 {
|
||||
getWalletServiceErrorMsg().set(Res.get("mainView.walletServiceErrorMsg.connectionError", exception.toString()));
|
||||
}
|
||||
|
@ -119,8 +119,8 @@ public class Balances {
|
||||
}
|
||||
|
||||
private void updateLockedBalance() {
|
||||
Stream<Trade> lockedTrades = Stream.concat(closedTradableManager.getLockedTradesStream(), failedTradesManager.getLockedTradesStream());
|
||||
lockedTrades = Stream.concat(lockedTrades, tradeManager.getLockedTradesStream());
|
||||
Stream<Trade> lockedTrades = Stream.concat(closedTradableManager.getTradesStreamWithFundsLockedIn(), failedTradesManager.getTradesStreamWithFundsLockedIn());
|
||||
lockedTrades = Stream.concat(lockedTrades, tradeManager.getTradesStreamWithFundsLockedIn());
|
||||
long sum = lockedTrades.map(trade -> btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG)
|
||||
.orElse(null))
|
||||
.filter(Objects::nonNull)
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
@ -19,6 +19,7 @@ package bisq.core.btc.setup;
|
||||
|
||||
import bisq.core.app.BisqEnvironment;
|
||||
import bisq.core.btc.BtcOptionKeys;
|
||||
import bisq.core.btc.exceptions.RejectedTxException;
|
||||
import bisq.core.btc.model.AddressEntry;
|
||||
import bisq.core.btc.model.AddressEntryList;
|
||||
import bisq.core.btc.nodes.BtcNetworkConfig;
|
||||
@ -44,6 +45,7 @@ import org.bitcoinj.core.NetworkParameters;
|
||||
import org.bitcoinj.core.Peer;
|
||||
import org.bitcoinj.core.PeerAddress;
|
||||
import org.bitcoinj.core.PeerGroup;
|
||||
import org.bitcoinj.core.RejectMessage;
|
||||
import org.bitcoinj.core.listeners.DownloadProgressTracker;
|
||||
import org.bitcoinj.params.RegTestParams;
|
||||
import org.bitcoinj.utils.Threading;
|
||||
@ -170,7 +172,9 @@ public class WalletsSetup {
|
||||
// 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
|
||||
// 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
|
||||
@ -221,6 +225,20 @@ public class WalletsSetup {
|
||||
peerGroup.addBlocksDownloadedEventListener((peer, block, filteredBlock, blocksLeft) -> {
|
||||
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 -> {
|
||||
connectedPeers.set(peerGroup.getConnectedPeers());
|
||||
chainHeight.set(block.getHeight());
|
||||
@ -372,7 +390,9 @@ public class WalletsSetup {
|
||||
// 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.");
|
||||
|
||||
backupWallets();
|
||||
|
@ -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
|
||||
// time when it gets into a block. Otherwise we would get called
|
||||
// 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()) {
|
||||
updateBsqWalletTransactions();
|
||||
}
|
||||
|
@ -672,7 +672,13 @@ public class BtcWalletService extends WalletService {
|
||||
|
||||
public void resetAddressEntriesForPendingTrade(String offerId) {
|
||||
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) {
|
||||
|
@ -115,9 +115,8 @@ public class BlockParser {
|
||||
genesisTotalSupply)
|
||||
.ifPresent(txList::add));
|
||||
|
||||
if (System.currentTimeMillis() - startTs > 0)
|
||||
log.info("Parsing {} transactions at block height {} took {} ms", rawBlock.getRawTxs().size(),
|
||||
blockHeight, System.currentTimeMillis() - startTs);
|
||||
log.info("Parsing {} transactions at block height {} took {} ms", rawBlock.getRawTxs().size(),
|
||||
blockHeight, System.currentTimeMillis() - startTs);
|
||||
|
||||
daoStateService.onParseBlockComplete(block);
|
||||
return block;
|
||||
|
@ -678,7 +678,9 @@ public abstract class Trade implements Tradable, Model {
|
||||
@Nullable
|
||||
public Transaction getDelayedPayoutTx() {
|
||||
if (delayedPayoutTx == null) {
|
||||
delayedPayoutTx = delayedPayoutTxBytes != null ? processModel.getBtcWalletService().getTxFromSerializedTx(delayedPayoutTxBytes) : null;
|
||||
delayedPayoutTx = delayedPayoutTxBytes != null && processModel.getBtcWalletService() != null ?
|
||||
processModel.getBtcWalletService().getTxFromSerializedTx(delayedPayoutTxBytes) :
|
||||
null;
|
||||
}
|
||||
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
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -28,6 +28,7 @@ import bisq.core.btc.wallet.TxBroadcaster;
|
||||
import bisq.core.btc.wallet.WalletService;
|
||||
import bisq.core.dao.DaoFacade;
|
||||
import bisq.core.filter.FilterManager;
|
||||
import bisq.core.locale.Res;
|
||||
import bisq.core.offer.Offer;
|
||||
import bisq.core.offer.OfferPayload;
|
||||
import bisq.core.offer.OpenOffer;
|
||||
@ -68,6 +69,7 @@ import org.bitcoinj.core.AddressFormatException;
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.core.InsufficientMoneyException;
|
||||
import org.bitcoinj.core.Transaction;
|
||||
import org.bitcoinj.core.TransactionConfidence;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@ -78,6 +80,7 @@ import javafx.beans.property.LongProperty;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.beans.property.SimpleLongProperty;
|
||||
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.collections.ObservableList;
|
||||
|
||||
@ -89,6 +92,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@ -135,6 +139,8 @@ public class TradeManager implements PersistedDataHost {
|
||||
private ErrorMessageHandler takeOfferRequestErrorMessageHandler;
|
||||
@Getter
|
||||
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);
|
||||
} else if (trade.isTakerFeePublished() && !trade.isFundsLockedIn()) {
|
||||
addTradeToFailedTradesList.add(trade);
|
||||
trade.appendErrorMessage("Invalid state: trade.isTakerFeePublished() && !trade.isFundsLockedIn()");
|
||||
} else {
|
||||
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);
|
||||
|
||||
removePreparedTradeList.forEach(this::removePreparedTrade);
|
||||
@ -294,22 +321,16 @@ public class TradeManager implements PersistedDataHost {
|
||||
}
|
||||
|
||||
private void cleanUpAddressEntries() {
|
||||
Set<String> tradesIdSet = getLockedTradesStream()
|
||||
.map(Trade::getId)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
tradesIdSet.addAll(failedTradesManager.getLockedTradesStream()
|
||||
.map(Trade::getId)
|
||||
.collect(Collectors.toSet()));
|
||||
|
||||
tradesIdSet.addAll(closedTradableManager.getLockedTradesStream()
|
||||
// We check if we have address entries which are not in our pending trades and clean up those entries.
|
||||
// They might be either from closed or failed trades or from trades we do not have at all in our data base files.
|
||||
Set<String> tradesIdSet = getTradesStreamWithFundsLockedIn()
|
||||
.map(Tradable::getId)
|
||||
.collect(Collectors.toSet()));
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
btcWalletService.getAddressEntriesForTrade().stream()
|
||||
.filter(e -> !tradesIdSet.contains(e.getOfferId()))
|
||||
.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());
|
||||
});
|
||||
}
|
||||
@ -681,26 +702,45 @@ public class TradeManager implements PersistedDataHost {
|
||||
return available.filter(addressEntry -> btcWalletService.getBalanceForAddress(addressEntry.getAddress()).isPositive());
|
||||
}
|
||||
|
||||
public Stream<Trade> getLockedTradesStream() {
|
||||
public Stream<Trade> getTradesStreamWithFundsLockedIn() {
|
||||
return getTradableList().stream()
|
||||
.filter(Trade::isFundsLockedIn);
|
||||
}
|
||||
|
||||
public Set<String> getSetOfAllTradeIds() {
|
||||
Set<String> tradesIdSet = getLockedTradesStream()
|
||||
public Set<String> getSetOfFailedOrClosedTradeIdsFromLockedInFunds() throws TradeTxException {
|
||||
AtomicReference<TradeTxException> tradeTxException = new AtomicReference<>();
|
||||
Set<String> tradesIdSet = getTradesStreamWithFundsLockedIn()
|
||||
.filter(Trade::hasFailed)
|
||||
.map(Trade::getId)
|
||||
.collect(Collectors.toSet());
|
||||
tradesIdSet.addAll(failedTradesManager.getLockedTradesStream()
|
||||
.map(Trade::getId)
|
||||
.collect(Collectors.toSet()));
|
||||
tradesIdSet.addAll(closedTradableManager.getLockedTradesStream()
|
||||
.map(e -> {
|
||||
log.warn("We found a closed trade with locked up funds. " +
|
||||
"That should never happen. trade ID=" + e.getId());
|
||||
return e.getId();
|
||||
tradesIdSet.addAll(failedTradesManager.getTradesStreamWithFundsLockedIn()
|
||||
.filter(trade -> trade.getDepositTx() != null)
|
||||
.map(trade -> {
|
||||
log.warn("We found a failed trade with locked up funds. " +
|
||||
"That should never happen. trade ID=" + trade.getId());
|
||||
return trade.getId();
|
||||
})
|
||||
.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;
|
||||
}
|
||||
|
24
core/src/main/java/bisq/core/trade/TradeTxException.java
Normal file
24
core/src/main/java/bisq/core/trade/TradeTxException.java
Normal 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);
|
||||
}
|
||||
}
|
@ -76,6 +76,10 @@ public class ClosedTradableManager implements PersistedDataHost {
|
||||
closedTradables.add(tradable);
|
||||
}
|
||||
|
||||
public void remove(Tradable tradable) {
|
||||
closedTradables.remove(tradable);
|
||||
}
|
||||
|
||||
public boolean wasMyOffer(Offer offer) {
|
||||
return offer.isMyOffer(keyRing);
|
||||
}
|
||||
@ -95,7 +99,7 @@ public class ClosedTradableManager implements PersistedDataHost {
|
||||
return closedTradables.stream().filter(e -> e.getId().equals(id)).findFirst();
|
||||
}
|
||||
|
||||
public Stream<Trade> getLockedTradesStream() {
|
||||
public Stream<Trade> getTradesStreamWithFundsLockedIn() {
|
||||
return getClosedTrades().stream()
|
||||
.filter(Trade::isFundsLockedIn);
|
||||
}
|
||||
|
@ -60,16 +60,19 @@ public class FailedTradesManager implements PersistedDataHost {
|
||||
@Override
|
||||
public void readPersisted() {
|
||||
this.failedTrades = new TradableList<>(tradableListStorage, "FailedTrades");
|
||||
failedTrades.forEach(e -> e.getOffer().setPriceFeedService(priceFeedService));
|
||||
failedTrades.forEach(trade -> {
|
||||
trade.getOffer().setPriceFeedService(priceFeedService);
|
||||
if (trade.getOffer() != null) {
|
||||
trade.getOffer().setPriceFeedService(priceFeedService);
|
||||
}
|
||||
|
||||
trade.setTransientFields(tradableListStorage, btcWalletService);
|
||||
});
|
||||
}
|
||||
|
||||
public void add(Trade trade) {
|
||||
if (!failedTrades.contains(trade))
|
||||
if (!failedTrades.contains(trade)) {
|
||||
failedTrades.add(trade);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean wasMyOffer(Offer offer) {
|
||||
@ -84,7 +87,7 @@ public class FailedTradesManager implements PersistedDataHost {
|
||||
return failedTrades.stream().filter(e -> e.getId().equals(id)).findFirst();
|
||||
}
|
||||
|
||||
public Stream<Trade> getLockedTradesStream() {
|
||||
public Stream<Trade> getTradesStreamWithFundsLockedIn() {
|
||||
return failedTrades.stream()
|
||||
.filter(Trade::isFundsLockedIn);
|
||||
}
|
||||
|
@ -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.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.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)
|
||||
@ -775,6 +777,14 @@ portfolio.pending.openSupportTicket.msg=Please use this function only in emergen
|
||||
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.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
|
||||
|
||||
@ -1107,7 +1117,9 @@ settings.net.outbound=outbound
|
||||
settings.net.reSyncSPVChainLabel=Resync SPV chain
|
||||
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\
|
||||
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.reSyncSPVAfterRestartCompleted=The resync is now completed. Please restart the application.
|
||||
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.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.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}. \
|
||||
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 \
|
||||
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 \
|
||||
@ -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 \
|
||||
(i.e., make sure it doesn't go into standby mode...monitor standby is not a problem).
|
||||
|
||||
|
||||
popup.privateNotification.headline=Important private notification!
|
||||
|
||||
popup.securityRecommendation.headline=Important security recommendation
|
||||
|
@ -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.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.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)
|
||||
@ -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.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
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=eingehend
|
||||
settings.net.outbound=ausgehend
|
||||
settings.net.reSyncSPVChainLabel=SPV-Kette 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.reSyncSPVAfterRestartCompleted=Die erneute Synchronisation ist jetzt abgeschlossen. Bitte starten Sie die Anwendung neu.
|
||||
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.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.donate=Spenden
|
||||
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.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.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.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.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.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.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.securityRecommendation.headline=Wichtige Sicherheitsempfehlung
|
||||
|
@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Σύνδεση με δίκτυ
|
||||
mainView.walletServiceErrorMsg.timeout=Αποτυχία σύνδεσης στο δίκτυο Bitcoin εξαιτίας λήξης χρονικού ορίου.
|
||||
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.localhostBitcoinLost=Διακοπή σύνδεσης με τοπικό κόμβο Bitcoin.\nΕπανεκκίνησε την εφαρμογή Bisq για να συνδεθείς με άλλους κόμβους Bitcoin ή επανεκκίνησε τον τοπικό κόμβο Bitcoin.
|
||||
mainView.version.update=(Διαθέσιμη ενημέρωση)
|
||||
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=Άνοιξε αίτημα υποσ
|
||||
portfolio.pending.openSupportTicket.msg=Χρησιμοποίησέ το μονάχα σε επείγουσες περιπτώσεις, αν δεν εμαφανίζεται το κουμπί \"Αίτημα υποστήριξης\" ή \"Επίλυση διένεξης\".\n\nΑνοίγοντας ένα αίτημα υποστήριξης η συναλλαγή αναστέλλεται και τη διαχείριση αναλαμβάνει η διαμεσολαβήτρια ή η διαιτητής.
|
||||
|
||||
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=Ειδοποίηση
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=εισερχόμενα
|
||||
settings.net.outbound=εξερχόμενα
|
||||
settings.net.reSyncSPVChainLabel=Επανασυγχρονισμός αλυσίδας 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.reSyncSPVAfterRestartCompleted=Ο επανασυγχρονισμός ολοκληρώθηκε. Επανεκκίνησε την εφαρμογή.
|
||||
settings.net.reSyncSPVFailed=Αποτυχία διαγραφής αρχείου αλυσίδας SPV.\nΣφάλμα: {0}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=Άδεια AGPL
|
||||
setting.about.support=Υποστήριξε το Bisq
|
||||
setting.about.def=Το Bisq δεν είναι εταιρία, αλλά ένα εγχείρημα ανοιχτό σε συμμετοχές. Αν θέλεις να συμμετάσχεις ή να υποστηρίξεις το Bisq ακολούθησε τους παρακάτω συνδέσμους.
|
||||
setting.about.contribute=Συνεισφορά
|
||||
setting.about.donate=Δωρεά
|
||||
setting.about.providers=Πάροχοι δεδομένων
|
||||
setting.about.apisWithFee=Η εφαρμογή 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.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.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.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.cashDepositInfo=Βεβαιώσου πως έχεις υποκατάστημα τράπεζας στην περιοχή σου όπου μπορείς να κάνεις την κατάθεση.\nBIC/SWIFT τράπεζας πωλητή: {0}.
|
||||
popup.info.cashDepositInfo.confirm=Επιβεβαιώνω πως μπορώ να κάνω την κατάθεση
|
||||
popup.info.shutDownWithOpenOffers=Το Bisq τερματίζεται ενώ υπάρχουν ανοιχτές προσφορές.\n\nΑυτές οι προσφορές δεν θα είναι διαθέσιμες στο P2P δίκτυο ενώ το Bisq είναι ανενεργό, αλλά θα επανακοινοποιηθούν στο P2P δίκτυο την επόμενη φορά που θα εκκινήσεις το Bisq.\n\nΓια να κρατήσεις τις προσφορές σου ανοιχτές, κράτα το Bisq σε λειτουργία και σιγουρέψου πως ο υπολογιστής σου παραμένει συνδεδεμένος στο διαδίκτυο (π.χ. βεβαιώσου πως δεν θα περάσει σε κατάσταση αναμονής). Η οθόνη αναμονής δεν δημιουργεί πρόβλημα.
|
||||
|
||||
|
||||
popup.privateNotification.headline=Σημαντική προσωπική ειδοποίηση!
|
||||
|
||||
popup.securityRecommendation.headline=Σημαντική σύσταση ασφάλειας
|
||||
|
@ -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.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.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)
|
||||
@ -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.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
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=entrante
|
||||
settings.net.outbound=saliente
|
||||
settings.net.reSyncSPVChainLabel=Resincronizar cadena SPV
|
||||
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.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}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=Licencia AGPL
|
||||
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.contribute=Contribuir
|
||||
setting.about.donate=Donar
|
||||
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.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.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.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.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.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.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.securityRecommendation.headline=Recomendación de seguridad importante
|
||||
|
@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
|
||||
mainView.walletServiceErrorMsg.timeout=ارتباط با شبکهی بیتکوین به دلیل وقفه، ناموفق بود.
|
||||
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.localhostBitcoinLost=اتصال شما به Node لوکال هاست بیتکوین قطع شد.\nلطفاً به منظور اتصال به سایر Nodeهای بیتکوین، برنامهی Bisq یا Node لوکال هاست بیتکوین را مجددا راه اندازی کنید.
|
||||
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.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=اطلاع رسانی
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=وارد شونده
|
||||
settings.net.outbound=خارج شونده
|
||||
settings.net.reSyncSPVChainLabel=همگام سازی مجدد زنجیره 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.reSyncSPVAfterRestartCompleted=همگام سازی مجدد هم اکنون تکمیل شده است. لطفاً برنامه را مجدداً راه اندازی نمایید.
|
||||
settings.net.reSyncSPVFailed=حذف فایل زنجیره SPV امکان پذیر نیست. \nخطا: {0}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=مجوز AGPL
|
||||
setting.about.support=پشتیبانی از Bisq
|
||||
setting.about.def=Bisq یک شرکت نیست — یک پروژه اجتماعی است و برای مشارکت آزاد است. اگر میخواهید در آن مشارکت کنید یا از آن حمایت نمایید، لینکهای زیر را دنبال کنید.
|
||||
setting.about.contribute=مشارکت
|
||||
setting.about.donate=اهدا
|
||||
setting.about.providers=ارائه دهندگان داده
|
||||
setting.about.apisWithFee=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.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.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.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.cashDepositInfo=لطفا مطمئن شوید که شما یک شعبه بانک در منطقه خود دارید تا بتوانید سپرده نقدی را بپردازید. شناسه بانکی (BIC/SWIFT) بانک فروشنده: {0}.
|
||||
popup.info.cashDepositInfo.confirm=تأیید می کنم که می توانم سپرده را ایجاد کنم
|
||||
popup.info.shutDownWithOpenOffers=Bisq در حال خاموش شدن است ولی پیشنهاداتی وجود دارند که باز هستند.\n\nزمانی که Bisq بسته باشد این پیشنهادات در شبکه P2P در دسترس نخواهند بود، ولی هر وقت دوباره Bisq را باز کنید این پیشنهادات دوباره در شبکه P2P منتشر خواهند شد.\n\n برای اینکه پیشنهادات شما برخط بمانند، بگذارید Bisq در حال اجرابماند و همچنین مطمئن شوید که این کامپیوتر به اینترنت متصل است. (به عنوان مثال مطمئن شوید که به حالت آماده باش نمیرود.. البته حالت آماده باش برای نمایشگر ایرادی ندارد).
|
||||
|
||||
|
||||
popup.privateNotification.headline=اعلان خصوصی مهم!
|
||||
|
||||
popup.securityRecommendation.headline=توصیه امنیتی مهم
|
||||
|
@ -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.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.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)
|
||||
@ -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.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
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=inbound
|
||||
settings.net.outbound=outbound
|
||||
settings.net.reSyncSPVChainLabel=Resynchronisation de la chaîne SPV
|
||||
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.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}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=Licence AGPL
|
||||
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.contribute=Contribuer
|
||||
setting.about.donate=Faire un don
|
||||
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.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.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.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.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.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.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.securityRecommendation.headline=Recommendation de sécurité importante
|
||||
|
@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
|
||||
mainView.walletServiceErrorMsg.timeout=タイムアウトのためビットコインネットワークへの接続に失敗しました
|
||||
mainView.walletServiceErrorMsg.connectionError=次のエラーのためビットコインネットワークへの接続に失敗しました: {0}
|
||||
|
||||
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
|
||||
|
||||
mainView.networkWarning.allConnectionsLost=全ての{0}のネットワークピアへの接続が切断されました。\nインターネット接続が切断されたか、コンピュータがスタンバイモードになった可能性があります。
|
||||
mainView.networkWarning.localhostBitcoinLost=ローカルホストビットコインノードへの接続が切断されました。\nBisqアプリケーションを再起動して他のビットコインノードに接続するか、ローカルホストのビットコインノードを再起動してください。
|
||||
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.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=通知
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=インバウンド
|
||||
settings.net.outbound=アウトバウンド
|
||||
settings.net.reSyncSPVChainLabel=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.reSyncSPVAfterRestartCompleted=再同期が完了しました。アプリケーションを再起動してください。
|
||||
settings.net.reSyncSPVFailed=SPVチェーンファイルを削除できませんでした。\nエラー: {0}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=AGPLライセンス
|
||||
setting.about.support=Bisqをサポートする
|
||||
setting.about.def=Bisqは会社ではなく、開かれたコミュニティのプロジェクトです。Bisqにサポートしたい時は下のURLをチェックしてください。
|
||||
setting.about.contribute=貢献
|
||||
setting.about.donate=寄付する
|
||||
setting.about.providers=データプロバイダー
|
||||
setting.about.apisWithFee=Bisqは、法定通貨とアルトコインの市場価格や、マイニング料金の推定にサードパーティAPIを使用します。
|
||||
setting.about.apis=Bisqは法定通貨とアルトコインの市場価格の為にサードパーティAPIを使用します。
|
||||
@ -2021,6 +2025,8 @@ popup.error.takeOfferRequestFailed=誰かがあなたのいずれかのオファ
|
||||
|
||||
error.spvFileCorrupted=SPVチェーンファイルの読み込み中にエラーが発生しました。\nSPVチェーンファイルが破損している可能性があります。\n\nエラーメッセージ: {0} \n\n削除して再同期を開始しますか?
|
||||
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.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.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.cashDepositInfo=あなたの地域の銀行支店が現金デポジットが作成できることを確認してください。\n売り手の銀行ID(BIC / SWIFT)は{0}です。
|
||||
popup.info.cashDepositInfo.confirm=デポジットを作成できるか確認します
|
||||
popup.info.shutDownWithOpenOffers=Bisqはシャットダウン中ですが、オファーはあります。\n\nこれらのオファーは、Bisqがシャットダウンされている間はP2Pネットワークでは利用できませんが、次回Bisqを起動したときにP2Pネットワークに再公開されます。\n\nオファーをオンラインに保つには、Bisqを実行したままにして、このコンピュータもオンラインにしたままにします(つまり、スタンバイモードにならないようにしてください。モニタースタンバイは問題ありません)。
|
||||
|
||||
|
||||
popup.privateNotification.headline=重要なプライベート通知!
|
||||
|
||||
popup.securityRecommendation.headline=重要なセキュリティ勧告
|
||||
|
@ -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.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.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)
|
||||
@ -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.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
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=entrante
|
||||
settings.net.outbound=sainte
|
||||
settings.net.reSyncSPVChainLabel=Re-sincronizar corrente SPV
|
||||
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.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}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=Licença AGPL
|
||||
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.contribute=Contribuir
|
||||
setting.about.donate=Fazer doação
|
||||
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.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.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.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.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.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.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.securityRecommendation.headline=Recomendação de segurança importante
|
||||
|
@ -63,9 +63,9 @@ shared.priceInCurForCur=Preço em {0} para 1 {1}
|
||||
shared.fixedPriceInCurForCur=Preço em {0} fixo para 1 {1}
|
||||
shared.amount=Quantidade
|
||||
shared.txFee=Taxa de negociação
|
||||
shared.makerFee=Maker Fee
|
||||
shared.buyerSecurityDeposit=Buyer Deposit
|
||||
shared.sellerSecurityDeposit=Seller Deposit
|
||||
shared.makerFee=Taxa do ofertante
|
||||
shared.buyerSecurityDeposit=Depósito do comprador
|
||||
shared.sellerSecurityDeposit=Depósito do vendedor
|
||||
shared.amountWithCur=Quantidade em {0}
|
||||
shared.volumeWithCur=Volume em {0}
|
||||
shared.currency=Moeda
|
||||
@ -152,7 +152,7 @@ shared.save=Salvar
|
||||
shared.onionAddress=Endereço Onion
|
||||
shared.supportTicket=ticket de suporte
|
||||
shared.dispute=disputa
|
||||
shared.mediationCase=mediation case
|
||||
shared.mediationCase=mediação
|
||||
shared.seller=vendedor
|
||||
shared.buyer=comprador
|
||||
shared.allEuroCountries=Todos os países do Euro
|
||||
@ -207,13 +207,13 @@ shared.votes=Votos
|
||||
shared.learnMore=Saiba mais
|
||||
shared.dismiss=Dispensar
|
||||
shared.selectedArbitrator=Árbitro escolhido
|
||||
shared.selectedMediator=Selected mediator
|
||||
shared.selectedMediator=Mediador selecionado
|
||||
shared.selectedRefundAgent=Árbitro escolhido
|
||||
shared.mediator=Mediador
|
||||
shared.arbitrator=Árbitro
|
||||
shared.refundAgent=Árbitro
|
||||
shared.refundAgentForSupportStaff=Refund agent
|
||||
shared.delayedPayoutTxId=Refund collateral transaction ID
|
||||
shared.refundAgentForSupportStaff=Árbitro
|
||||
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.connectingTo=Conectando-se a
|
||||
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.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.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.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.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.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)
|
||||
@ -313,7 +315,7 @@ market.trades.tooltip.candle.close=Fechar:
|
||||
market.trades.tooltip.candle.high=Alta:
|
||||
market.trades.tooltip.candle.low=Baixa:
|
||||
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:
|
||||
|
||||
####################################################################
|
||||
@ -333,20 +335,20 @@ offerbook.offerersAcceptedBankSeats=Países aceitos como sede bancária (tomador
|
||||
offerbook.availableOffers=Ofertas disponíveis
|
||||
offerbook.filterByCurrency=Filtrar por moeda
|
||||
offerbook.filterByPaymentMethod=Filtrar por método de pagamento
|
||||
offerbook.timeSinceSigning=Time since signing
|
||||
offerbook.timeSinceSigning.info=This account was verified and {0}
|
||||
offerbook.timeSinceSigning.info.arbitrator=signed by an arbitrator and can sign peer accounts
|
||||
offerbook.timeSinceSigning.info.peer=signed by a peer, waiting for limits to be lifted
|
||||
offerbook.timeSinceSigning.info.peerLimitLifted=signed by a peer and limits were lifted
|
||||
offerbook.timeSinceSigning.info.signer=signed by peer and can sign peer accounts (limits lifted)
|
||||
offerbook.timeSinceSigning=Tempo desde a assinatura:
|
||||
offerbook.timeSinceSigning.info=Esta conta foi verificada e {0}
|
||||
offerbook.timeSinceSigning.info.arbitrator=assinada por um árbitro e pode assinar contas de pares
|
||||
offerbook.timeSinceSigning.info.peer=assinada por um par, esperando os limites serem levantados
|
||||
offerbook.timeSinceSigning.info.peerLimitLifted=assinada por um par e limites foram levantados
|
||||
offerbook.timeSinceSigning.info.signer=assinada por um par e pode assinar contas de pares (limites levantados)
|
||||
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.notSigned=Not signed yet
|
||||
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=Ainda não assinada
|
||||
offerbook.timeSinceSigning.notSigned.noNeed=N/D
|
||||
shared.notSigned=This account hasn't been signed yet
|
||||
shared.notSigned.noNeed=This account type doesn't use signing
|
||||
shared.notSigned=Esta conta ainda não foi assinada
|
||||
shared.notSigned.noNeed=Esse tipo de conta não usa assinatura
|
||||
|
||||
offerbook.nrOffers=N.º de ofertas: {0}
|
||||
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.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.
|
||||
|
||||
@ -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.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"
|
||||
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.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.openChat=Open chat window
|
||||
tradeChat.chatWindowTitle=Abrir janela de conversa para a negociação com ID "{0}"
|
||||
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.
|
||||
|
||||
# suppress inspection "UnusedProperty"
|
||||
@ -610,7 +612,7 @@ message.state.SENT=Mensagem enviada
|
||||
# suppress inspection "UnusedProperty"
|
||||
message.state.ARRIVED=A mensagem chegou ao destinário
|
||||
# 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"
|
||||
message.state.ACKNOWLEDGED=O destinário confirmou o recebimento da mensagem
|
||||
# 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.warn.part1a=na blockchain {0}
|
||||
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.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.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=O vendedor de BTC não confirmou o seu pagamento! O período máximo para essa negociação expirou. Você pode aguardar mais um pouco, dando mais tempo para o seu parceiro de negociação, ou você pode pedir a assistência de um mediador.
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
portfolio.pending.step3_seller.part=Seu parceiro de negociação confirmou que iniciou o pagamento de {0}.\n\n
|
||||
portfolio.pending.step3_seller.altcoin.explorer=no seu explorador da blockchain {0} preferido
|
||||
@ -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.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.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.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.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.mediationRequested=Mediation requested
|
||||
portfolio.pending.refundRequested=Refund requested
|
||||
portfolio.pending.mediationRequested=Mediação requerida
|
||||
portfolio.pending.refundRequested=Reembolso requerido
|
||||
portfolio.pending.openSupport=Abrir ticket de suporte
|
||||
portfolio.pending.supportTicketOpened=Ticket de suporte aberto
|
||||
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.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.disputeOpenedMyUser=Você já 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.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.info.noneAccepted=Complete the trade by accepting the mediator's suggestion for the trade payout.
|
||||
portfolio.pending.mediationResult.info.selfAccepted=You have accepted the mediator's suggestion. Waiting for peer to accept as well.
|
||||
portfolio.pending.mediationResult.info.peerAccepted=Your trade peer has accepted the mediator's suggestion. Do you accept as well?
|
||||
portfolio.pending.mediationResult.button=View proposed resolution
|
||||
portfolio.pending.mediationResult.popup.headline=Mediation result for trade with ID: {0}
|
||||
portfolio.pending.mediationResult.popup.headline.peerAccepted=Your trade peer has accepted the mediator''s suggestion for trade {0}
|
||||
portfolio.pending.mediationResult.headline=Sugestão de pagamento da mediação
|
||||
portfolio.pending.mediationResult.info.noneAccepted=Completar a negociação aceitando a sugestão do mediador para o pagamento
|
||||
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=O seu parceiro de negociação aceitou a sugestão do mediador. Você também aceita
|
||||
portfolio.pending.mediationResult.button=Ver solução proposta
|
||||
portfolio.pending.mediationResult.popup.headline=Resultado da mediação para a negociação com ID: {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.openArbitration=Reject and request arbitration
|
||||
portfolio.pending.mediationResult.popup.alreadyAccepted=You've already accepted
|
||||
portfolio.pending.mediationResult.popup.openArbitration=Rejeitar e solicitar arbitramento
|
||||
portfolio.pending.mediationResult.popup.alreadyAccepted=Você já aceitou
|
||||
|
||||
portfolio.closed.completed=Concluído
|
||||
portfolio.closed.ticketClosed=Arbitrated
|
||||
portfolio.closed.mediationTicketClosed=Mediated
|
||||
portfolio.closed.ticketClosed=Arbitrado
|
||||
portfolio.closed.mediationTicketClosed=Mediado
|
||||
portfolio.closed.canceled=Cancelado
|
||||
portfolio.failed.Failed=Falha
|
||||
|
||||
@ -830,10 +835,10 @@ funds.tx.dustAttackTx.popup=Esta transação está enviando uma quantia muito pe
|
||||
# Support
|
||||
####################################################################
|
||||
|
||||
support.tab.mediation.support=Mediation
|
||||
support.tab.arbitration.support=Arbitration
|
||||
support.tab.mediation.support=Mediação
|
||||
support.tab.arbitration.support=Arbitragem
|
||||
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.prompt=Insira ID da negociação. data. endereço onion ou dados da conta
|
||||
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.save=Salvar arquivo para o disco
|
||||
support.messages=Mensagens
|
||||
support.input.prompt=Enter message...
|
||||
support.input.prompt=Insira sua mensagem...
|
||||
support.send=Enviar
|
||||
support.addAttachments=Adicionar arquivos
|
||||
support.closeTicket=Fechar ticket
|
||||
@ -913,7 +918,7 @@ setting.preferences.addAltcoin=Adicionar altcoin
|
||||
setting.preferences.displayOptions=Opções de exibição
|
||||
setting.preferences.showOwnOffers=Exibir minhas ofertas no livro de ofertas
|
||||
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.resetAllFlags=Esquecer marcações \"Não exibir novamente\"
|
||||
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
|
||||
|
||||
settings.net.btcHeader=Rede Bitcoin
|
||||
settings.net.p2pHeader=Bisq network
|
||||
settings.net.p2pHeader=Rede Bisq
|
||||
settings.net.onionAddressLabel=Meu endereço onion
|
||||
settings.net.btcNodesLabel=Usar nodos personalizados do Bitcoin Core
|
||||
settings.net.bitcoinPeersLabel=Pares conectados
|
||||
@ -958,9 +963,9 @@ settings.net.receivedBytesColumn=Recebido
|
||||
settings.net.peerTypeColumn=Tipo
|
||||
settings.net.openTorSettingsButton=Abrir configurações do Tor
|
||||
|
||||
settings.net.versionColumn=Version
|
||||
settings.net.subVersionColumn=Subversion
|
||||
settings.net.heightColumn=Height
|
||||
settings.net.versionColumn=Versão
|
||||
settings.net.subVersionColumn=Subversão
|
||||
settings.net.heightColumn=Altura
|
||||
|
||||
settings.net.needRestart=Você precisa reiniciar o programa para aplicar esta alteração.\nDeseja fazer isso agora?
|
||||
settings.net.notKnownYet=Ainda desconhecido...
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=entrada
|
||||
settings.net.outbound=saída
|
||||
settings.net.reSyncSPVChainLabel=Ressincronizar SPV chain
|
||||
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.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}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=Licença AGPL
|
||||
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.contribute=Contribuir
|
||||
setting.about.donate=Fazer doação
|
||||
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.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.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.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.closePeer=Você também precisa fechar o ticket dos parceiros de negociação!
|
||||
disputeSummaryWindow.close.txDetails.headline=Publish refund transaction
|
||||
disputeSummaryWindow.close.txDetails.buyer=Buyer receives {0} on address: {1}\n
|
||||
disputeSummaryWindow.close.txDetails.seller=Seller receives {0} on address: {1}\n
|
||||
disputeSummaryWindow.close.txDetails.headline=Publicar transação de reembolso
|
||||
disputeSummaryWindow.close.txDetails.buyer=Comprador recebe {0} no endereço: {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?
|
||||
|
||||
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.tradingPeersOnion=Endereço onion dos parceiros de negociação
|
||||
tradeDetailsWindow.tradeState=Estado da negociação
|
||||
tradeDetailsWindow.agentAddresses=Arbitrator/Mediator
|
||||
tradeDetailsWindow.agentAddresses=Árbitro/Mediador
|
||||
|
||||
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.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.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.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.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.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
|
||||
@ -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.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.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.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.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.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.description=Lift 0.01 BTC fiat trading limits by buying BTC from a signed peer.
|
||||
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.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.button=Confirm payment accounts
|
||||
popup.accountSigning.confirmSelectedAccounts.button=Confirmar contas de pagamento
|
||||
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.button=Sign payment accounts
|
||||
popup.accountSigning.signAccounts.ECKey=Enter private arbitrator key
|
||||
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.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}
|
||||
@ -2172,7 +2188,7 @@ list.currency.editList=Editar lista de moedas
|
||||
|
||||
table.placeholder.noItems=Atualmente não há {0} disponíveis
|
||||
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
|
||||
@ -2196,7 +2212,7 @@ peerInfo.nrOfTrades=Nº de negociações concluídas
|
||||
peerInfo.notTradedYet=Você ainda não negociou com este usuário.
|
||||
peerInfo.setTag=Definir um rótulo para este par
|
||||
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
|
||||
|
||||
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.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.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.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.mustNotBeNegative=O input não deve ser negativo
|
||||
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.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}.
|
||||
|
@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
|
||||
mainView.walletServiceErrorMsg.timeout=Подключение к сети Биткойн не удалось из-за истечения времени ожидания.
|
||||
mainView.walletServiceErrorMsg.connectionError=Не удалось подключиться к сети Биткойн из-за ошибки: {0}
|
||||
|
||||
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
|
||||
|
||||
mainView.networkWarning.allConnectionsLost=Сбой соединения со всеми {0} узлами сети.\nВозможно, вы отключились от интернета, или Ваш компьютер перешел в режим ожидания.
|
||||
mainView.networkWarning.localhostBitcoinLost=Сбой соединения с локальным узлом Биткойн.\nПерезапустите приложение для подключения к другим узлам Биткойн или перезапустите свой локальный узел Биткойн.
|
||||
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.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=Уведомление
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=входящий
|
||||
settings.net.outbound=выходящий
|
||||
settings.net.reSyncSPVChainLabel=Синхронизировать цепь 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.reSyncSPVAfterRestartCompleted=Повторная синхронизация завершена. Перезагрузите приложение.
|
||||
settings.net.reSyncSPVFailed=Не удалось удалить файл цепи SPV.\nОшибка: {0}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=Лицензия AGPL
|
||||
setting.about.support=Поддержать Bisq
|
||||
setting.about.def=Bisq не является компанией, а представляет собой общественный проект, открытый для участия. Если вы хотите принять участие или поддержать Bisq, перейдите по ссылкам ниже.
|
||||
setting.about.contribute=Помочь
|
||||
setting.about.donate=Пожертвовать
|
||||
setting.about.providers=Источники данных
|
||||
setting.about.apisWithFee=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.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.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.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.cashDepositInfo=Убедитесь, что в вашем районе есть отделение банка, где можно произвести перевод наличных.\nИдентификатор (BIC/SWIFT) банка продавца: {0}.
|
||||
popup.info.cashDepositInfo.confirm=Я подтверждаю, что могу внести оплату
|
||||
popup.info.shutDownWithOpenOffers=Bisq закрывается, но у вас есть открытые предложения.\n\nЭти предложения будут недоступны в сети P2P, пока приложение Bisq закрыто, но будут повторно опубликованы в сети P2P при следующем запуске Bisq.\n\nЧтобы ваши предложения были доступны в сети, компьютер и приложение должны быть включены и подключены к сети (убедитесь, что компьютер не перешёл в режим ожидания; переход монитора в спящий режим не влияет на работу приложения).
|
||||
|
||||
|
||||
popup.privateNotification.headline=Важное личное уведомление!
|
||||
|
||||
popup.securityRecommendation.headline=Важная рекомендация по безопасности
|
||||
|
@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=Connecting to the Bisq network
|
||||
mainView.walletServiceErrorMsg.timeout=การเชื่อมต่อกับเครือข่าย Bitcoin ล้มเหลวเนื่องจากหมดเวลา
|
||||
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.localhostBitcoinLost=คุณสูญเสียการเชื่อมต่อไปยังโหนดเครือข่าย Bitcoin localhost (แม่ข่ายเฉพาะที่)\nโปรดรีสตาร์ทแอ็พพลิเคชัน Bisq เพื่อเชื่อมต่อโหนด Bitcoin อื่นหรือรีสตาร์ทโหนด Bitcoin localhost
|
||||
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.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=การแจ้งเตือน
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=ขาเข้า
|
||||
settings.net.outbound=ขาออก
|
||||
settings.net.reSyncSPVChainLabel=ซิงค์อีกครั้ง SPV chain
|
||||
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.reSyncSPVAfterRestartCompleted=การซิงค์เสร็จสมบูรณ์แล้ว โปรดรีสตาร์ทแอ็พพลิเคชั่น
|
||||
settings.net.reSyncSPVFailed=ไม่สามารถลบไฟล์ SPV chain ได้\nข้อผิดพลาด: {0}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=ใบอนุญาต AGPL
|
||||
setting.about.support=สนับสนุน Bisq
|
||||
setting.about.def=Bisq ไม่ใช่ บริษัท แต่เป็นโปรเจคชุมชนและเปิดให้คนมีส่วนร่วม ถ้าคุณต้องการจะเข้าร่วมหรือสนับสนุน Bisq โปรดทำตามลิงค์ข้างล่างนี้
|
||||
setting.about.contribute=สนับสนุน
|
||||
setting.about.donate=บริจาค
|
||||
setting.about.providers=ผู้ให้บริการข้อมูล
|
||||
setting.about.apisWithFee=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.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.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.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.cashDepositInfo=โปรดตรวจสอบว่าคุณมีสาขาธนาคารในพื้นที่ของคุณเพื่อสามารถฝากเงินได้\nรหัสธนาคาร (BIC / SWIFT) ของธนาคารผู้ขายคือ: {0}
|
||||
popup.info.cashDepositInfo.confirm=ฉันยืนยันว่าฉันสามารถฝากเงินได้
|
||||
popup.info.shutDownWithOpenOffers=Bisq คือกำลังจะปิดลง แต่ยังคงมีการเปิดขายข้อเสนอปกติ\nข้อเสนอเหล่านี้จะไม่ใข้งานได้บนเครือข่าย P2P network ในขณะที่ Bisq ปิดตัวลง แต่จะมีการเผยแพร่บนเครือข่าย P2P ครั้งถัดไปเมื่อคุณมีการเริ่มใช้งาน Bisq.\n\nในการคงสถานะข้อเสนอแบบออนไลน์ คือเปิดใข้งาน Bisq และทำให้มั่นใจว่าคอมพิวเตอร์เครื่องนี้กำลังออนไลน์อยู่ด้วยเช่นกัน (เช่น ตรวจสอบว่าคอมพิวเตอร์ไม่ได้อยู่ในโหมดแสตนบายด์...หน้าจอแสตนบายด์ไม่มีปัญหา)
|
||||
|
||||
|
||||
popup.privateNotification.headline=การแจ้งเตือนส่วนตัวที่สำคัญ!
|
||||
|
||||
popup.securityRecommendation.headline=ข้อเสนอแนะด้านความปลอดภัยที่สำคัญ
|
||||
|
@ -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.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.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)
|
||||
@ -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.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
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=chuyến về
|
||||
settings.net.outbound=chuyến đi
|
||||
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.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.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}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=Giấy phép AGPL
|
||||
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.contribute=Góp vốn
|
||||
setting.about.donate=Tặng
|
||||
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.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.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.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.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.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.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.securityRecommendation.headline=Khuyến cáo an ninh quan trọng
|
||||
|
@ -274,6 +274,8 @@ mainView.p2pNetworkWarnMsg.connectionToP2PFailed=连接至 Bisq 网络失败(
|
||||
mainView.walletServiceErrorMsg.timeout=比特币网络连接超时。
|
||||
mainView.walletServiceErrorMsg.connectionError=错误:{0} 比特币网络连接失败。
|
||||
|
||||
mainView.walletServiceErrorMsg.rejectedTxException=A transaction was rejected from the network.\n\n{0}
|
||||
|
||||
mainView.networkWarning.allConnectionsLost=您失去所有与 {0} 网络节点的连接。\n或许您失去互联网连接或您的计算机处于待机状态。
|
||||
mainView.networkWarning.localhostBitcoinLost=您丢失了与本地主机比特币节点的连接。\n请重启 Bisq 应用程序连接到其他比特币节点或重新启动主机比特币节点。
|
||||
mainView.version.update=(有更新可用)
|
||||
@ -704,6 +706,9 @@ portfolio.pending.openSupportTicket.headline=创建帮助话题
|
||||
portfolio.pending.openSupportTicket.msg=请仅在紧急情况下使用此功能,如果您没有看到“提交支持”或“提交纠纷”按钮。\n\n当您发出工单时,交易将被中断并由调解员或仲裁员进行处理。
|
||||
|
||||
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=通知
|
||||
|
||||
@ -973,7 +978,7 @@ settings.net.inbound=数据包进入
|
||||
settings.net.outbound=数据包出口
|
||||
settings.net.reSyncSPVChainLabel=重新同步 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.reSyncSPVAfterRestartCompleted=重新同步刚刚完成,请重启应用程序。
|
||||
settings.net.reSyncSPVFailed=无法删除 SPV 链文件。\n错误:{0}
|
||||
@ -985,7 +990,6 @@ setting.about.agpl=AGPL 协议
|
||||
setting.about.support=支持 Bisq
|
||||
setting.about.def=Bisq 不是一个公司,而是一个社区项目,开放参与。如果您想参与或支持 Bisq,请点击下面连接。
|
||||
setting.about.contribute=贡献
|
||||
setting.about.donate=捐助
|
||||
setting.about.providers=数据提供商
|
||||
setting.about.apisWithFee=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.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.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.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.cashDepositInfo=请确保您在您的地区有一个银行分行,以便能够进行现金存款。\n卖方银行的银行 ID(BIC/SWIFT)为:{0}。
|
||||
popup.info.cashDepositInfo.confirm=我确认我可以支付保证金
|
||||
popup.info.shutDownWithOpenOffers=Bisq 正在被关闭,但仍有公开的报价。\n\n当 Bisq 关闭时,这些提供将不能在 P2P 网络上使用,但是它们将在您下次启动 Bisq 时重新发布到 P2P 网络上。\n\n为了让您的报价在线,保持 Bisq 运行,并确保这台计算机也在线(即,确保它不会进入待机模式…显示器待机不是问题)。
|
||||
|
||||
|
||||
popup.privateNotification.headline=重要私人通知!
|
||||
|
||||
popup.securityRecommendation.headline=重要安全建议
|
||||
|
@ -1,6 +1,6 @@
|
||||
TXT CHECKPOINTS 1
|
||||
0
|
||||
297
|
||||
298
|
||||
AAAAAAAAB+EH4QfhAAAH4AEAAABjl7tqvU/FIcDT9gcbVlA4nwtFUbxAtOawZzBpAAAAAKzkcK7NqciBjI/ldojNKncrWleVSgDfBCCn3VRrbSxXaw5/Sf//AB0z8Bkv
|
||||
AAAAAAAAD8EPwQ/BAAAPwAEAAADfP83Sx8MZ9RsrnZCvqzAwqB2Ma+ZesNAJrTfwAAAAACwESaNKhvRgz6WuE7UFdFk1xwzfRY/OIdIOPzX5yaAdjnWUSf//AB0GrNq5
|
||||
AAAAAAAAF6EXoRehAAAXoAEAAADonWzAaUAKd30XT3NnHKobZMnLOuHdzm/xtehsAAAAAD8cUJA6NBIHHcqPHLc4IrfHw+6mjCGu3e+wRO81EvpnMVqrSf//AB1ffy8G
|
||||
@ -298,3 +298,4 @@ CCrDlIUnc1LZ8Nj7AAkLQAAA/z9FV3KiSlGDfga9ToHe8ysq0WioRw7iEQAAAAAAAAAAANUoIlkSoxVo
|
||||
CHfrzMTnNH4hN5sYAAkTIAAA/z+HbkJNgw5nAYXntDFX57V72pTVvvZIDAAAAAAAAAAAAIaAZN99p5iv3Uy5KzLVIn4oJdXuWwQtoiPuVvR37fNGt+h7XfWrFxeUDV+5
|
||||
CM0W0f4hiP5fWVciAAkbAAAAACD949mnNSIOTWH92aZDY80eG/VA3HF4DwAAAAAAAAAAAHz7539g8IjaBVxv7M2N+/bPcmY6Nik4r0IZMxOPFbbAkSCNXSQPFhcRiJ3V
|
||||
CSh7DyaX/kiv4GZrAAki4AAAQCBkJtVoaqbUq7I+EEmnUlsQDTY688BYFQAAAAAAAAAAAN8JpiIqwffNT/xQxjdHpDrq3zyloPsBWmA2IQWQQO0LdzufXVyjFReQWFDz
|
||||
CYWm6xCIhvXC3VCXAAkqwAAgACBa35Ut2KFYNsnRSMn44AHqcTe/OkZ2BgAAAAAAAAAAAF4Xg+DOwujvmF1htTEQCwMy9wsWY5yhtvG2eTnKXEEkXcmwXd+OFBc2QzNB
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
# pull base image
|
||||
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/* &&
|
||||
apt-get install -y vim fakeroot
|
||||
|
@ -6,7 +6,7 @@
|
||||
# - Update version below
|
||||
# - 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 [ -d "/usr/lib/jvm/jdk-10.0.2" ]; then
|
||||
JAVA_HOME=/usr/lib/jvm/jdk-10.0.2
|
||||
|
@ -4,7 +4,7 @@
|
||||
# Prior to running this script:
|
||||
# - Update version below
|
||||
|
||||
version=1.2.2-SNAPSHOT
|
||||
version=1.2.3-SNAPSHOT
|
||||
base_dir=$( cd "$(dirname "$0")" ; pwd -P )/../../..
|
||||
package_dir=$base_dir/desktop/package
|
||||
release_dir=$base_dir/desktop/release/$version
|
||||
|
@ -5,10 +5,10 @@
|
||||
<!-- See: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -->
|
||||
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.2.2</string>
|
||||
<string>1.2.3</string>
|
||||
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.2.2</string>
|
||||
<string>1.2.3</string>
|
||||
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Bisq</string>
|
||||
|
@ -6,7 +6,7 @@ mkdir -p deploy
|
||||
|
||||
set -e
|
||||
|
||||
version="1.2.2-SNAPSHOT"
|
||||
version="1.2.3-SNAPSHOT"
|
||||
|
||||
cd ..
|
||||
./gradlew :desktop:build -x test shadowJar
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
cd ../../
|
||||
|
||||
version="1.2.2-SNAPSHOT"
|
||||
version="1.2.3-SNAPSHOT"
|
||||
|
||||
target_dir="releases/$version"
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
cd $(dirname $0)/../../../
|
||||
|
||||
version=1.2.2
|
||||
version=1.2.3
|
||||
|
||||
find . -type f \( -name "finalize.sh" \
|
||||
-o -name "create_app.sh" \
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
cd $(dirname $0)/../../../
|
||||
|
||||
oldVersion=1.2.1
|
||||
newVersion=1.2.2
|
||||
oldVersion=1.2.2
|
||||
newVersion=1.2.3
|
||||
|
||||
find . -type f \( -name "finalize.sh" \
|
||||
-o -name "create_app.sh" \
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
@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 "%ProgramFiles%\Java\jdk-10.0.2" (
|
||||
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 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
|
||||
)
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
@echo off
|
||||
|
||||
set version=1.2.2-SNAPSHOT
|
||||
set version=1.2.3-SNAPSHOT
|
||||
set release_dir=%~dp0..\..\..\releases\%version%
|
||||
set package_dir=%~dp0..
|
||||
|
||||
|
@ -32,7 +32,7 @@ import bisq.core.util.BSFormatter;
|
||||
|
||||
import bisq.network.p2p.NodeAddress;
|
||||
|
||||
import bisq.common.util.Tuple2;
|
||||
import bisq.common.util.Tuple3;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
|
||||
@ -136,7 +136,7 @@ public class PeerInfoIcon extends Group {
|
||||
peerTagMap = preferences.getPeerTagMap();
|
||||
|
||||
boolean hasTraded = numTrades > 0;
|
||||
Tuple2<Long, String> peersAccount = getPeersAccountAge(trade, offer);
|
||||
Tuple3<Long, String, String> peersAccount = getPeersAccountAge(trade, offer);
|
||||
if (offer == null) {
|
||||
checkNotNull(trade, "Trade must not be null if offer is null.");
|
||||
offer = trade.getOffer();
|
||||
@ -147,7 +147,7 @@ public class PeerInfoIcon extends Group {
|
||||
boolean isFiatCurrency = CurrencyUtil.isFiatCurrency(offer.getCurrencyCode());
|
||||
|
||||
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") :
|
||||
"";
|
||||
tooltipText = hasTraded ?
|
||||
@ -249,36 +249,39 @@ public class PeerInfoIcon extends Group {
|
||||
|
||||
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,
|
||||
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) {
|
||||
offer = trade.getOffer();
|
||||
if (offer == null) {
|
||||
// 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())) {
|
||||
return new Tuple2<>(accountAgeWitnessService.getWitnessSignAge(offer, new Date()),
|
||||
Res.get("peerInfo.age.chargeBackRisk"));
|
||||
String accountAgeInfo = 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,
|
||||
@ -288,13 +291,13 @@ public class PeerInfoIcon extends Group {
|
||||
BSFormatter formatter,
|
||||
boolean useDevPrivilegeKeys,
|
||||
boolean isFiatCurrency,
|
||||
long makersAccountAge,
|
||||
String makersAccountAgeInfo,
|
||||
long peersAccountAge,
|
||||
String peersAccountAgeInfo,
|
||||
String accountSigningState) {
|
||||
|
||||
final String accountAgeTagEditor = isFiatCurrency && makersAccountAgeInfo != null ?
|
||||
makersAccountAge > -1 ?
|
||||
DisplayUtils.formatAccountAge(makersAccountAge) :
|
||||
final String accountAgeTagEditor = isFiatCurrency && peersAccountAgeInfo != null ?
|
||||
peersAccountAge > -1 ?
|
||||
DisplayUtils.formatAccountAge(peersAccountAge) :
|
||||
Res.get("peerInfo.unknownAge") :
|
||||
null;
|
||||
|
||||
@ -302,7 +305,7 @@ public class PeerInfoIcon extends Group {
|
||||
.fullAddress(fullAddress)
|
||||
.numTrades(numTrades)
|
||||
.accountAge(accountAgeTagEditor)
|
||||
.accountAgeInfo(makersAccountAgeInfo)
|
||||
.accountAgeInfo(peersAccountAgeInfo)
|
||||
.accountSigningState(accountSigningState)
|
||||
.position(localToScene(new Point2D(0, 0)))
|
||||
.onSave(newTag -> {
|
||||
|
@ -40,8 +40,8 @@ public class PeerInfoIconSmall extends PeerInfoIcon {
|
||||
BSFormatter formatter,
|
||||
boolean useDevPrivilegeKeys,
|
||||
boolean isFiatCurrency,
|
||||
long makersAccountAge,
|
||||
String makersAccountAgeInfo,
|
||||
long peersAccountAge,
|
||||
String peersAccountAgeInfo,
|
||||
String accountSigningState) {
|
||||
}
|
||||
|
||||
|
@ -55,6 +55,7 @@ import bisq.core.presentation.SupportTicketsPresentation;
|
||||
import bisq.core.presentation.TradePresentation;
|
||||
import bisq.core.provider.fee.FeeService;
|
||||
import bisq.core.provider.price.PriceFeedService;
|
||||
import bisq.core.trade.Trade;
|
||||
import bisq.core.trade.TradeManager;
|
||||
import bisq.core.user.DontShowAgainLookup;
|
||||
import bisq.core.user.Preferences;
|
||||
@ -83,6 +84,7 @@ import javafx.beans.property.SimpleDoubleProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.property.StringProperty;
|
||||
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.collections.ObservableList;
|
||||
|
||||
import java.util.Comparator;
|
||||
@ -309,7 +311,7 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
|
||||
bisqSetup.setChainFileLockedExceptionHandler(msg -> new Popup<>().warning(msg)
|
||||
.useShutDownButton()
|
||||
.show());
|
||||
bisqSetup.setLockedUpFundsHandler(msg -> new Popup<>().warning(msg).show());
|
||||
bisqSetup.setLockedUpFundsHandler(msg -> new Popup<>().width(850).warning(msg).show());
|
||||
bisqSetup.setShowFirstPopupIfResyncSPVRequestedHandler(this::showFirstPopupIfResyncSPVRequested);
|
||||
bisqSetup.setRequestWalletPasswordHandler(aesKeyHandler -> walletPasswordWindow
|
||||
.onAesKey(aesKeyHandler::accept)
|
||||
@ -364,6 +366,8 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
|
||||
|
||||
bisqSetup.setWrongOSArchitectureHandler(msg -> new Popup<>().warning(msg).show());
|
||||
|
||||
bisqSetup.setRejectedTxErrorMessageHandler(msg -> new Popup<>().width(850).warning(msg).show());
|
||||
|
||||
corruptedDatabaseFilesHandler.getCorruptedDatabaseFiles().ifPresent(files -> new Popup<>()
|
||||
.warning(Res.get("popup.warning.incompatibleDB", files.toString(),
|
||||
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))
|
||||
.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());
|
||||
daoPresentation.getBsqSyncProgress().addListener((observable, oldValue, newValue) -> updateBtcSyncProgress());
|
||||
|
||||
|
@ -165,7 +165,7 @@ public class LockedView extends ActivatableView<VBox, Void> {
|
||||
|
||||
private void updateList() {
|
||||
observableList.forEach(LockedListItem::cleanup);
|
||||
observableList.setAll(tradeManager.getLockedTradesStream()
|
||||
observableList.setAll(tradeManager.getTradesStreamWithFundsLockedIn()
|
||||
.map(trade -> {
|
||||
final Optional<AddressEntry> addressEntryOptional = btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG);
|
||||
return addressEntryOptional.map(addressEntry -> new LockedListItem(trade,
|
||||
|
@ -61,6 +61,7 @@ import bisq.common.handlers.ResultHandler;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.core.Transaction;
|
||||
import org.bitcoinj.core.TransactionConfidence;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
@ -76,8 +77,6 @@ import javafx.collections.ObservableList;
|
||||
|
||||
import org.spongycastle.crypto.params.KeyParameter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import lombok.Getter;
|
||||
@ -448,41 +447,19 @@ public class PendingTradesDataModel extends ActivatableDataModel {
|
||||
return;
|
||||
}
|
||||
|
||||
Transaction depositTx = 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.");
|
||||
}
|
||||
}
|
||||
doOpenDispute(isSupportTicket, trade.getDepositTx());
|
||||
}
|
||||
|
||||
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();
|
||||
if (trade == null) {
|
||||
log.warn("trade is null at doOpenDispute");
|
||||
@ -523,7 +500,6 @@ public class PendingTradesDataModel extends ActivatableDataModel {
|
||||
PubKeyRing mediatorPubKeyRing = trade.getMediatorPubKeyRing();
|
||||
checkNotNull(mediatorPubKeyRing, "mediatorPubKeyRing must not be null");
|
||||
byte[] depositTxSerialized = depositTx.bitcoinSerialize();
|
||||
String depositTxHashAsString = depositTx.getHashAsString();
|
||||
Dispute dispute = new Dispute(disputeManager.getStorage(),
|
||||
trade.getId(),
|
||||
pubKeyRing.hashCode(), // traderId
|
||||
@ -535,7 +511,7 @@ public class PendingTradesDataModel extends ActivatableDataModel {
|
||||
trade.getContractHash(),
|
||||
depositTxSerialized,
|
||||
payoutTxSerialized,
|
||||
depositTxHashAsString,
|
||||
depositTxId,
|
||||
payoutTxHashAsString,
|
||||
trade.getContractAsJson(),
|
||||
trade.getMakerContractSignature(),
|
||||
@ -572,6 +548,16 @@ public class PendingTradesDataModel extends ActivatableDataModel {
|
||||
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();
|
||||
int bestChainHeight = btcWalletService.getBestChainHeight();
|
||||
long remaining = lockTime - bestChainHeight;
|
||||
@ -666,5 +652,9 @@ public class PendingTradesDataModel extends ActivatableDataModel {
|
||||
public boolean isBootstrappedOrShowPopup() {
|
||||
return GUIUtil.isBootstrappedOrShowPopup(p2PService);
|
||||
}
|
||||
|
||||
public void addTradeToFailedTrades() {
|
||||
tradeManager.addTradeToFailedTrades(selectedTrade);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -523,6 +523,14 @@ public abstract class TradeStepView extends AnchorPane {
|
||||
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();
|
||||
Contract contract = checkNotNull(trade.getContract(), "contract must not be null");
|
||||
boolean isMyRoleBuyer = contract.isMyRoleBuyer(model.dataModel.getPubKeyRing());
|
||||
@ -531,8 +539,6 @@ public abstract class TradeStepView extends AnchorPane {
|
||||
String myPayoutAmount = isMyRoleBuyer ? buyerPayoutAmount : sellerPayoutAmount;
|
||||
String peersPayoutAmount = isMyRoleBuyer ? sellerPayoutAmount : buyerPayoutAmount;
|
||||
|
||||
checkNotNull(trade.getDelayedPayoutTx(),
|
||||
"trade.getDelayedPayoutTx() must not be null at openMediationResultPopup");
|
||||
long lockTime = trade.getDelayedPayoutTx().getLockTime();
|
||||
int bestChainHeight = model.dataModel.btcWalletService.getBestChainHeight();
|
||||
long remaining = lockTime - bestChainHeight;
|
||||
|
@ -21,8 +21,8 @@ dependencyVerification {
|
||||
'com.googlecode.jcsv:jcsv:73ca7d715e90c8d2c2635cc284543b038245a34f70790660ed590e157b8714a2',
|
||||
'com.github.sarxos:webcam-capture:d960b7ea8ec3ddf2df0725ef214c3fccc9699ea7772df37f544e1f8e4fd665f6',
|
||||
'com.jfoenix:jfoenix:4739e37a05e67c3bc9d5b391a1b93717b5a48fa872992616b0964d3f827f8fe6',
|
||||
'com.github.JesusMcCloud.netlayer:tor.native:49eba4300ed73e1f8429f4643a62298924ae26a1f45cd7434e5425b342987a39',
|
||||
'com.github.JesusMcCloud.netlayer:tor.external:2bea8515c23ef836d3cda7bea6187979aa8a65e61790d01593adea4fabde1cff',
|
||||
'com.github.JesusMcCloud.netlayer:tor.native:fba4dca6a139af741c36713bcfe3680a92870009dbb59a3a14f9dae7f6cd116e',
|
||||
'com.github.JesusMcCloud.netlayer:tor.external:10c3acfbcf8f80154a3f10640c4d4d275c4fc9baaf5c476d631da4e2382aaa5b',
|
||||
'org.apache.httpcomponents:httpclient:db3d1b6c2d6a5e5ad47577ad61854e2f0e0936199b8e05eb541ed52349263135',
|
||||
'net.sf.jopt-simple:jopt-simple:6f45c00908265947c39221035250024f2caec9a15c1c8cf553ebeecee289f342',
|
||||
'org.fxmisc.easybind:easybind:666af296dda6de68751668a62661571b5238ac6f1c07c8a204fc6f902b222aaf',
|
||||
@ -41,7 +41,7 @@ dependencyVerification {
|
||||
'com.google.guava:guava:36a666e3b71ae7f0f0dca23654b67e086e6c93d192f60ba5dfd5519db6c288c8',
|
||||
'com.google.inject:guice:d258ff1bd9b8b527872f8402648226658ad3149f1f40e74b0566d69e7e042fbc',
|
||||
'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',
|
||||
'io.github.microutils:kotlin-logging:4992504fd3c6ecdf9ed10874b9508e758bb908af9e9d7af19a61e9afb6b7e27a',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:25e2409aba0ec37d2fd7c77727d7835b511879de8d9bf4862af0b493aabbe39e',
|
||||
@ -53,10 +53,10 @@ dependencyVerification {
|
||||
'org.bouncycastle:bcprov-jdk15on:963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349',
|
||||
'com.google.zxing:javase:0ec23e2ec12664ddd6347c8920ad647bb3b9da290f897a88516014b56cc77eb9',
|
||||
'com.nativelibs4java:bridj:101bcd9b6637e6bc16e56deb3daefba62b1f5e8e9e37e1b3e56e3b5860d659cf',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-macos:4fc2c8f951a2cb74c7ec4a7103472997c3374d6ac7b4687dcd38d001d315ae19',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-linux32:c7e7d72870eee17cf954bc14511bcdc60d30cc37f0ba57012908128d84081838',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-linux64:757e4d4a0217ebd62a5e5c690628fd6bc0c2687ef73c6f3361a7f553bcad2d90',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-windows:5a4083333cf457bd5292bab643e3edc59209d72954ee506eec03a87da1d2d3db',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-macos:716c967ce7c4a66e2b7d4e64724544851d92a3280addd22cbd43699e70d7bab9',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-linux32:e73b9fbb9347c6d34434f25795d4eb6bd01fc6bdb40d7b43594aad2286e395c9',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-linux64:5c8a2567debe3c98d5c9e25c8029cbeb7cb917e4a8aab9575389c117477337a4',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-windows:d02c9f4614b5d8d6b3c9afb02156ef6f0fe6043b446a3c3e4ec035983daa558d',
|
||||
'com.github.ravn:jsocks:3c71600af027b2b6d4244e4ad14d98ff2352a379410daebefff5d8cd48d742a4',
|
||||
'org.apache.httpcomponents:httpcore:d7f853dee87680b07293d30855b39b9eb56c1297bd16ff1cd6f19ddb8fa745fb',
|
||||
'commons-codec:commons-codec:ad19d2601c3abf0b946b5c3a4113e226a8c1e3305e395b90013b78dd94a723ce',
|
||||
@ -69,8 +69,8 @@ dependencyVerification {
|
||||
'org.bitcoinj:orchid:f836325cfa0466a011cb755c9b0fee6368487a2352eb45f4306ad9e4c18de080',
|
||||
'com.squareup.okhttp:okhttp:b4c943138fcef2bcc9d2006b2250c4aabbedeafc5947ed7c0af7fd103ceb2707',
|
||||
'com.google.zxing:core:11aae8fd974ab25faa8208be50468eb12349cd239e93e7c797377fa13e381729',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-geoip:920750be37303432a63e6ed7db9268b0d7b52293f16c84ee18ed2f153d48d404',
|
||||
'com.github.JesusMcCloud:jtorctl:4132d0662efe14a5bedbcee8d885ac937634957b873320d02dbff565708c18dc',
|
||||
'com.github.JesusMcCloud.tor-binary:tor-binary-geoip:1fd8b0af71ab706c7ec36888bc0af41c3d82f6e1455f674076ed6989c3d7fa7c',
|
||||
'com.github.JesusMcCloud:jtorctl:904f7c53332179a3479c64d63fb303afa6a02b6889aabdab5b235f3efc725ca7',
|
||||
'org.apache.commons:commons-compress:5f2df1e467825e4cac5996d44890c4201c000b43c0b23cffc0782d28a0beb9b0',
|
||||
'org.tukaani:xz:a594643d73cc01928cf6ca5ce100e094ea9d73af760a5d4fb6b75fa673ecec96',
|
||||
'com.squareup.okio:okio:114bdc1f47338a68bcbc95abf2f5cdc72beeec91812f2fcd7b521c1937876266',
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
1.2.2-SNAPSHOT
|
||||
1.2.3-SNAPSHOT
|
||||
|
@ -34,7 +34,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
public class SeedNodeMain extends ExecutableForAppWithP2p {
|
||||
private static final String VERSION = "1.2.2";
|
||||
private static final String VERSION = "1.2.3";
|
||||
private SeedNode seedNode;
|
||||
|
||||
public SeedNodeMain() {
|
||||
|
Loading…
Reference in New Issue
Block a user