diff options
Diffstat (limited to 'src')
119 files changed, 5982 insertions, 718 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index bb627a5448..5da1a873de 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -117,7 +117,6 @@ BITCOIN_CORE_H = \ memusage.h \ merkleblock.h \ miner.h \ - mruset.h \ net.h \ netbase.h \ noui.h \ diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 4d0894b711..d89132f806 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -59,7 +59,6 @@ BITCOIN_TESTS =\ test/mempool_tests.cpp \ test/merkle_tests.cpp \ test/miner_tests.cpp \ - test/mruset_tests.cpp \ test/multisig_tests.cpp \ test/netbase_tests.cpp \ test/pmt_tests.cpp \ diff --git a/src/alert.cpp b/src/alert.cpp index 3a3e563cfb..eb1cd5e7f6 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -138,7 +138,7 @@ bool CAlert::RelayTo(CNode* pnode) const AppliesToMe() || GetAdjustedTime() < nRelayUntil) { - pnode->PushMessage("alert", *this); + pnode->PushMessage(NetMsgType::ALERT, *this); return true; } } diff --git a/src/bloom.cpp b/src/bloom.cpp index 6e97dc5725..4e6f0e5d2d 100644 --- a/src/bloom.cpp +++ b/src/bloom.cpp @@ -216,30 +216,54 @@ void CBloomFilter::UpdateEmptyFull() isEmpty = empty; } -CRollingBloomFilter::CRollingBloomFilter(unsigned int nElements, double fpRate) : - b1(nElements * 2, fpRate, 0), b2(nElements * 2, fpRate, 0) +CRollingBloomFilter::CRollingBloomFilter(unsigned int nElements, double fpRate) { - // Implemented using two bloom filters of 2 * nElements each. - // We fill them up, and clear them, staggered, every nElements - // inserted, so at least one always contains the last nElements - // inserted. - nInsertions = 0; - nBloomSize = nElements * 2; - + double logFpRate = log(fpRate); + /* The optimal number of hash functions is log(fpRate) / log(0.5), but + * restrict it to the range 1-50. */ + nHashFuncs = std::max(1, std::min((int)round(logFpRate / log(0.5)), 50)); + /* In this rolling bloom filter, we'll store between 2 and 3 generations of nElements / 2 entries. */ + nEntriesPerGeneration = (nElements + 1) / 2; + uint32_t nMaxElements = nEntriesPerGeneration * 3; + /* The maximum fpRate = pow(1.0 - exp(-nHashFuncs * nMaxElements / nFilterBits), nHashFuncs) + * => pow(fpRate, 1.0 / nHashFuncs) = 1.0 - exp(-nHashFuncs * nMaxElements / nFilterBits) + * => 1.0 - pow(fpRate, 1.0 / nHashFuncs) = exp(-nHashFuncs * nMaxElements / nFilterBits) + * => log(1.0 - pow(fpRate, 1.0 / nHashFuncs)) = -nHashFuncs * nMaxElements / nFilterBits + * => nFilterBits = -nHashFuncs * nMaxElements / log(1.0 - pow(fpRate, 1.0 / nHashFuncs)) + * => nFilterBits = -nHashFuncs * nMaxElements / log(1.0 - exp(logFpRate / nHashFuncs)) + */ + uint32_t nFilterBits = (uint32_t)ceil(-1.0 * nHashFuncs * nMaxElements / log(1.0 - exp(logFpRate / nHashFuncs))); + data.clear(); + /* We store up to 16 'bits' per data element. */ + data.resize((nFilterBits + 15) / 16); reset(); } +/* Similar to CBloomFilter::Hash */ +inline unsigned int CRollingBloomFilter::Hash(unsigned int nHashNum, const std::vector<unsigned char>& vDataToHash) const { + return MurmurHash3(nHashNum * 0xFBA4C795 + nTweak, vDataToHash) % (data.size() * 16); +} + void CRollingBloomFilter::insert(const std::vector<unsigned char>& vKey) { - if (nInsertions == 0) { - b1.clear(); - } else if (nInsertions == nBloomSize / 2) { - b2.clear(); + if (nEntriesThisGeneration == nEntriesPerGeneration) { + nEntriesThisGeneration = 0; + nGeneration++; + if (nGeneration == 4) { + nGeneration = 1; + } + /* Wipe old entries that used this generation number. */ + for (uint32_t p = 0; p < data.size() * 16; p++) { + if (get(p) == nGeneration) { + put(p, 0); + } + } } - b1.insert(vKey); - b2.insert(vKey); - if (++nInsertions == nBloomSize) { - nInsertions = 0; + nEntriesThisGeneration++; + + for (int n = 0; n < nHashFuncs; n++) { + uint32_t h = Hash(n, vKey); + put(h, nGeneration); } } @@ -251,10 +275,13 @@ void CRollingBloomFilter::insert(const uint256& hash) bool CRollingBloomFilter::contains(const std::vector<unsigned char>& vKey) const { - if (nInsertions < nBloomSize / 2) { - return b2.contains(vKey); + for (int n = 0; n < nHashFuncs; n++) { + uint32_t h = Hash(n, vKey); + if (get(h) == 0) { + return false; + } } - return b1.contains(vKey); + return true; } bool CRollingBloomFilter::contains(const uint256& hash) const @@ -265,8 +292,10 @@ bool CRollingBloomFilter::contains(const uint256& hash) const void CRollingBloomFilter::reset() { - unsigned int nNewTweak = GetRand(std::numeric_limits<unsigned int>::max()); - b1.reset(nNewTweak); - b2.reset(nNewTweak); - nInsertions = 0; + nTweak = GetRand(std::numeric_limits<unsigned int>::max()); + nEntriesThisGeneration = 0; + nGeneration = 1; + for (std::vector<uint32_t>::iterator it = data.begin(); it != data.end(); it++) { + *it = 0; + } } diff --git a/src/bloom.h b/src/bloom.h index f48ebe55e8..b0ad8b875d 100644 --- a/src/bloom.h +++ b/src/bloom.h @@ -110,8 +110,11 @@ public: * reset() is provided, which also changes nTweak to decrease the impact of * false-positives. * - * contains(item) will always return true if item was one of the last N things + * contains(item) will always return true if item was one of the last N to 1.5*N * insert()'ed ... but may also return true for items that were not inserted. + * + * It needs around 1.8 bytes per element per factor 0.1 of false positive rate. + * (More accurately: 3/(log(256)*log(2)) * log(1/fpRate) * nElements bytes) */ class CRollingBloomFilter { @@ -129,10 +132,23 @@ public: void reset(); private: - unsigned int nBloomSize; - unsigned int nInsertions; - CBloomFilter b1, b2; -}; + int nEntriesPerGeneration; + int nEntriesThisGeneration; + int nGeneration; + std::vector<uint32_t> data; + unsigned int nTweak; + int nHashFuncs; + + unsigned int Hash(unsigned int nHashNum, const std::vector<unsigned char>& vDataToHash) const; + inline int get(uint32_t position) const { + return (data[(position >> 4) % data.size()] >> (2 * (position & 0xF))) & 0x3; + } + + inline void put(uint32_t position, uint32_t val) { + uint32_t& cell = data[(position >> 4) % data.size()]; + cell = (cell & ~(((uint32_t)3) << (2 * (position & 0xF)))) | (val << (2 * (position & 0xF))); + } +}; #endif // BITCOIN_BLOOM_H diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 87e408606f..9cf99492c9 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -179,7 +179,6 @@ public: vFixedSeeds.clear(); vSeeds.clear(); - vSeeds.push_back(CDNSSeedData("alexykot.me", "testnet-seed.alexykot.me")); vSeeds.push_back(CDNSSeedData("bitcoin.petertodd.org", "testnet-seed.bitcoin.petertodd.org")); vSeeds.push_back(CDNSSeedData("bluematt.me", "testnet-seed.bluematt.me")); vSeeds.push_back(CDNSSeedData("bitcoin.schildbach.de", "testnet-seed.bitcoin.schildbach.de")); diff --git a/src/clientversion.h b/src/clientversion.h index de64612abc..c832663a76 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -15,7 +15,7 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 0 -#define CLIENT_VERSION_MINOR 11 +#define CLIENT_VERSION_MINOR 12 #define CLIENT_VERSION_REVISION 99 #define CLIENT_VERSION_BUILD 0 diff --git a/src/main.cpp b/src/main.cpp index dc891fecf3..c058843ae3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -84,8 +84,8 @@ struct COrphanTx { CTransaction tx; NodeId fromPeer; }; -map<uint256, COrphanTx> mapOrphanTransactions GUARDED_BY(cs_main);; -map<uint256, set<uint256> > mapOrphanTransactionsByPrev GUARDED_BY(cs_main);; +map<uint256, COrphanTx> mapOrphanTransactions GUARDED_BY(cs_main); +map<uint256, set<uint256> > mapOrphanTransactionsByPrev GUARDED_BY(cs_main); void EraseOrphansFor(NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(cs_main); /** @@ -181,7 +181,7 @@ namespace { * million to make it highly unlikely for users to have issues with this * filter. * - * Memory used: 1.7MB + * Memory used: 1.3 MB */ boost::scoped_ptr<CRollingBloomFilter> recentRejects; uint256 hashRecentRejectsChainTip; @@ -800,32 +800,6 @@ void LimitMempoolSize(CTxMemPool& pool, size_t limit, unsigned long age) { pcoinsTip->Uncache(removed); } -CAmount GetMinRelayFee(const CTransaction& tx, const CTxMemPool& pool, unsigned int nBytes, bool fAllowFree) -{ - uint256 hash = tx.GetHash(); - double dPriorityDelta = 0; - CAmount nFeeDelta = 0; - pool.ApplyDeltas(hash, dPriorityDelta, nFeeDelta); - if (dPriorityDelta > 0 || nFeeDelta > 0) - return 0; - - CAmount nMinFee = ::minRelayTxFee.GetFee(nBytes); - - if (fAllowFree) - { - // There is a free transaction area in blocks created by most miners, - // * If we are relaying we allow transactions up to DEFAULT_BLOCK_PRIORITY_SIZE - 1000 - // to be considered to fall into this category. We don't want to encourage sending - // multiple transactions instead of one big transaction to avoid fees. - if (nBytes < (DEFAULT_BLOCK_PRIORITY_SIZE - 1000)) - nMinFee = 0; - } - - if (!MoneyRange(nMinFee)) - nMinFee = MAX_MONEY; - return nMinFee; -} - /** Convert CValidationState to a human-readable message for logging */ std::string FormatStateMessage(const CValidationState &state) { @@ -968,6 +942,11 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C CAmount nValueOut = tx.GetValueOut(); CAmount nFees = nValueIn-nValueOut; + // nModifiedFees includes any fee deltas from PrioritiseTransaction + CAmount nModifiedFees = nFees; + double nPriorityDummy = 0; + pool.ApplyDeltas(hash, nPriorityDummy, nModifiedFees); + CAmount inChainInputValue; double dPriority = view.GetPriority(tx, chainActive.Height(), inChainInputValue); @@ -985,16 +964,10 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C CTxMemPoolEntry entry(tx, nFees, GetTime(), dPriority, chainActive.Height(), pool.HasNoInputsOf(tx), inChainInputValue, fSpendsCoinbase, nSigOps); unsigned int nSize = entry.GetTxSize(); - // Don't accept it if it can't get into a block - CAmount txMinFee = GetMinRelayFee(tx, pool, nSize, true); - if (fLimitFree && nFees < txMinFee) - return state.DoS(0, false, REJECT_INSUFFICIENTFEE, "insufficient fee", false, - strprintf("%d < %d", nFees, txMinFee)); - CAmount mempoolRejectFee = pool.GetMinFee(GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000).GetFee(nSize); - if (mempoolRejectFee > 0 && nFees < mempoolRejectFee) { + if (mempoolRejectFee > 0 && nModifiedFees < mempoolRejectFee) { return state.DoS(0, false, REJECT_INSUFFICIENTFEE, "mempool min fee not met", false, strprintf("%d < %d", nFees, mempoolRejectFee)); - } else if (GetBoolArg("-relaypriority", DEFAULT_RELAYPRIORITY) && nFees < ::minRelayTxFee.GetFee(nSize) && !AllowFree(entry.GetPriority(chainActive.Height() + 1))) { + } else if (GetBoolArg("-relaypriority", DEFAULT_RELAYPRIORITY) && nModifiedFees < ::minRelayTxFee.GetFee(nSize) && !AllowFree(entry.GetPriority(chainActive.Height() + 1))) { // Require that free transactions have sufficient priority to be mined in the next block. return state.DoS(0, false, REJECT_INSUFFICIENTFEE, "insufficient priority"); } @@ -1002,7 +975,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C // Continuously rate-limit free (really, very-low-fee) transactions // This mitigates 'penny-flooding' -- sending thousands of free transactions just to // be annoying or make others' transactions take longer to confirm. - if (fLimitFree && nFees < ::minRelayTxFee.GetFee(nSize)) + if (fLimitFree && nModifiedFees < ::minRelayTxFee.GetFee(nSize)) { static CCriticalSection csFreeLimiter; static double dFreeCount; @@ -1067,7 +1040,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C LOCK(pool.cs); if (setConflicts.size()) { - CFeeRate newFeeRate(nFees, nSize); + CFeeRate newFeeRate(nModifiedFees, nSize); set<uint256> setConflictsParents; const int maxDescendantsToVisit = 100; CTxMemPool::setEntries setIterConflicting; @@ -1110,7 +1083,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C // ignored when deciding whether or not to replace, we do // require the replacement to pay more overall fees too, // mitigating most cases. - CFeeRate oldFeeRate(mi->GetFee(), mi->GetTxSize()); + CFeeRate oldFeeRate(mi->GetModifiedFee(), mi->GetTxSize()); if (newFeeRate <= oldFeeRate) { return state.DoS(0, @@ -1138,7 +1111,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C pool.CalculateDescendants(it, allConflicting); } BOOST_FOREACH(CTxMemPool::txiter it, allConflicting) { - nConflictingFees += it->GetFee(); + nConflictingFees += it->GetModifiedFee(); nConflictingSize += it->GetTxSize(); } } else { @@ -1171,16 +1144,16 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C // The replacement must pay greater fees than the transactions it // replaces - if we did the bandwidth used by those conflicting // transactions would not be paid for. - if (nFees < nConflictingFees) + if (nModifiedFees < nConflictingFees) { return state.DoS(0, error("AcceptToMemoryPool: rejecting replacement %s, less fees than conflicting txs; %s < %s", - hash.ToString(), FormatMoney(nFees), FormatMoney(nConflictingFees)), + hash.ToString(), FormatMoney(nModifiedFees), FormatMoney(nConflictingFees)), REJECT_INSUFFICIENTFEE, "insufficient fee"); } // Finally in addition to paying more fees than the conflicts the // new transaction must pay for its own bandwidth. - CAmount nDeltaFees = nFees - nConflictingFees; + CAmount nDeltaFees = nModifiedFees - nConflictingFees; if (nDeltaFees < ::minRelayTxFee.GetFee(nSize)) { return state.DoS(0, @@ -1218,7 +1191,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState &state, const C LogPrint("mempool", "replacing tx %s with %s for %s BTC additional fees, %d delta bytes\n", it->GetTx().GetHash().ToString(), hash.ToString(), - FormatMoney(nFees - nConflictingFees), + FormatMoney(nModifiedFees - nConflictingFees), (int)nSize - (int)nConflictingSize); } pool.RemoveStaged(allConflicting); @@ -1680,9 +1653,9 @@ bool CheckInputs(const CTransaction& tx, CValidationState &state, const CCoinsVi // arguments; if so, don't trigger DoS protection to // avoid splitting the network between upgraded and // non-upgraded nodes. - CScriptCheck check(*coins, tx, i, + CScriptCheck check2(*coins, tx, i, flags & ~STANDARD_NOT_MANDATORY_VERIFY_FLAGS, cacheStore); - if (check()) + if (check2()) return state.Invalid(false, REJECT_NONSTANDARD, strprintf("non-mandatory-script-verify-flag (%s)", ScriptErrorString(check.GetScriptError()))); } // Failures of other flags indicate a transaction that is @@ -3005,7 +2978,7 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo } if (nSigOps > MAX_BLOCK_SIGOPS) return state.DoS(100, error("CheckBlock(): out-of-bounds SigOpCount"), - REJECT_INVALID, "bad-blk-sigops", true); + REJECT_INVALID, "bad-blk-sigops"); if (fCheckPOW && fCheckMerkleRoot) block.fChecked = true; @@ -4171,14 +4144,14 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam if (!ReadBlockFromDisk(block, (*mi).second, consensusParams)) assert(!"cannot load block from disk"); if (inv.type == MSG_BLOCK) - pfrom->PushMessage("block", block); + pfrom->PushMessage(NetMsgType::BLOCK, block); else // MSG_FILTERED_BLOCK) { LOCK(pfrom->cs_filter); if (pfrom->pfilter) { CMerkleBlock merkleBlock(block, *pfrom->pfilter); - pfrom->PushMessage("merkleblock", merkleBlock); + pfrom->PushMessage(NetMsgType::MERKLEBLOCK, merkleBlock); // CMerkleBlock just contains hashes, so also push any transactions in the block the client did not see // This avoids hurting performance by pointlessly requiring a round-trip // Note that there is currently no way for a node to request any single transactions we didn't send here - @@ -4187,8 +4160,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam // however we MUST always provide at least what the remote peer needs typedef std::pair<unsigned int, uint256> PairType; BOOST_FOREACH(PairType& pair, merkleBlock.vMatchedTxn) - if (!pfrom->setInventoryKnown.count(CInv(MSG_TX, pair.second))) - pfrom->PushMessage("tx", block.vtx[pair.first]); + pfrom->PushMessage(NetMsgType::TX, block.vtx[pair.first]); } // else // no response @@ -4202,7 +4174,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam // wait for other stuff first. vector<CInv> vInv; vInv.push_back(CInv(MSG_BLOCK, chainActive.Tip()->GetBlockHash())); - pfrom->PushMessage("inv", vInv); + pfrom->PushMessage(NetMsgType::INV, vInv); pfrom->hashContinue.SetNull(); } } @@ -4225,7 +4197,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam CDataStream ss(SER_NETWORK, PROTOCOL_VERSION); ss.reserve(1000); ss << tx; - pfrom->PushMessage("tx", ss); + pfrom->PushMessage(NetMsgType::TX, ss); pushed = true; } } @@ -4252,7 +4224,7 @@ void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParam // do that because they want to know about (and store and rebroadcast and // risk analyze) the dependencies of transactions relevant to them, without // having to download the entire memory pool. - pfrom->PushMessage("notfound", vNotFound); + pfrom->PushMessage(NetMsgType::NOTFOUND, vNotFound); } } @@ -4269,9 +4241,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, if (!(nLocalServices & NODE_BLOOM) && - (strCommand == "filterload" || - strCommand == "filteradd" || - strCommand == "filterclear")) + (strCommand == NetMsgType::FILTERLOAD || + strCommand == NetMsgType::FILTERADD || + strCommand == NetMsgType::FILTERCLEAR)) { if (pfrom->nVersion >= NO_BLOOM_VERSION) { Misbehaving(pfrom->GetId(), 100); @@ -4283,12 +4255,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - if (strCommand == "version") + if (strCommand == NetMsgType::VERSION) { // Each connection can only send one version message if (pfrom->nVersion != 0) { - pfrom->PushMessage("reject", strCommand, REJECT_DUPLICATE, string("Duplicate version message")); + pfrom->PushMessage(NetMsgType::REJECT, strCommand, REJECT_DUPLICATE, string("Duplicate version message")); Misbehaving(pfrom->GetId(), 1); return false; } @@ -4302,7 +4274,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, { // disconnect from peers older than this proto version LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion); - pfrom->PushMessage("reject", strCommand, REJECT_OBSOLETE, + pfrom->PushMessage(NetMsgType::REJECT, strCommand, REJECT_OBSOLETE, strprintf("Version must be %d or greater", MIN_PEER_PROTO_VERSION)); pfrom->fDisconnect = true; return false; @@ -4347,7 +4319,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, UpdatePreferredDownload(pfrom, State(pfrom->GetId())); // Change version - pfrom->PushMessage("verack"); + pfrom->PushMessage(NetMsgType::VERACK); pfrom->ssSend.SetVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); if (!pfrom->fInbound) @@ -4370,7 +4342,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // Get recent addresses if (pfrom->fOneShot || pfrom->nVersion >= CADDR_TIME_VERSION || addrman.size() < 1000) { - pfrom->PushMessage("getaddr"); + pfrom->PushMessage(NetMsgType::GETADDR); pfrom->fGetAddr = true; } addrman.Good(pfrom->addr); @@ -4414,7 +4386,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "verack") + else if (strCommand == NetMsgType::VERACK) { pfrom->SetRecvVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); @@ -4429,12 +4401,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // We send this to non-NODE NETWORK peers as well, because even // non-NODE NETWORK peers can announce blocks (such as pruning // nodes) - pfrom->PushMessage("sendheaders"); + pfrom->PushMessage(NetMsgType::SENDHEADERS); } } - else if (strCommand == "addr") + else if (strCommand == NetMsgType::ADDR) { vector<CAddress> vAddr; vRecv >> vAddr; @@ -4500,14 +4472,14 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, pfrom->fDisconnect = true; } - else if (strCommand == "sendheaders") + else if (strCommand == NetMsgType::SENDHEADERS) { LOCK(cs_main); State(pfrom->GetId())->fPreferHeaders = true; } - else if (strCommand == "inv") + else if (strCommand == NetMsgType::INV) { vector<CInv> vInv; vRecv >> vInv; @@ -4548,7 +4520,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // time the block arrives, the header chain leading up to it is already validated. Not // doing this will result in the received block being rejected as an orphan in case it is // not a direct successor. - pfrom->PushMessage("getheaders", chainActive.GetLocator(pindexBestHeader), inv.hash); + pfrom->PushMessage(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexBestHeader), inv.hash); CNodeState *nodestate = State(pfrom->GetId()); if (CanDirectFetch(chainparams.GetConsensus()) && nodestate->nBlocksInFlight < MAX_BLOCKS_IN_TRANSIT_PER_PEER) { @@ -4578,11 +4550,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } if (!vToFetch.empty()) - pfrom->PushMessage("getdata", vToFetch); + pfrom->PushMessage(NetMsgType::GETDATA, vToFetch); } - else if (strCommand == "getdata") + else if (strCommand == NetMsgType::GETDATA) { vector<CInv> vInv; vRecv >> vInv; @@ -4603,7 +4575,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "getblocks") + else if (strCommand == NetMsgType::GETBLOCKS) { CBlockLocator locator; uint256 hashStop; @@ -4647,7 +4619,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "getheaders") + else if (strCommand == NetMsgType::GETHEADERS) { CBlockLocator locator; uint256 hashStop; @@ -4692,11 +4664,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // headers message). In both cases it's safe to update // pindexBestHeaderSent to be our tip. nodestate->pindexBestHeaderSent = pindex ? pindex : chainActive.Tip(); - pfrom->PushMessage("headers", vHeaders); + pfrom->PushMessage(NetMsgType::HEADERS, vHeaders); } - else if (strCommand == "tx") + else if (strCommand == NetMsgType::TX) { // Stop processing the transaction early if // We are in blocks only mode and peer is either not whitelisted or whitelistalwaysrelay is off @@ -4825,7 +4797,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, pfrom->id, FormatStateMessage(state)); if (state.GetRejectCode() < REJECT_INTERNAL) // Never send AcceptToMemoryPool's internal codes over P2P - pfrom->PushMessage("reject", strCommand, state.GetRejectCode(), + pfrom->PushMessage(NetMsgType::REJECT, strCommand, (unsigned char)state.GetRejectCode(), state.GetRejectReason().substr(0, MAX_REJECT_MESSAGE_LENGTH), inv.hash); if (nDoS > 0) Misbehaving(pfrom->GetId(), nDoS); @@ -4834,7 +4806,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "headers" && !fImporting && !fReindex) // Ignore headers received while importing + else if (strCommand == NetMsgType::HEADERS && !fImporting && !fReindex) // Ignore headers received while importing { std::vector<CBlockHeader> headers; @@ -4882,7 +4854,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // TODO: optimize: if pindexLast is an ancestor of chainActive.Tip or pindexBestHeader, continue // from there instead. LogPrint("net", "more getheaders (%d) to end to peer=%d (startheight:%d)\n", pindexLast->nHeight, pfrom->id, pfrom->nStartingHeight); - pfrom->PushMessage("getheaders", chainActive.GetLocator(pindexLast), uint256()); + pfrom->PushMessage(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexLast), uint256()); } bool fCanDirectFetch = CanDirectFetch(chainparams.GetConsensus()); @@ -4927,7 +4899,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, pindexLast->GetBlockHash().ToString(), pindexLast->nHeight); } if (vGetData.size() > 0) { - pfrom->PushMessage("getdata", vGetData); + pfrom->PushMessage(NetMsgType::GETDATA, vGetData); } } } @@ -4935,7 +4907,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, CheckBlockIndex(chainparams.GetConsensus()); } - else if (strCommand == "block" && !fImporting && !fReindex) // Ignore blocks received while importing + else if (strCommand == NetMsgType::BLOCK && !fImporting && !fReindex) // Ignore blocks received while importing { CBlock block; vRecv >> block; @@ -4955,7 +4927,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, int nDoS; if (state.IsInvalid(nDoS)) { assert (state.GetRejectCode() < REJECT_INTERNAL); // Blocks are never rejected with internal reject codes - pfrom->PushMessage("reject", strCommand, state.GetRejectCode(), + pfrom->PushMessage(NetMsgType::REJECT, strCommand, (unsigned char)state.GetRejectCode(), state.GetRejectReason().substr(0, MAX_REJECT_MESSAGE_LENGTH), inv.hash); if (nDoS > 0) { LOCK(cs_main); @@ -4971,7 +4943,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // to users' AddrMan and later request them by sending getaddr messages. // Making nodes which are behind NAT and can only make outgoing connections ignore // the getaddr message mitigates the attack. - else if ((strCommand == "getaddr") && (pfrom->fInbound)) + else if ((strCommand == NetMsgType::GETADDR) && (pfrom->fInbound)) { pfrom->vAddrToSend.clear(); vector<CAddress> vAddr = addrman.GetAddr(); @@ -4980,8 +4952,14 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "mempool") + else if (strCommand == NetMsgType::MEMPOOL) { + if (CNode::OutboundTargetReached(false) && !pfrom->fWhitelisted) + { + LogPrint("net", "mempool request with bandwidth limit reached, disconnect peer=%d\n", pfrom->GetId()); + pfrom->fDisconnect = true; + return true; + } LOCK2(cs_main, pfrom->cs_filter); std::vector<uint256> vtxid; @@ -4989,23 +4967,24 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, vector<CInv> vInv; BOOST_FOREACH(uint256& hash, vtxid) { CInv inv(MSG_TX, hash); - CTransaction tx; - bool fInMemPool = mempool.lookup(hash, tx); - if (!fInMemPool) continue; // another thread removed since queryHashes, maybe... - if ((pfrom->pfilter && pfrom->pfilter->IsRelevantAndUpdate(tx)) || - (!pfrom->pfilter)) - vInv.push_back(inv); + if (pfrom->pfilter) { + CTransaction tx; + bool fInMemPool = mempool.lookup(hash, tx); + if (!fInMemPool) continue; // another thread removed since queryHashes, maybe... + if (!pfrom->pfilter->IsRelevantAndUpdate(tx)) continue; + } + vInv.push_back(inv); if (vInv.size() == MAX_INV_SZ) { - pfrom->PushMessage("inv", vInv); + pfrom->PushMessage(NetMsgType::INV, vInv); vInv.clear(); } } if (vInv.size() > 0) - pfrom->PushMessage("inv", vInv); + pfrom->PushMessage(NetMsgType::INV, vInv); } - else if (strCommand == "ping") + else if (strCommand == NetMsgType::PING) { if (pfrom->nVersion > BIP0031_VERSION) { @@ -5022,12 +5001,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // it, if the remote node sends a ping once per second and this node takes 5 // seconds to respond to each, the 5th ping the remote sends would appear to // return very quickly. - pfrom->PushMessage("pong", nonce); + pfrom->PushMessage(NetMsgType::PONG, nonce); } } - else if (strCommand == "pong") + else if (strCommand == NetMsgType::PONG) { int64_t pingUsecEnd = nTimeReceived; uint64_t nonce = 0; @@ -5084,7 +5063,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (fAlerts && strCommand == "alert") + else if (fAlerts && strCommand == NetMsgType::ALERT) { CAlert alert; vRecv >> alert; @@ -5115,7 +5094,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "filterload") + else if (strCommand == NetMsgType::FILTERLOAD) { CBloomFilter filter; vRecv >> filter; @@ -5134,7 +5113,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "filteradd") + else if (strCommand == NetMsgType::FILTERADD) { vector<unsigned char> vData; vRecv >> vData; @@ -5154,7 +5133,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "filterclear") + else if (strCommand == NetMsgType::FILTERCLEAR) { LOCK(pfrom->cs_filter); delete pfrom->pfilter; @@ -5163,7 +5142,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "reject") + else if (strCommand == NetMsgType::REJECT) { if (fDebug) { try { @@ -5173,7 +5152,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, ostringstream ss; ss << strMsg << " code " << itostr(ccode) << ": " << strReason; - if (strMsg == "block" || strMsg == "tx") + if (strMsg == NetMsgType::BLOCK || strMsg == NetMsgType::TX) { uint256 hash; vRecv >> hash; @@ -5281,7 +5260,7 @@ bool ProcessMessages(CNode* pfrom) } catch (const std::ios_base::failure& e) { - pfrom->PushMessage("reject", strCommand, REJECT_MALFORMED, string("error parsing message")); + pfrom->PushMessage(NetMsgType::REJECT, strCommand, REJECT_MALFORMED, string("error parsing message")); if (strstr(e.what(), "end of data")) { // Allow exceptions from under-length message on vRecv @@ -5320,7 +5299,7 @@ bool ProcessMessages(CNode* pfrom) } -bool SendMessages(CNode* pto, bool fSendTrickle) +bool SendMessages(CNode* pto) { const Consensus::Params& consensusParams = Params().GetConsensus(); { @@ -5349,11 +5328,11 @@ bool SendMessages(CNode* pto, bool fSendTrickle) pto->nPingUsecStart = GetTimeMicros(); if (pto->nVersion > BIP0031_VERSION) { pto->nPingNonceSent = nonce; - pto->PushMessage("ping", nonce); + pto->PushMessage(NetMsgType::PING, nonce); } else { // Peer is too old to support ping command with nonce, pong will never arrive. pto->nPingNonceSent = 0; - pto->PushMessage("ping"); + pto->PushMessage(NetMsgType::PING); } } @@ -5362,28 +5341,17 @@ bool SendMessages(CNode* pto, bool fSendTrickle) return true; // Address refresh broadcast - static int64_t nLastRebroadcast; - if (!IsInitialBlockDownload() && (GetTime() - nLastRebroadcast > 24 * 60 * 60)) - { - LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) - { - // Periodically clear addrKnown to allow refresh broadcasts - if (nLastRebroadcast) - pnode->addrKnown.reset(); - - // Rebroadcast our address - AdvertizeLocal(pnode); - } - if (!vNodes.empty()) - nLastRebroadcast = GetTime(); + int64_t nNow = GetTimeMicros(); + if (!IsInitialBlockDownload() && pto->nNextLocalAddrSend < nNow) { + AdvertizeLocal(pto); + pto->nNextLocalAddrSend = PoissonNextSend(nNow, AVG_LOCAL_ADDRESS_BROADCAST_INTERVAL); } // // Message: addr // - if (fSendTrickle) - { + if (pto->nNextAddrSend < nNow) { + pto->nNextAddrSend = PoissonNextSend(nNow, AVG_ADDRESS_BROADCAST_INTERVAL); vector<CAddress> vAddr; vAddr.reserve(pto->vAddrToSend.size()); BOOST_FOREACH(const CAddress& addr, pto->vAddrToSend) @@ -5395,14 +5363,14 @@ bool SendMessages(CNode* pto, bool fSendTrickle) // receiver rejects addr messages larger than 1000 if (vAddr.size() >= 1000) { - pto->PushMessage("addr", vAddr); + pto->PushMessage(NetMsgType::ADDR, vAddr); vAddr.clear(); } } } pto->vAddrToSend.clear(); if (!vAddr.empty()) - pto->PushMessage("addr", vAddr); + pto->PushMessage(NetMsgType::ADDR, vAddr); } CNodeState &state = *State(pto->GetId()); @@ -5422,7 +5390,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) } BOOST_FOREACH(const CBlockReject& reject, state.rejects) - pto->PushMessage("reject", (string)"block", reject.chRejectCode, reject.strRejectReason, reject.hashBlock); + pto->PushMessage(NetMsgType::REJECT, (string)NetMsgType::BLOCK, reject.chRejectCode, reject.strRejectReason, reject.hashBlock); state.rejects.clear(); // Start block sync @@ -5445,7 +5413,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) if (pindexStart->pprev) pindexStart = pindexStart->pprev; LogPrint("net", "initial getheaders (%d) to peer=%d (startheight:%d)\n", pindexStart->nHeight, pto->id, pto->nStartingHeight); - pto->PushMessage("getheaders", chainActive.GetLocator(pindexStart), uint256()); + pto->PushMessage(NetMsgType::GETHEADERS, chainActive.GetLocator(pindexStart), uint256()); } } @@ -5545,7 +5513,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) LogPrint("net", "%s: sending header %s to peer=%d\n", __func__, vHeaders.front().GetHash().ToString(), pto->id); } - pto->PushMessage("headers", vHeaders); + pto->PushMessage(NetMsgType::HEADERS, vHeaders); state.pindexBestHeaderSent = pBestIndex; } pto->vBlockHashesToAnnounce.clear(); @@ -5557,12 +5525,17 @@ bool SendMessages(CNode* pto, bool fSendTrickle) vector<CInv> vInv; vector<CInv> vInvWait; { + bool fSendTrickle = pto->fWhitelisted; + if (pto->nNextInvSend < nNow) { + fSendTrickle = true; + pto->nNextInvSend = PoissonNextSend(nNow, AVG_INVENTORY_BROADCAST_INTERVAL); + } LOCK(pto->cs_inventory); - vInv.reserve(pto->vInventoryToSend.size()); + vInv.reserve(std::min<size_t>(1000, pto->vInventoryToSend.size())); vInvWait.reserve(pto->vInventoryToSend.size()); BOOST_FOREACH(const CInv& inv, pto->vInventoryToSend) { - if (pto->setInventoryKnown.count(inv)) + if (inv.type == MSG_TX && pto->filterInventoryKnown.contains(inv.hash)) continue; // trickle out tx inv to protect privacy @@ -5583,24 +5556,22 @@ bool SendMessages(CNode* pto, bool fSendTrickle) } } - // returns true if wasn't already contained in the set - if (pto->setInventoryKnown.insert(inv).second) + pto->filterInventoryKnown.insert(inv.hash); + + vInv.push_back(inv); + if (vInv.size() >= 1000) { - vInv.push_back(inv); - if (vInv.size() >= 1000) - { - pto->PushMessage("inv", vInv); - vInv.clear(); - } + pto->PushMessage(NetMsgType::INV, vInv); + vInv.clear(); } } pto->vInventoryToSend = vInvWait; } if (!vInv.empty()) - pto->PushMessage("inv", vInv); + pto->PushMessage(NetMsgType::INV, vInv); // Detect whether we're stalling - int64_t nNow = GetTimeMicros(); + nNow = GetTimeMicros(); if (!pto->fDisconnect && state.nStallingSince && state.nStallingSince < nNow - 1000000 * BLOCK_STALLING_TIMEOUT) { // Stalling only triggers when the block download window cannot move. During normal steady state, // the download window should be much larger than the to-be-downloaded set of blocks, so disconnection @@ -5666,7 +5637,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) vGetData.push_back(inv); if (vGetData.size() >= 1000) { - pto->PushMessage("getdata", vGetData); + pto->PushMessage(NetMsgType::GETDATA, vGetData); vGetData.clear(); } } else { @@ -5676,7 +5647,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) pto->mapAskFor.erase(pto->mapAskFor.begin()); } if (!vGetData.empty()) - pto->PushMessage("getdata", vGetData); + pto->PushMessage(NetMsgType::GETDATA, vGetData); } return true; diff --git a/src/main.h b/src/main.h index bcd6ef1ab8..cadd281c89 100644 --- a/src/main.h +++ b/src/main.h @@ -87,6 +87,14 @@ static const unsigned int DATABASE_WRITE_INTERVAL = 60 * 60; static const unsigned int DATABASE_FLUSH_INTERVAL = 24 * 60 * 60; /** Maximum length of reject messages. */ static const unsigned int MAX_REJECT_MESSAGE_LENGTH = 111; +/** Average delay between local address broadcasts in seconds. */ +static const unsigned int AVG_LOCAL_ADDRESS_BROADCAST_INTERVAL = 24 * 24 * 60; +/** Average delay between peer address broadcasts in seconds. */ +static const unsigned int AVG_ADDRESS_BROADCAST_INTERVAL = 30; +/** Average delay between trickled inventory broadcasts in seconds. + * Blocks, whitelisted receivers, and a random 25% of transactions bypass this. */ +static const unsigned int AVG_INVENTORY_BROADCAST_INTERVAL = 5; + static const unsigned int DEFAULT_LIMITFREERELAY = 15; static const bool DEFAULT_RELAYPRIORITY = true; @@ -197,9 +205,8 @@ bool ProcessMessages(CNode* pfrom); * Send queued protocol messages to be sent to a give node. * * @param[in] pto The node which we are sending messages to. - * @param[in] fSendTrickle When true send the trickled data, otherwise trickle the data until true. */ -bool SendMessages(CNode* pto, bool fSendTrickle); +bool SendMessages(CNode* pto); /** Run an instance of the script checking thread */ void ThreadScriptCheck(); /** Try to detect Partition (network isolation) attacks against us */ @@ -293,8 +300,6 @@ struct CDiskTxPos : public CDiskBlockPos }; -CAmount GetMinRelayFee(const CTransaction& tx, unsigned int nBytes, bool fAllowFree); - /** * Count ECDSA signature operations the old-fashioned (pre-0.6) way * @return number of sigops this transaction's outputs will produce when spent diff --git a/src/mruset.h b/src/mruset.h deleted file mode 100644 index 398aa173bf..0000000000 --- a/src/mruset.h +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) 2012-2015 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef BITCOIN_MRUSET_H -#define BITCOIN_MRUSET_H - -#include <set> -#include <vector> -#include <utility> - -/** STL-like set container that only keeps the most recent N elements. */ -template <typename T> -class mruset -{ -public: - typedef T key_type; - typedef T value_type; - typedef typename std::set<T>::iterator iterator; - typedef typename std::set<T>::const_iterator const_iterator; - typedef typename std::set<T>::size_type size_type; - -protected: - std::set<T> set; - std::vector<iterator> order; - size_type first_used; - size_type first_unused; - const size_type nMaxSize; - -public: - mruset(size_type nMaxSizeIn = 1) : nMaxSize(nMaxSizeIn) { clear(); } - iterator begin() const { return set.begin(); } - iterator end() const { return set.end(); } - size_type size() const { return set.size(); } - bool empty() const { return set.empty(); } - iterator find(const key_type& k) const { return set.find(k); } - size_type count(const key_type& k) const { return set.count(k); } - void clear() - { - set.clear(); - order.assign(nMaxSize, set.end()); - first_used = 0; - first_unused = 0; - } - bool inline friend operator==(const mruset<T>& a, const mruset<T>& b) { return a.set == b.set; } - bool inline friend operator==(const mruset<T>& a, const std::set<T>& b) { return a.set == b; } - bool inline friend operator<(const mruset<T>& a, const mruset<T>& b) { return a.set < b.set; } - std::pair<iterator, bool> insert(const key_type& x) - { - std::pair<iterator, bool> ret = set.insert(x); - if (ret.second) { - if (set.size() == nMaxSize + 1) { - set.erase(order[first_used]); - order[first_used] = set.end(); - if (++first_used == nMaxSize) first_used = 0; - } - order[first_unused] = ret.first; - if (++first_unused == nMaxSize) first_unused = 0; - } - return ret; - } - size_type max_size() const { return nMaxSize; } -}; - -#endif // BITCOIN_MRUSET_H diff --git a/src/net.cpp b/src/net.cpp index 48a181dee7..84582484e5 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -36,6 +36,8 @@ #include <boost/filesystem.hpp> #include <boost/thread.hpp> +#include <math.h> + // Dump addresses to peers.dat every 15 minutes (900s) #define DUMP_ADDRESSES_INTERVAL 900 @@ -67,6 +69,8 @@ namespace { }; } +const static std::string NET_MESSAGE_COMMAND_OTHER = "*other*"; + // // Global state variables // @@ -459,7 +463,7 @@ void CNode::PushVersion() LogPrint("net", "send version message: version %d, blocks=%d, us=%s, them=%s, peer=%d\n", PROTOCOL_VERSION, nBestHeight, addrMe.ToString(), addrYou.ToString(), id); else LogPrint("net", "send version message: version %d, blocks=%d, us=%s, peer=%d\n", PROTOCOL_VERSION, nBestHeight, addrMe.ToString(), id); - PushMessage("version", PROTOCOL_VERSION, nLocalServices, nTime, addrYou, addrMe, + PushMessage(NetMsgType::VERSION, PROTOCOL_VERSION, nLocalServices, nTime, addrYou, addrMe, nLocalHostNonce, strSubVersion, nBestHeight, !GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY)); } @@ -627,7 +631,9 @@ void CNode::copyStats(CNodeStats &stats) X(fInbound); X(nStartingHeight); X(nSendBytes); + X(mapSendBytesPerMsgCmd); X(nRecvBytes); + X(mapRecvBytesPerMsgCmd); X(fWhitelisted); // It is common for nodes with good ping times to suddenly become lagged, @@ -682,6 +688,15 @@ bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes) nBytes -= handled; if (msg.complete()) { + + //store received bytes per message command + //to prevent a memory DOS, only allow valid commands + mapMsgCmdSize::iterator i = mapRecvBytesPerMsgCmd.find(msg.hdr.pchCommand); + if (i == mapRecvBytesPerMsgCmd.end()) + i = mapRecvBytesPerMsgCmd.find(NET_MESSAGE_COMMAND_OTHER); + assert(i != mapRecvBytesPerMsgCmd.end()); + i->second += msg.hdr.nMessageSize + CMessageHeader::HEADER_SIZE; + msg.nTime = GetTimeMicros(); messageHandlerCondition.notify_one(); } @@ -1355,7 +1370,7 @@ void ThreadMapPort() LogPrintf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n", port, port, lanaddr, r, strupnperror(r)); else - LogPrintf("UPnP Port Mapping successful.\n");; + LogPrintf("UPnP Port Mapping successful.\n"); MilliSleep(20*60*1000); // Refresh every 20 minutes } @@ -1720,11 +1735,6 @@ void ThreadMessageHandler() } } - // Poll the connected nodes for messages - CNode* pnodeTrickle = NULL; - if (!vNodesCopy.empty()) - pnodeTrickle = vNodesCopy[GetRand(vNodesCopy.size())]; - bool fSleep = true; BOOST_FOREACH(CNode* pnode, vNodesCopy) @@ -1755,7 +1765,7 @@ void ThreadMessageHandler() { TRY_LOCK(pnode->cs_vSend, lockSend); if (lockSend) - g_signals.SendMessages(pnode, pnode == pnodeTrickle || pnode->fWhitelisted); + g_signals.SendMessages(pnode); } boost::this_thread::interruption_point(); } @@ -2342,7 +2352,7 @@ unsigned int SendBufferSize() { return 1000*GetArg("-maxsendbuffer", DEFAULT_MAX CNode::CNode(SOCKET hSocketIn, const CAddress& addrIn, const std::string& addrNameIn, bool fInboundIn) : ssSend(SER_NETWORK, INIT_PROTO_VERSION), addrKnown(5000, 0.001), - setInventoryKnown(SendBufferSize() / 1000) + filterInventoryKnown(50000, 0.000001) { nServices = 0; hSocket = hSocketIn; @@ -2369,7 +2379,11 @@ CNode::CNode(SOCKET hSocketIn, const CAddress& addrIn, const std::string& addrNa nSendOffset = 0; hashContinue = uint256(); nStartingHeight = -1; + filterInventoryKnown.reset(); fGetAddr = false; + nNextLocalAddrSend = 0; + nNextAddrSend = 0; + nNextInvSend = 0; fRelayTxes = false; pfilter = new CBloomFilter(); nPingNonceSent = 0; @@ -2377,6 +2391,9 @@ CNode::CNode(SOCKET hSocketIn, const CAddress& addrIn, const std::string& addrNa nPingUsecTime = 0; fPingQueued = false; nMinPingUsecTime = std::numeric_limits<int64_t>::max(); + BOOST_FOREACH(const std::string &msg, getAllNetMessageTypes()) + mapRecvBytesPerMsgCmd[msg] = 0; + mapRecvBytesPerMsgCmd[NET_MESSAGE_COMMAND_OTHER] = 0; { LOCK(cs_nLastNodeId); @@ -2456,7 +2473,7 @@ void CNode::AbortMessage() UNLOCK_FUNCTION(cs_vSend) LogPrint("net", "(aborted)\n"); } -void CNode::EndMessage() UNLOCK_FUNCTION(cs_vSend) +void CNode::EndMessage(const char* pszCommand) UNLOCK_FUNCTION(cs_vSend) { // The -*messagestest options are intentionally not documented in the help message, // since they are only used during development to debug the networking code and are @@ -2479,6 +2496,9 @@ void CNode::EndMessage() UNLOCK_FUNCTION(cs_vSend) unsigned int nSize = ssSend.size() - CMessageHeader::HEADER_SIZE; WriteLE32((uint8_t*)&ssSend[CMessageHeader::MESSAGE_SIZE_OFFSET], nSize); + //log total amount of bytes per command + mapSendBytesPerMsgCmd[std::string(pszCommand)] += nSize + CMessageHeader::HEADER_SIZE; + // Set the checksum uint256 hash = Hash(ssSend.begin() + CMessageHeader::HEADER_SIZE, ssSend.end()); unsigned int nChecksum = 0; @@ -2614,3 +2634,7 @@ void DumpBanlist() LogPrint("net", "Flushed %d banned node ips/subnets to banlist.dat %dms\n", banmap.size(), GetTimeMillis() - nStart); } + +int64_t PoissonNextSend(int64_t nNow, int average_interval_seconds) { + return nNow + (int64_t)(log1p(GetRand(1ULL << 48) * -0.0000000000000035527136788 /* -1/2^48 */) * average_interval_seconds * -1000000.0 + 0.5); +} @@ -9,7 +9,6 @@ #include "bloom.h" #include "compat.h" #include "limitedmap.h" -#include "mruset.h" #include "netbase.h" #include "protocol.h" #include "random.h" @@ -114,7 +113,7 @@ struct CNodeSignals { boost::signals2::signal<int ()> GetHeight; boost::signals2::signal<bool (CNode*), CombinerAll> ProcessMessages; - boost::signals2::signal<bool (CNode*, bool), CombinerAll> SendMessages; + boost::signals2::signal<bool (CNode*), CombinerAll> SendMessages; boost::signals2::signal<void (NodeId, const CNode*)> InitializeNode; boost::signals2::signal<void (NodeId)> FinalizeNode; }; @@ -183,6 +182,7 @@ struct LocalServiceInfo { extern CCriticalSection cs_mapLocalHost; extern std::map<CNetAddr, LocalServiceInfo> mapLocalHost; +typedef std::map<std::string, uint64_t> mapMsgCmdSize; //command, total bytes class CNodeStats { @@ -200,7 +200,9 @@ public: bool fInbound; int nStartingHeight; uint64_t nSendBytes; + mapMsgCmdSize mapSendBytesPerMsgCmd; uint64_t nRecvBytes; + mapMsgCmdSize mapRecvBytesPerMsgCmd; bool fWhitelisted; double dPingTime; double dPingWait; @@ -374,6 +376,9 @@ protected: static std::vector<CSubNet> vWhitelistedRange; static CCriticalSection cs_vWhitelistedRange; + mapMsgCmdSize mapSendBytesPerMsgCmd; + mapMsgCmdSize mapRecvBytesPerMsgCmd; + // Basic fuzz-testing void Fuzz(int nChance); // modifies ssSend @@ -386,13 +391,16 @@ public: CRollingBloomFilter addrKnown; bool fGetAddr; std::set<uint256> setKnown; + int64_t nNextAddrSend; + int64_t nNextLocalAddrSend; // inventory based relay - mruset<CInv> setInventoryKnown; + CRollingBloomFilter filterInventoryKnown; std::vector<CInv> vInventoryToSend; CCriticalSection cs_inventory; std::set<uint256> setAskFor; std::multimap<int64_t, CInv> mapAskFor; + int64_t nNextInvSend; // Used for headers announcements - unfiltered blocks to relay // Also protected by cs_inventory std::vector<uint256> vBlockHashesToAnnounce; @@ -497,7 +505,7 @@ public: { { LOCK(cs_inventory); - setInventoryKnown.insert(inv); + filterInventoryKnown.insert(inv.hash); } } @@ -505,8 +513,9 @@ public: { { LOCK(cs_inventory); - if (!setInventoryKnown.count(inv)) - vInventoryToSend.push_back(inv); + if (inv.type == MSG_TX && filterInventoryKnown.contains(inv.hash)) + return; + vInventoryToSend.push_back(inv); } } @@ -525,7 +534,7 @@ public: void AbortMessage() UNLOCK_FUNCTION(cs_vSend); // TODO: Document the precondition of this function. Is cs_vSend locked? - void EndMessage() UNLOCK_FUNCTION(cs_vSend); + void EndMessage(const char* pszCommand) UNLOCK_FUNCTION(cs_vSend); void PushVersion(); @@ -535,7 +544,7 @@ public: try { BeginMessage(pszCommand); - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -551,7 +560,7 @@ public: { BeginMessage(pszCommand); ssSend << a1; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -567,7 +576,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -583,7 +592,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2 << a3; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -599,7 +608,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2 << a3 << a4; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -615,7 +624,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2 << a3 << a4 << a5; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -631,7 +640,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2 << a3 << a4 << a5 << a6; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -647,7 +656,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2 << a3 << a4 << a5 << a6 << a7; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -663,7 +672,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2 << a3 << a4 << a5 << a6 << a7 << a8; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -679,7 +688,7 @@ public: { BeginMessage(pszCommand); ssSend << a1 << a2 << a3 << a4 << a5 << a6 << a7 << a8 << a9; - EndMessage(); + EndMessage(pszCommand); } catch (...) { @@ -785,4 +794,7 @@ public: void DumpBanlist(); +/** Return a timestamp in the future (in microseconds) for exponentially distributed events. */ +int64_t PoissonNextSend(int64_t nNow, int average_interval_seconds); + #endif // BITCOIN_NET_H diff --git a/src/protocol.cpp b/src/protocol.cpp index 3e21c53224..c1c7c0b96b 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -12,13 +12,67 @@ # include <arpa/inet.h> #endif +namespace NetMsgType { +const char *VERSION="version"; +const char *VERACK="verack"; +const char *ADDR="addr"; +const char *INV="inv"; +const char *GETDATA="getdata"; +const char *MERKLEBLOCK="merkleblock"; +const char *GETBLOCKS="getblocks"; +const char *GETHEADERS="getheaders"; +const char *TX="tx"; +const char *HEADERS="headers"; +const char *BLOCK="block"; +const char *GETADDR="getaddr"; +const char *MEMPOOL="mempool"; +const char *PING="ping"; +const char *PONG="pong"; +const char *ALERT="alert"; +const char *NOTFOUND="notfound"; +const char *FILTERLOAD="filterload"; +const char *FILTERADD="filteradd"; +const char *FILTERCLEAR="filterclear"; +const char *REJECT="reject"; +const char *SENDHEADERS="sendheaders"; +}; + static const char* ppszTypeName[] = { - "ERROR", - "tx", - "block", - "filtered block" + "ERROR", // Should never occur + NetMsgType::TX, + NetMsgType::BLOCK, + "filtered block" // Should never occur +}; + +/** All known message types. Keep this in the same order as the list of + * messages above and in protocol.h. + */ +const static std::string allNetMessageTypes[] = { + NetMsgType::VERSION, + NetMsgType::VERACK, + NetMsgType::ADDR, + NetMsgType::INV, + NetMsgType::GETDATA, + NetMsgType::MERKLEBLOCK, + NetMsgType::GETBLOCKS, + NetMsgType::GETHEADERS, + NetMsgType::TX, + NetMsgType::HEADERS, + NetMsgType::BLOCK, + NetMsgType::GETADDR, + NetMsgType::MEMPOOL, + NetMsgType::PING, + NetMsgType::PONG, + NetMsgType::ALERT, + NetMsgType::NOTFOUND, + NetMsgType::FILTERLOAD, + NetMsgType::FILTERADD, + NetMsgType::FILTERCLEAR, + NetMsgType::REJECT, + NetMsgType::SENDHEADERS }; +const static std::vector<std::string> allNetMessageTypesVec(allNetMessageTypes, allNetMessageTypes+ARRAYLEN(allNetMessageTypes)); CMessageHeader::CMessageHeader(const MessageStartChars& pchMessageStartIn) { @@ -140,3 +194,8 @@ std::string CInv::ToString() const { return strprintf("%s %s", GetCommand(), hash.ToString()); } + +const std::vector<std::string> &getAllNetMessageTypes() +{ + return allNetMessageTypesVec; +} diff --git a/src/protocol.h b/src/protocol.h index dce298b44f..c8b8d20ead 100644 --- a/src/protocol.h +++ b/src/protocol.h @@ -65,6 +65,165 @@ public: unsigned int nChecksum; }; +/** + * Bitcoin protocol message types. When adding new message types, don't forget + * to update allNetMessageTypes in protocol.cpp. + */ +namespace NetMsgType { + +/** + * The version message provides information about the transmitting node to the + * receiving node at the beginning of a connection. + * @see https://bitcoin.org/en/developer-reference#version + */ +extern const char *VERSION; +/** + * The verack message acknowledges a previously-received version message, + * informing the connecting node that it can begin to send other messages. + * @see https://bitcoin.org/en/developer-reference#verack + */ +extern const char *VERACK; +/** + * The addr (IP address) message relays connection information for peers on the + * network. + * @see https://bitcoin.org/en/developer-reference#addr + */ +extern const char *ADDR; +/** + * The inv message (inventory message) transmits one or more inventories of + * objects known to the transmitting peer. + * @see https://bitcoin.org/en/developer-reference#inv + */ +extern const char *INV; +/** + * The getdata message requests one or more data objects from another node. + * @see https://bitcoin.org/en/developer-reference#getdata + */ +extern const char *GETDATA; +/** + * The merkleblock message is a reply to a getdata message which requested a + * block using the inventory type MSG_MERKLEBLOCK. + * @since protocol version 70001 as described by BIP37. + * @see https://bitcoin.org/en/developer-reference#merkleblock + */ +extern const char *MERKLEBLOCK; +/** + * The getblocks message requests an inv message that provides block header + * hashes starting from a particular point in the block chain. + * @see https://bitcoin.org/en/developer-reference#getblocks + */ +extern const char *GETBLOCKS; +/** + * The getheaders message requests a headers message that provides block + * headers starting from a particular point in the block chain. + * @since protocol version 31800. + * @see https://bitcoin.org/en/developer-reference#getheaders + */ +extern const char *GETHEADERS; +/** + * The tx message transmits a single transaction. + * @see https://bitcoin.org/en/developer-reference#tx + */ +extern const char *TX; +/** + * The headers message sends one or more block headers to a node which + * previously requested certain headers with a getheaders message. + * @since protocol version 31800. + * @see https://bitcoin.org/en/developer-reference#headers + */ +extern const char *HEADERS; +/** + * The block message transmits a single serialized block. + * @see https://bitcoin.org/en/developer-reference#block + */ +extern const char *BLOCK; +/** + * The getaddr message requests an addr message from the receiving node, + * preferably one with lots of IP addresses of other receiving nodes. + * @see https://bitcoin.org/en/developer-reference#getaddr + */ +extern const char *GETADDR; +/** + * The mempool message requests the TXIDs of transactions that the receiving + * node has verified as valid but which have not yet appeared in a block. + * @since protocol version 60002. + * @see https://bitcoin.org/en/developer-reference#mempool + */ +extern const char *MEMPOOL; +/** + * The ping message is sent periodically to help confirm that the receiving + * peer is still connected. + * @see https://bitcoin.org/en/developer-reference#ping + */ +extern const char *PING; +/** + * The pong message replies to a ping message, proving to the pinging node that + * the ponging node is still alive. + * @since protocol version 60001 as described by BIP31. + * @see https://bitcoin.org/en/developer-reference#pong + */ +extern const char *PONG; +/** + * The alert message warns nodes of problems that may affect them or the rest + * of the network. + * @since protocol version 311. + * @see https://bitcoin.org/en/developer-reference#alert + */ +extern const char *ALERT; +/** + * The notfound message is a reply to a getdata message which requested an + * object the receiving node does not have available for relay. + * @ince protocol version 70001. + * @see https://bitcoin.org/en/developer-reference#notfound + */ +extern const char *NOTFOUND; +/** + * The filterload message tells the receiving peer to filter all relayed + * transactions and requested merkle blocks through the provided filter. + * @since protocol version 70001 as described by BIP37. + * Only available with service bit NODE_BLOOM since protocol version + * 70011 as described by BIP111. + * @see https://bitcoin.org/en/developer-reference#filterload + */ +extern const char *FILTERLOAD; +/** + * The filteradd message tells the receiving peer to add a single element to a + * previously-set bloom filter, such as a new public key. + * @since protocol version 70001 as described by BIP37. + * Only available with service bit NODE_BLOOM since protocol version + * 70011 as described by BIP111. + * @see https://bitcoin.org/en/developer-reference#filteradd + */ +extern const char *FILTERADD; +/** + * The filterclear message tells the receiving peer to remove a previously-set + * bloom filter. + * @since protocol version 70001 as described by BIP37. + * Only available with service bit NODE_BLOOM since protocol version + * 70011 as described by BIP111. + * @see https://bitcoin.org/en/developer-reference#filterclear + */ +extern const char *FILTERCLEAR; +/** + * The reject message informs the receiving node that one of its previous + * messages has been rejected. + * @since protocol version 70002 as described by BIP61. + * @see https://bitcoin.org/en/developer-reference#reject + */ +extern const char *REJECT; +/** + * Indicates that a node prefers to receive new block announcements via a + * "headers" message rather than an "inv". + * @since protocol version 70012 as described by BIP130. + * @see https://bitcoin.org/en/developer-reference#sendheaders + */ +extern const char *SENDHEADERS; + +}; + +/* Get a vector of all valid message types (see above) */ +const std::vector<std::string> &getAllNetMessageTypes(); + /** nServices flags */ enum { // NODE_NETWORK means that the node is capable of serving the block chain. It is currently diff --git a/src/qt/bantablemodel.cpp b/src/qt/bantablemodel.cpp index 33792af5ba..d95106b5ac 100644 --- a/src/qt/bantablemodel.cpp +++ b/src/qt/bantablemodel.cpp @@ -103,7 +103,7 @@ int BanTableModel::rowCount(const QModelIndex &parent) const int BanTableModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent); - return columns.length();; + return columns.length(); } QVariant BanTableModel::data(const QModelIndex &index, int role) const @@ -178,4 +178,4 @@ bool BanTableModel::shouldShow() if (priv->size() > 0) return true; return false; -}
\ No newline at end of file +} diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index de5799130b..6490057897 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -111,13 +111,6 @@ QString BitcoinUnits::format(int unit, const CAmount& nIn, bool fPlus, Separator } -// TODO: Review all remaining calls to BitcoinUnits::formatWithUnit to -// TODO: determine whether the output is used in a plain text context -// TODO: or an HTML context (and replace with -// TODO: BtcoinUnits::formatHtmlWithUnit in the latter case). Hopefully -// TODO: there aren't instances where the result could be used in -// TODO: either context. - // NOTE: Using formatWithUnit in an HTML context risks wrapping // quantities at the thousands separator. More subtly, it also results // in a standard space rather than a thin space, due to a bug in Qt's diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h index 252942e47b..fda067b0b8 100644 --- a/src/qt/bitcoinunits.h +++ b/src/qt/bitcoinunits.h @@ -88,6 +88,7 @@ public: static QString format(int unit, const CAmount& amount, bool plussign=false, SeparatorStyle separators=separatorStandard); //! Format as string (with unit) static QString formatWithUnit(int unit, const CAmount& amount, bool plussign=false, SeparatorStyle separators=separatorStandard); + //! Format as HTML string (with unit) static QString formatHtmlWithUnit(int unit, const CAmount& amount, bool plussign=false, SeparatorStyle separators=separatorStandard); //! Parse string to coin amount static bool parse(int unit, const QString &value, CAmount *val_out); diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 63e9043294..a5c2b6d421 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -130,7 +130,7 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *platformStyle, QWidget ui->treeWidget->setColumnWidth(COLUMN_DATE, 110); ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 100); ui->treeWidget->setColumnWidth(COLUMN_PRIORITY, 100); - ui->treeWidget->setColumnHidden(COLUMN_TXHASH, true); // store transacton hash in this column, but don't show it + ui->treeWidget->setColumnHidden(COLUMN_TXHASH, true); // store transaction hash in this column, but don't show it ui->treeWidget->setColumnHidden(COLUMN_VOUT_INDEX, true); // store vout index in this column, but don't show it ui->treeWidget->setColumnHidden(COLUMN_AMOUNT_INT64, true); // store amount int64 in this column, but don't show it ui->treeWidget->setColumnHidden(COLUMN_PRIORITY_INT64, true); // store priority int64 in this column, but don't show it @@ -411,7 +411,7 @@ void CoinControlDialog::viewItemChanged(QTreeWidgetItem* item, int column) // todo: this is a temporary qt5 fix: when clicking a parent node in tree mode, the parent node // including all children are partially selected. But the parent node should be fully selected // as well as the children. Children should never be partially selected in the first place. - // Please remove this ugly fix, once the bug is solved upstream. + // Should be fixed in Qt5.4 and above. https://bugreports.qt.io/browse/QTBUG-43473 #if QT_VERSION >= 0x050000 else if (column == COLUMN_CHECKBOX && item->childCount() > 0) { @@ -637,14 +637,14 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) // tool tips QString toolTip1 = tr("This label turns red if the transaction size is greater than 1000 bytes.") + "<br /><br />"; - toolTip1 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))) + "<br /><br />"; + toolTip1 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))) + "<br /><br />"; toolTip1 += tr("Can vary +/- 1 byte per input."); QString toolTip2 = tr("Transactions with higher priority are more likely to get included into a block.") + "<br /><br />"; toolTip2 += tr("This label turns red if the priority is smaller than \"medium\".") + "<br /><br />"; - toolTip2 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))); + toolTip2 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))); - QString toolTip3 = tr("This label turns red if any recipient receives an amount smaller than %1.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, ::minRelayTxFee.GetFee(546))); + QString toolTip3 = tr("This label turns red if any recipient receives an amount smaller than the current dust threshold."); // how many satoshis the estimated fee can vary per byte we guess wrong double dFeeVary; diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 85d53cfa69..ff4320b36a 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -62,6 +62,10 @@ #include <QUrlQuery> #endif +#if QT_VERSION >= 0x50200 +#include <QFontDatabase> +#endif + #if BOOST_FILESYSTEM_VERSION >= 3 static boost::filesystem::detail::utf8_codecvt_facet utf8; #endif @@ -90,6 +94,9 @@ QString dateTimeStr(qint64 nTime) QFont fixedPitchFont() { +#if QT_VERSION >= 0x50200 + return QFontDatabase::systemFont(QFontDatabase::FixedFont); +#else QFont font("Monospace"); #if QT_VERSION >= 0x040800 font.setStyleHint(QFont::Monospace); @@ -97,6 +104,7 @@ QFont fixedPitchFont() font.setStyleHint(QFont::TypeWriter); #endif return font; +#endif } void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent) @@ -217,7 +225,7 @@ QString formatBitcoinURI(const SendCoinsRecipient &info) if (!info.message.isEmpty()) { - QString msg(QUrl::toPercentEncoding(info.message));; + QString msg(QUrl::toPercentEncoding(info.message)); ret += QString("%1message=%2").arg(paramCount == 0 ? "?" : "&").arg(msg); paramCount++; } @@ -898,6 +906,9 @@ QString formatServicesStr(quint64 mask) case NODE_GETUTXO: strList.append("GETUTXO"); break; + case NODE_BLOOM: + strList.append("BLOOM"); + break; default: strList.append(QString("%1[%2]").arg("UNKNOWN").arg(check)); } diff --git a/src/qt/locale/bitcoin_af_ZA.ts b/src/qt/locale/bitcoin_af_ZA.ts index d55d2f58ac..d77aa77f8e 100644 --- a/src/qt/locale/bitcoin_af_ZA.ts +++ b/src/qt/locale/bitcoin_af_ZA.ts @@ -215,6 +215,14 @@ <context> <name>EditAddressDialog</name> <message> + <source>&Label</source> + <translation>&Etiket</translation> + </message> + <message> + <source>&Address</source> + <translation>&Adres</translation> + </message> + <message> <source>New receiving address</source> <translation>Nuwe ontvangende adres</translation> </message> @@ -261,6 +269,10 @@ <source>Options</source> <translation>Opsies</translation> </message> + <message> + <source>W&allet</source> + <translation>&Beursie</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -295,6 +307,14 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>&Bedrag:</translation> + </message> + <message> + <source>&Message:</source> + <translation>&Boodskap:</translation> + </message> + <message> <source>Copy amount</source> <translation>Kopieer bedrag</translation> </message> @@ -348,10 +368,18 @@ <translation>Stuur Munstukke</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Onvoldoende fondse</translation> + </message> + <message> <source>Amount:</source> <translation>Bedrag:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Transaksie fooi:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Stuur aan vele ontvangers op eens</translation> </message> @@ -375,6 +403,10 @@ <context> <name>SendCoinsEntry</name> <message> + <source>A&mount:</source> + <translation>&Bedrag:</translation> + </message> + <message> <source>Message:</source> <translation>Boodskap:</translation> </message> @@ -454,6 +486,10 @@ <translation>Transaksie ID</translation> </message> <message> + <source>Transaction</source> + <translation>Transaksie</translation> + </message> + <message> <source>Amount</source> <translation>Bedrag</translation> </message> diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts index 8a54f15791..88ce05bbd5 100644 --- a/src/qt/locale/bitcoin_ar.ts +++ b/src/qt/locale/bitcoin_ar.ts @@ -93,7 +93,11 @@ <source>Exporting Failed</source> <translation>فشل التصدير</translation> </message> - </context> + <message> + <source>There was an error trying to save the address list to %1. Please try again.</source> + <translation>لقد حدث خطأ أثناء حفظ قائمة العناوين إلى %1. يرجى المحاولة مرة أخرى.</translation> + </message> +</context> <context> <name>AddressTableModel</name> <message> @@ -334,6 +338,10 @@ <translation>محفظة</translation> </message> <message> + <source>&Send</source> + <translation>&ارسل</translation> + </message> + <message> <source>&Receive</source> <translation>&استقبل</translation> </message> @@ -378,6 +386,10 @@ <translation>حول bitcoin core</translation> </message> <message> + <source>%1 and %2</source> + <translation>%1 و %2</translation> + </message> + <message> <source>Error</source> <translation>خطأ</translation> </message> @@ -779,6 +791,10 @@ </context> <context> <name>PaymentServer</name> + <message> + <source>Bad response from server %1</source> + <translation>استجابة سيئة من الملقم %1</translation> + </message> </context> <context> <name>PeerTableModel</name> @@ -790,6 +806,14 @@ <translation>المبلغ</translation> </message> <message> + <source>%1 h</source> + <translation>%1 ساعة</translation> + </message> + <message> + <source>%1 m</source> + <translation>%1 دقيقة</translation> + </message> + <message> <source>N/A</source> <translation>غير معروف</translation> </message> @@ -832,6 +856,10 @@ <translation>المعلومات</translation> </message> <message> + <source>Debug window</source> + <translation>نافذة المعالجة</translation> + </message> + <message> <source>General</source> <translation>عام</translation> </message> @@ -908,6 +936,22 @@ <translation>استخدم اسهم الاعلى و الاسفل للتنقل بين السجلات و <b>Ctrl-L</b> لمسح الشاشة</translation> </message> <message> + <source>%1 B</source> + <translation>%1 بايت</translation> + </message> + <message> + <source>%1 KB</source> + <translation>%1 كيلو بايت</translation> + </message> + <message> + <source>%1 MB</source> + <translation>%1 ميقا بايت</translation> + </message> + <message> + <source>%1 GB</source> + <translation>%1 قيقا بايت</translation> + </message> + <message> <source>Yes</source> <translation>نعم</translation> </message> @@ -1076,6 +1120,10 @@ <translation>تعديل :</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>رسوم المعاملة:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>إرسال إلى عدة مستلمين في وقت واحد</translation> </message> @@ -1108,6 +1156,10 @@ <translation>تأكيد الإرسال Coins</translation> </message> <message> + <source>%1 to %2</source> + <translation>%1 الى %2</translation> + </message> + <message> <source>Copy quantity</source> <translation>نسخ الكمية </translation> </message> @@ -1144,6 +1196,10 @@ <translation>القيمة تتجاوز رصيدك</translation> </message> <message> + <source>The total exceeds your balance when the %1 transaction fee is included.</source> + <translation>المجموع يتجاوز رصيدك عندما يتم اضافة %1 رسوم العملية</translation> + </message> + <message> <source>(no label)</source> <translation>(لا وصف)</translation> </message> @@ -1151,6 +1207,10 @@ <context> <name>SendCoinsEntry</name> <message> + <source>A&mount:</source> + <translation>&القيمة</translation> + </message> + <message> <source>Pay &To:</source> <translation>ادفع &الى :</translation> </message> @@ -1178,6 +1238,10 @@ <source>Message:</source> <translation>الرسائل</translation> </message> + <message> + <source>Pay To:</source> + <translation>ادفع &الى :</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1298,10 +1362,22 @@ <context> <name>TransactionDesc</name> <message> + <source>Open until %1</source> + <translation>مفتوح حتى %1</translation> + </message> + <message> <source>conflicted</source> <translation>يتعارض</translation> </message> <message> + <source>%1/offline</source> + <translation>%1 غير متواجد</translation> + </message> + <message> + <source>%1/unconfirmed</source> + <translation>غير مؤكدة/%1</translation> + </message> + <message> <source>%1 confirmations</source> <translation>تأكيد %1</translation> </message> @@ -1412,6 +1488,10 @@ <translation>النوع</translation> </message> <message> + <source>Open until %1</source> + <translation>مفتوح حتى %1</translation> + </message> + <message> <source>This block was not received by any other nodes and will probably not be accepted!</source> <translation>لم يتم تلقى هذه الكتلة (Block) من قبل أي العقد الأخرى وربما لن تكون مقبولة!</translation> </message> @@ -1428,6 +1508,10 @@ <translation>وصف</translation> </message> <message> + <source>Conflicted</source> + <translation>يتعارض</translation> + </message> + <message> <source>Received with</source> <translation>استقبل مع</translation> </message> diff --git a/src/qt/locale/bitcoin_be_BY.ts b/src/qt/locale/bitcoin_be_BY.ts index 3343781b76..2709ff37e5 100644 --- a/src/qt/locale/bitcoin_be_BY.ts +++ b/src/qt/locale/bitcoin_be_BY.ts @@ -798,7 +798,7 @@ <source>command-line options</source> <translation>опцыі каманднага радка</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -843,6 +843,10 @@ <source>MB</source> <translation>Мб</translation> </message> + <message> + <source>W&allet</source> + <translation>Гаманец</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -869,10 +873,22 @@ </context> <context> <name>RPCConsole</name> + <message> + <source>&Information</source> + <translation>Інфармацыя</translation> + </message> + <message> + <source>Debug window</source> + <translation>Вакно адладкі</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>&Колькасць:</translation> + </message> + <message> <source>&Label:</source> <translation>Метка:</translation> </message> @@ -888,6 +904,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>Капіяваць адрас</translation> + </message> + <message> <source>Address</source> <translation>Адрас</translation> </message> @@ -934,6 +954,10 @@ <translation>Даслаць Манеты</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Недастаткова сродкаў</translation> + </message> + <message> <source>Quantity:</source> <translation>Колькасць:</translation> </message> @@ -1045,6 +1069,14 @@ <translation>Alt+P</translation> </message> <message> + <source>Message:</source> + <translation>Паведамленне:</translation> + </message> + <message> + <source>Pay To:</source> + <translation>Заплаціць да:</translation> + </message> + <message> <source>Memo:</source> <translation>Памятка:</translation> </message> diff --git a/src/qt/locale/bitcoin_bg.ts b/src/qt/locale/bitcoin_bg.ts index be5aec371b..ecd10e5461 100644 --- a/src/qt/locale/bitcoin_bg.ts +++ b/src/qt/locale/bitcoin_bg.ts @@ -446,6 +446,36 @@ <translation>Зарежда блокове...</translation> </message> <message> + <source>Date: %1 +</source> + <translation>Дата: %1 +</translation> + </message> + <message> + <source>Amount: %1 +</source> + <translation>Сума: %1 +</translation> + </message> + <message> + <source>Type: %1 +</source> + <translation>Тип: %1 +</translation> + </message> + <message> + <source>Label: %1 +</source> + <translation>Етикет: %1 +</translation> + </message> + <message> + <source>Address: %1 +</source> + <translation>Адрес: %1 +</translation> + </message> + <message> <source>Sent transaction</source> <translation>Изходяща транзакция</translation> </message> @@ -776,7 +806,7 @@ <source>command-line options</source> <translation>Списък с налични команди</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -834,6 +864,10 @@ <translation>Мегабайта</translation> </message> <message> + <source>Number of script &verification threads</source> + <translation>Брой на скриптове и &нишки за потвърждение</translation> + </message> + <message> <source>Accept connections from outside</source> <translation>Приемай връзки отвън</translation> </message> @@ -874,6 +908,10 @@ <translation>Експерт</translation> </message> <message> + <source>Enable coin &control features</source> + <translation>Позволяване на монетите и &техните възможности</translation> + </message> + <message> <source>&Spend unconfirmed change</source> <translation>&Похарчете непотвърденото ресто</translation> </message> @@ -2235,6 +2273,10 @@ <translation>Изнасяне историята на транзакциите</translation> </message> <message> + <source>Watch-only</source> + <translation>само гледане</translation> + </message> + <message> <source>Exporting Failed</source> <translation>Грешка при изнасянето</translation> </message> @@ -2418,6 +2460,10 @@ <translation>Информация</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Невалидна сума за -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Невалидна сума за -minrelaytxfee=<amount>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_bg_BG.ts b/src/qt/locale/bitcoin_bg_BG.ts index d1157a8e44..353f6d7715 100644 --- a/src/qt/locale/bitcoin_bg_BG.ts +++ b/src/qt/locale/bitcoin_bg_BG.ts @@ -60,6 +60,10 @@ <source>Bitcoin Core</source> <translation>Биткойн ядро</translation> </message> + <message> + <source>About Bitcoin Core</source> + <translation>За Биткойн ядрото</translation> + </message> </context> <context> <name>Intro</name> diff --git a/src/qt/locale/bitcoin_ca.ts b/src/qt/locale/bitcoin_ca.ts index 5a0e36de9e..38e770f182 100644 --- a/src/qt/locale/bitcoin_ca.ts +++ b/src/qt/locale/bitcoin_ca.ts @@ -222,7 +222,15 @@ </context> <context> <name>BanTableModel</name> - </context> + <message> + <source>IP/Netmask</source> + <translation>IP / Màscara de xarxa</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Bandejat fins</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -874,6 +882,34 @@ <source>command-line options</source> <translation>Opcions de la línia d'ordres</translation> </message> + <message> + <source>UI Options:</source> + <translation>Opcions d'interfície d'usuari:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Trieu el directori de dades a l'inici (per defecte: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Defineix la llengua, per exemple «de_DE» (per defecte: la definida pel sistema)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Inicia minimitzat</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Defineix els certificats arrel SSL per a la sol·licitud de pagament (per defecte: els del sistema)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Mostra la pantalla de benvinguda a l'inici (per defecte: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Reinicialitza tots els canvis de configuració fets des de la interfície gràfica</translation> + </message> </context> <context> <name>Intro</name> @@ -1072,6 +1108,18 @@ <translation>Port del proxy (per exemple 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Utilitzat per arribar als iguals mitjançant:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Mostra si el proxy SOCKS5 per defecte proporcionat s'utilitza per arribar als iguals mitjançant aquest tipus de xarxa.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Utilitza un proxy SOCKS4 apart per a arribar als iguals a través de serveis ocults de Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Finestra</translation> </message> @@ -1458,10 +1506,18 @@ <translation>&Iguals</translation> </message> <message> + <source>Banned peers</source> + <translation>Iguals bandejats</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Seleccioneu un igual per mostrar informació detallada.</translation> </message> <message> + <source>Whitelisted</source> + <translation>A la llista blanca</translation> + </message> + <message> <source>Direction</source> <translation>Direcció</translation> </message> @@ -1470,6 +1526,18 @@ <translation>Versió</translation> </message> <message> + <source>Starting Block</source> + <translation>Bloc d'inici</translation> + </message> + <message> + <source>Synced Headers</source> + <translation>Capçaleres sincronitzades</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>Blocs sincronitzats</translation> + </message> + <message> <source>User Agent</source> <translation>Agent d'usuari</translation> </message> @@ -1498,6 +1566,14 @@ <translation>Temps de ping</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>La duració d'un ping més destacat actualment.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Espera de ping</translation> + </message> + <message> <source>Time Offset</source> <translation>Diferència horària</translation> </message> @@ -1546,6 +1622,34 @@ <translation>Neteja la consola</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Desconnecta el node</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Bandeja el node durant</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &hora</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &dia</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &setmana</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &any</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Desbandeja el node</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Us donem la benviguda a la consola RPC del Bitcoin Core.</translation> </message> @@ -1574,6 +1678,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(id del node: %1)</translation> + </message> + <message> <source>via %1</source> <translation>a través de %1</translation> </message> @@ -1966,6 +2074,10 @@ <translation>Copia el canvi</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Import total %1</translation> + </message> + <message> <source>or</source> <translation>o</translation> </message> @@ -1997,6 +2109,10 @@ <source>Payment request expired.</source> <translation>La sol·licitud de pagament ha vençut.</translation> </message> + <message> + <source>Pay only the required fee of %1</source> + <translation>Paga només la comissió necessària de %1</translation> + </message> <message numerus="yes"> <source>Estimated to begin confirmation within %n block(s).</source> <translation><numerusform>Estimat per començar la confirmació en %n bloc.</numerusform><numerusform>Estimat per començar la confirmació en %n blocs.</numerusform></translation> @@ -2780,6 +2896,14 @@ <translation>Accepta la línia d'ordres i ordres JSON-RPC </translation> </message> <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Comissions totals màximes (en %s) per utilitzar en una única transacció de moneder; definir-ne una massa baixa pot interrompre les transaccions més grans (per defecte: %s)</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Comissió (en %s/kB) per afegir a les transaccions que envieu (per defecte: %s)</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>Executa en segon pla com a programa dimoni i accepta ordres</translation> </message> diff --git a/src/qt/locale/bitcoin_ca@valencia.ts b/src/qt/locale/bitcoin_ca@valencia.ts index 353e80ca18..2c41ec78d4 100644 --- a/src/qt/locale/bitcoin_ca@valencia.ts +++ b/src/qt/locale/bitcoin_ca@valencia.ts @@ -434,6 +434,10 @@ <translation>No hi ha cap font de bloc disponible...</translation> </message> <message numerus="yes"> + <source>Processed %n block(s) of transaction history.</source> + <translation><numerusform>Proccessats %n bloc de l'historial de transaccions.</numerusform><numerusform>Proccessats %n blocs de l'historial de transaccions.</numerusform></translation> + </message> + <message numerus="yes"> <source>%n hour(s)</source> <translation><numerusform>%n hora</numerusform><numerusform>%n hores</numerusform></translation> </message> @@ -870,7 +874,7 @@ <source>command-line options</source> <translation>Opcions de la línia d'ordes</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1068,6 +1072,10 @@ <translation>Port del proxy (per exemple 9050)</translation> </message> <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Utilitza un proxy SOCKS4 apart per a arribar als iguals a través de serveis ocults de Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Finestra</translation> </message> diff --git a/src/qt/locale/bitcoin_ca_ES.ts b/src/qt/locale/bitcoin_ca_ES.ts index bf4be89a03..e6a932ebee 100644 --- a/src/qt/locale/bitcoin_ca_ES.ts +++ b/src/qt/locale/bitcoin_ca_ES.ts @@ -222,7 +222,15 @@ </context> <context> <name>BanTableModel</name> - </context> + <message> + <source>IP/Netmask</source> + <translation>IP / Màscara de xarxa</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Bandejat fins</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -874,6 +882,34 @@ <source>command-line options</source> <translation>Opcions de la línia d'ordres</translation> </message> + <message> + <source>UI Options:</source> + <translation>Opcions d'interfície d'usuari:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Trieu el directori de dades a l'inici (per defecte: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Defineix la llengua, per exemple «de_DE» (per defecte: la definida pel sistema)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Inicia minimitzat</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Defineix els certificats arrel SSL per a la sol·licitud de pagament (per defecte: els del sistema)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Mostra la pantalla de benvinguda a l'inici (per defecte: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Reinicialitza tots els canvis de configuració fets des de la interfície gràfica</translation> + </message> </context> <context> <name>Intro</name> @@ -1072,6 +1108,18 @@ <translation>Port del proxy (per exemple 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Utilitzat per arribar als iguals mitjançant:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Mostra si el proxy SOCKS5 per defecte proporcionat s'utilitza per arribar als iguals mitjançant aquest tipus de xarxa.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Utilitza un proxy SOCKS4 apart per a arribar als iguals a través de serveis ocults de Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Finestra</translation> </message> @@ -1458,10 +1506,18 @@ <translation>&Iguals</translation> </message> <message> + <source>Banned peers</source> + <translation>Iguals bandejats</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Seleccioneu un igual per mostrar informació detallada.</translation> </message> <message> + <source>Whitelisted</source> + <translation>A la llista blanca</translation> + </message> + <message> <source>Direction</source> <translation>Direcció</translation> </message> @@ -1470,6 +1526,18 @@ <translation>Versió</translation> </message> <message> + <source>Starting Block</source> + <translation>Bloc d'inici</translation> + </message> + <message> + <source>Synced Headers</source> + <translation>Capçaleres sincronitzades</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>Blocs sincronitzats</translation> + </message> + <message> <source>User Agent</source> <translation>Agent d'usuari</translation> </message> @@ -1498,6 +1566,14 @@ <translation>Temps de ping</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>La duració d'un ping més destacat actualment.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Espera de ping</translation> + </message> + <message> <source>Time Offset</source> <translation>Diferència horària</translation> </message> @@ -1546,6 +1622,34 @@ <translation>Neteja la consola</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Desconnecta el node</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Bandeja el node durant</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &hora</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &dia</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &setmana</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &any</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Desbandeja el node</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Us donem la benviguda a la consola RPC del Bitcoin Core.</translation> </message> @@ -1574,6 +1678,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(id del node: %1)</translation> + </message> + <message> <source>via %1</source> <translation>a través de %1</translation> </message> @@ -1966,6 +2074,10 @@ <translation>Copia el canvi</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Import total %1</translation> + </message> + <message> <source>or</source> <translation>o</translation> </message> @@ -1997,6 +2109,10 @@ <source>Payment request expired.</source> <translation>La sol·licitud de pagament ha vençut.</translation> </message> + <message> + <source>Pay only the required fee of %1</source> + <translation>Paga només la comissió necessària de %1</translation> + </message> <message numerus="yes"> <source>Estimated to begin confirmation within %n block(s).</source> <translation><numerusform>Estimat per començar la confirmació en %n bloc.</numerusform><numerusform>Estimat per començar la confirmació en %n blocs.</numerusform></translation> @@ -2780,6 +2896,14 @@ <translation>Accepta la línia d'ordres i ordres JSON-RPC </translation> </message> <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Comissions totals màximes (en %s) per utilitzar en una única transacció de moneder; definir-ne una massa baixa pot interrompre les transaccions més grans (per defecte: %s)</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Comissió (en %s/kB) per afegir a les transaccions que envieu (per defecte: %s)</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>Executa en segon pla com a programa dimoni i accepta ordres</translation> </message> diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts index d791d9d98d..ef1903edd1 100644 --- a/src/qt/locale/bitcoin_cs.ts +++ b/src/qt/locale/bitcoin_cs.ts @@ -874,7 +874,7 @@ <source>command-line options</source> <translation>možnosti příkazové řádky</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1072,6 +1072,10 @@ <translation>Port proxy (např. 9050)</translation> </message> <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Použít samostatnou SOCKS5 proxy ke spojení s protějšky přes skryté služby v Toru:</translation> + </message> + <message> <source>&Window</source> <translation>O&kno</translation> </message> @@ -3324,6 +3328,10 @@ <translation>Zadej časový limit spojení v milivteřinách (minimum: 1, výchozí: %d)</translation> </message> <message> + <source>Specify pid file (default: %s)</source> + <translation>PID soubor (výchozí: %s)</translation> + </message> + <message> <source>Spend unconfirmed change when sending transactions (default: %u)</source> <translation>Utrácet i ještě nepotvrzené drobné při posílání transakcí (výchozí: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_cs_CZ.ts b/src/qt/locale/bitcoin_cs_CZ.ts index 026247e7c6..cc0c791154 100644 --- a/src/qt/locale/bitcoin_cs_CZ.ts +++ b/src/qt/locale/bitcoin_cs_CZ.ts @@ -192,6 +192,10 @@ <context> <name>CoinControlDialog</name> <message> + <source>Amount:</source> + <translation>Množství:</translation> + </message> + <message> <source>Amount</source> <translation>Množství</translation> </message> @@ -323,6 +327,14 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Label:</source> + <translation>&Popisek:</translation> + </message> + <message> + <source>&Message:</source> + <translation>Zpráva:</translation> + </message> + <message> <source>Copy label</source> <translation>Kopírovat popis</translation> </message> @@ -341,6 +353,10 @@ <source>Label</source> <translation>Popis</translation> </message> + <message> + <source>Message</source> + <translation>Zpráva</translation> + </message> </context> <context> <name>RecentRequestsTableModel</name> @@ -353,6 +369,10 @@ <translation>Popis</translation> </message> <message> + <source>Message</source> + <translation>Zpráva</translation> + </message> + <message> <source>Amount</source> <translation>Množství</translation> </message> @@ -364,6 +384,10 @@ <context> <name>SendCoinsDialog</name> <message> + <source>Amount:</source> + <translation>Množství:</translation> + </message> + <message> <source>Balance:</source> <translation>Zůstatek:</translation> </message> @@ -379,6 +403,10 @@ <context> <name>SendCoinsEntry</name> <message> + <source>&Label:</source> + <translation>&Popisek:</translation> + </message> + <message> <source>Message:</source> <translation>Zpráva:</translation> </message> @@ -418,6 +446,14 @@ <translation>Datum</translation> </message> <message> + <source>Message</source> + <translation>Zpráva</translation> + </message> + <message> + <source>Transaction</source> + <translation>Transakce</translation> + </message> + <message> <source>Amount</source> <translation>Množství</translation> </message> diff --git a/src/qt/locale/bitcoin_cy.ts b/src/qt/locale/bitcoin_cy.ts index eba0363334..c32d236a91 100644 --- a/src/qt/locale/bitcoin_cy.ts +++ b/src/qt/locale/bitcoin_cy.ts @@ -348,6 +348,10 @@ <context> <name>CoinControlDialog</name> <message> + <source>Amount:</source> + <translation>Maint</translation> + </message> + <message> <source>Date</source> <translation>Dyddiad</translation> </message> @@ -546,6 +550,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Cyfeiriad Copi</translation> + </message> + <message> <source>Address</source> <translation>Cyfeiriad</translation> </message> @@ -584,6 +592,10 @@ <translation>Anfon arian</translation> </message> <message> + <source>Amount:</source> + <translation>Maint</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Anfon at pobl lluosog ar yr un pryd</translation> </message> @@ -626,6 +638,10 @@ <source>Alt+P</source> <translation>Alt+P</translation> </message> + <message> + <source>Message:</source> + <translation>Neges:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -762,6 +778,10 @@ <context> <name>bitcoin-core</name> <message> + <source>Options:</source> + <translation>Opsiynau:</translation> + </message> + <message> <source>Information</source> <translation>Gwybodaeth</translation> </message> diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts index edcd9b3b03..aa2724a1e8 100644 --- a/src/qt/locale/bitcoin_da.ts +++ b/src/qt/locale/bitcoin_da.ts @@ -882,6 +882,34 @@ <source>command-line options</source> <translation>kommandolinjetilvalg</translation> </message> + <message> + <source>UI Options:</source> + <translation>Indstillinger for brugergrænseflade:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Vælg datamappe under opstart (standard: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Vælg sprog; fx "da_DK" (standard: systemsprog)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Start minimeret</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Opsæt SSL-rodcertifikater til betalingsadmodninger (standard: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Vis startskærm under opstart (standard: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Nulstil alle indstillinger, der er foretaget i den grafiske brugerflade</translation> + </message> </context> <context> <name>Intro</name> @@ -925,7 +953,11 @@ <source>%n GB of free space available</source> <translation><numerusform>%n GB fri plads tilgængelig</numerusform><numerusform>%n GB fri plads tilgængelig</numerusform></translation> </message> - </context> + <message numerus="yes"> + <source>(of %n GB needed)</source> + <translation><numerusform>(ud af %n GB behøvet)</numerusform><numerusform>(ud af %n GB behøvet)</numerusform></translation> + </message> +</context> <context> <name>OpenURIDialog</name> <message> @@ -1474,6 +1506,18 @@ <translation>Nuværende antal blokke</translation> </message> <message> + <source>Memory Pool</source> + <translation>Hukommelsespulje</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Aktuelt antal transaktioner</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Hukommelsesforbrug</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Åbn Bitcoin Cores fejlsøgningslogfil fra den aktuelle datamappe. Dette kan tage nogle få sekunder for store logfiler.</translation> </message> @@ -3480,6 +3524,10 @@ <translation>Fejl under læsning af wallet.dat! Alle nøgler blev læst korrekt, men transaktionsdata eller indgange i adressebogen kan mangle eller være ukorrekte.</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Gebyrer (i %s/kB) mindre end dette opfattes som intet gebyr under oprettelse af transaktioner (standard: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Hvor gennemarbejdet blokverificeringen for -checkblocks er (0-4; standard: %u)</translation> </message> @@ -3496,6 +3544,10 @@ <translation>Udskriv fejlsøgningsinformation (standard: %u, angivelse af <kategori> er valgfri)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Understøt filtrering af blokke og transaktioner med Bloom-filtre (standard: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>Den totale længde på netværksversionsstrengen (%i) overstiger maksimallængden (%i). Reducér antaller af eller størrelsen på uacomments.</translation> </message> @@ -3512,6 +3564,10 @@ <translation>Brug separat SOCS5-proxy for at nå knuder via skjulte Tor-tjenester (standard: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Brugernavn og hashet adgangskode for JSON-RPC-forbindelser. Feltet <userpw> er i formatet: <BRUGERNAVN>:<SALT>$<HASH>. Et kanonisk Python-skript inkluderes i share/rpcuser. Dette tilvalg kan angives flere gange</translation> + </message> + <message> <source>(default: %s)</source> <translation>(standard: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_de.ts b/src/qt/locale/bitcoin_de.ts index 04b4d23010..84de80aff5 100644 --- a/src/qt/locale/bitcoin_de.ts +++ b/src/qt/locale/bitcoin_de.ts @@ -882,6 +882,34 @@ <source>command-line options</source> <translation>Kommandozeilenoptionen</translation> </message> + <message> + <source>UI Options:</source> + <translation>UI Einstellungen:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Datenverzeichnis beim Starten auswählen (Standard: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Sprache einstellen, zum Beispiel "de_DE" (default: system locale)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Minimiert starten</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>SSL-Wurzelzertifikate für Zahlungsanforderungen festlegen (Standard: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Startbildschirm beim Starten anzeigen (Standard: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Setze alle Einstellungen zurück, die über die grafische Oberfläche geändert wurden.</translation> + </message> </context> <context> <name>Intro</name> @@ -1080,6 +1108,14 @@ <translation>Port des Proxies (z.B. 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Benutzt um Gegenstellen zu erreichen über:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Zeigt an, ob der eingegebene Standard SOCKS5 Proxy genutzt wird um Peers mit dem Netzwerktyp zu erreichen.</translation> + </message> + <message> <source>IPv4</source> <translation>IPv4</translation> </message> @@ -1092,6 +1128,10 @@ <translation>Tor</translation> </message> <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Über einen separaten SOCKS5 Proxy für Tor Services mit dem Bitcoint Netzwerk verbinden.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> <translation>Separaten SOCKS5-Proxy verwenden, um Gegenstellen über versteckte Tor-Dienste zu erreichen:</translation> </message> @@ -1466,6 +1506,18 @@ <translation>Aktuelle Anzahl Blöcke</translation> </message> <message> + <source>Memory Pool</source> + <translation>Speicherpool</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Aktuelle Anzahl der Transaktionen</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Speichernutzung</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Öffnet die "Bitcoin Core"-Debugprotokolldatei aus dem aktuellen Datenverzeichnis. Dies kann bei großen Protokolldateien einige Sekunden dauern.</translation> </message> @@ -1490,6 +1542,10 @@ <translation>Gegenstelle auswählen, um detaillierte Informationen zu erhalten.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Zugelassene</translation> + </message> + <message> <source>Direction</source> <translation>Richtung</translation> </message> @@ -1498,6 +1554,10 @@ <translation>Version</translation> </message> <message> + <source>Starting Block</source> + <translation>Start Block</translation> + </message> + <message> <source>Synced Headers</source> <translation>Synchronisierte Kopfdaten</translation> </message> @@ -1534,6 +1594,14 @@ <translation>Pingzeit</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>Die Laufzeit eines aktuell ausstehenden Ping.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Ping Wartezeit</translation> + </message> + <message> <source>Time Offset</source> <translation>Zeitversatz</translation> </message> @@ -1586,6 +1654,10 @@ <translation>Knoten &trennen</translation> </message> <message> + <source>Ban Node for</source> + <translation>Knoten gebannt für</translation> + </message> + <message> <source>1 &hour</source> <translation>1 &Stunde</translation> </message> @@ -1602,6 +1674,10 @@ <translation>1 &Jahr</translation> </message> <message> + <source>&Unban Node</source> + <translation>&Node entsperren</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Willkommen in der "Bitcoin Core"-RPC-Konsole.</translation> </message> @@ -2701,6 +2777,10 @@ <translation>Transaktions-ID kopieren</translation> </message> <message> + <source>Copy raw transaction</source> + <translation>Kopiere rohe Transaktion</translation> + </message> + <message> <source>Edit label</source> <translation>Bezeichnung bearbeiten</translation> </message> @@ -2848,6 +2928,14 @@ <translation>Kommandozeilen- und JSON-RPC-Befehle annehmen</translation> </message> <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Maximale Gesamtgebühr (in %s) in einer Börsentransaktion; wird dies zu niedrig gesetzten können große Transaktionen abgebrochen werden (Standard: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Bitte korrigieren Sie die Datums- und Uhrzeiteinstellungen Ihres Computers, da Bitcoin Core ansonsten nicht ordnungsgemäß funktionieren wird.</translation> + </message> + <message> <source>Error: A fatal internal error occurred, see debug.log for details</source> <translation>Fehler: Ein schwerer interner Fehler ist aufgetreten, siehe debug.log für Details.</translation> </message> @@ -2860,6 +2948,10 @@ <translation>Als Hintergrunddienst ausführen und Befehle annehmen</translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Kann HTTP Server nicht starten. Siehe debug log für Details.</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Eingehende Verbindungen annehmen (Standard: 1, wenn nicht -proxy oder -connect)</translation> </message> @@ -2952,6 +3044,18 @@ <translation>Möchten Sie die Blockdatenbank jetzt neu aufbauen?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Aktiviere das Veröffentlichen des Hash-Blocks in <address></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Aktiviere das Veröffentlichen der Hash-Transaktion in <address></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Aktiviere das Veröffentlichen des Raw-Blocks in <address></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Fehler beim Initialisieren der Blockdatenbank</translation> </message> @@ -3148,6 +3252,10 @@ <translation>Versuchen, private Schlüssel beim Starten aus einer beschädigten wallet.dat wiederherzustellen</translation> </message> <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Automatisch versteckten Tor-Dienst erstellen (Standard: %d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Kann Adresse in -whitebind nicht auflösen: '%s'</translation> </message> @@ -3256,6 +3364,14 @@ <translation>Dies ist experimentelle Software.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>TOR Kontrollport Passwort (Standard: leer)</translation> + </message> + <message> + <source>Tor control port to use if onion listening enabled (default: %s)</source> + <translation>Zu benutzender TOR Kontrollport wenn Onion Auflistung aktiv ist (Standard: %s)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Transaktionsbetrag zu niedrig</translation> </message> @@ -3292,6 +3408,10 @@ <translation>Warnung</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>Legt fest ob nur Blöcke Modus aktiv sein soll (Standard: %u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Lösche alle Transaktionen aus Wallet...</translation> </message> @@ -3340,6 +3460,10 @@ <translation>-paytxfee ist auf einen sehr hohen Wert festgelegt! Dies ist die Gebühr die beim Senden einer Transaktion fällig wird.</translation> </message> <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Die Transaktion nicht länger im Speicherpool behalten als <n> Stunden (Standard: %u)</translation> + </message> + <message> <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> <translation>Lesen von wallet.dat fehlgeschlagen! Alle Schlüssel wurden korrekt gelesen, Transaktionsdaten bzw. Adressbucheinträge fehlen aber möglicherweise oder sind inkorrekt.</translation> </message> @@ -3360,6 +3484,10 @@ <translation>Debugginginformationen ausgeben (Standard: %u, <category> anzugeben ist optional)</translation> </message> <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Versucht ausgehenden Datenverkehr unter dem gegebenen Wert zu halten (in MiB pro 24h), 0 = kein Limit (default: %d)</translation> + </message> + <message> <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> <translation>Nicht unterstütztes Argument -socks gefunden. Das Festlegen der SOCKS-Version ist nicht mehr möglich, nur noch SOCKS5-Proxies werden unterstützt.</translation> </message> @@ -3400,6 +3528,10 @@ <translation><port> nach JSON-RPC-Verbindungen abhören (Standard: %u oder Testnetz: %u)</translation> </message> <message> + <source>Listen for connections on <port> (default: %u or testnet: %u)</source> + <translation><port> nach Verbindungen abhören (Standard: %u oder Testnetz: %u)</translation> + </message> + <message> <source>Maintain at most <n> connections to peers (default: %u)</source> <translation>Maximal <n> Verbindungen zu Gegenstellen aufrechterhalten (Standard: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_el.ts b/src/qt/locale/bitcoin_el.ts index f53a88082d..6777961cbc 100644 --- a/src/qt/locale/bitcoin_el.ts +++ b/src/qt/locale/bitcoin_el.ts @@ -82,6 +82,14 @@ </context> <context> <name>EditAddressDialog</name> + <message> + <source>&Label</source> + <translation>Ετικέτα</translation> + </message> + <message> + <source>&Address</source> + <translation>Διεύθυνση</translation> + </message> </context> <context> <name>FreespaceChecker</name> @@ -109,6 +117,10 @@ </context> <context> <name>OptionsDialog</name> + <message> + <source>W&allet</source> + <translation>Πορτοφόλι</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -184,6 +196,10 @@ <context> <name>SendCoinsDialog</name> <message> + <source>Insufficient funds!</source> + <translation>Κεφάλαια μη επαρκή</translation> + </message> + <message> <source>Recommended:</source> <translation>Συνίσταται:</translation> </message> @@ -202,6 +218,10 @@ </context> <context> <name>SendCoinsEntry</name> + <message> + <source>Message:</source> + <translation>Μήνυμα:</translation> + </message> </context> <context> <name>ShutdownWindow</name> diff --git a/src/qt/locale/bitcoin_el_GR.ts b/src/qt/locale/bitcoin_el_GR.ts index b62a4756e1..90c27c4394 100644 --- a/src/qt/locale/bitcoin_el_GR.ts +++ b/src/qt/locale/bitcoin_el_GR.ts @@ -695,6 +695,10 @@ <translation>Αυτή η ετικέτα γίνεται κόκκινη αν οποιοσδήποτε παραλήπτης λάβει ποσό μικρότερο από %1.</translation> </message> <message> + <source>Can vary +/- %1 satoshi(s) per input.</source> + <translation>Μπορεί να διαφέρει +/- %1 Satoshi (ες) ανά εγγραφή.</translation> + </message> + <message> <source>yes</source> <translation>ναι</translation> </message> @@ -707,6 +711,10 @@ <translation>Ελάχιστο χρεώσιμο ποσό τουλάχιστο %1 ανα kB</translation> </message> <message> + <source>Can vary +/- 1 byte per input.</source> + <translation>Μπορεί να διαφέρει +/- 1 byte ανά εγγραφή.</translation> + </message> + <message> <source>Transactions with higher priority are more likely to get included into a block.</source> <translation>Συναλλαγές με υψηλότερη προτεραιότητα είναι πιο πιθανό να περιλαμβάνονται σε ένα μπλοκ.</translation> </message> @@ -832,7 +840,7 @@ <source>command-line options</source> <translation>επιλογής γραμμής εντολών</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -2603,6 +2611,10 @@ <translation>Μόνο σύνδεση σε κόμβους του δικτύου <net> (ipv4, ipv6 ή onion)</translation> </message> <message> + <source>Set maximum block size in bytes (default: %d)</source> + <translation>Ορίστε το μέγιστο μέγεθος block σε bytes (προεπιλογή: %d)</translation> + </message> + <message> <source>Specify wallet file (within data directory)</source> <translation>Επιλέξτε αρχείο πορτοφολιού (μέσα απο κατάλογο δεδομένων)</translation> </message> @@ -2631,6 +2643,10 @@ <translation>Σύνδεση μέσω διαμεσολαβητή SOCKS5</translation> </message> <message> + <source>Copyright (C) 2009-%i The Bitcoin Core Developers</source> + <translation>Πνευματικά δικαιώματα 2009-%i Οι προγραμματιστές του Bitcoin Core</translation> + </message> + <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Σφάλμα φόρτωσης wallet.dat: Το Πορτοφόλι απαιτεί μια νεότερη έκδοση του Bitcoin</translation> </message> @@ -2647,6 +2663,10 @@ <translation>Η εκκίνηση ελέγχου ορθότητας απέτυχε. Γίνεται τερματισμός του Bitcoin Core.</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Μη έγκυρο ποσό για την παράμετρο -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s'</translation> </message> @@ -2767,6 +2787,14 @@ <translation>Δεν είναι έγκυρη η διεύθυνση διαμεσολαβητή: '%s'</translation> </message> <message> + <source>Maintain at most <n> connections to peers (default: %u)</source> + <translation>Μέγιστες αριθμός συνδέσεων με τους peers <n> (προεπιλογή: %u)</translation> + </message> + <message> + <source>Specify configuration file (default: %s)</source> + <translation>Ορίστε αρχείο ρυθμίσεων (προεπιλογή: %s)</translation> + </message> + <message> <source>Specify connection timeout in milliseconds (minimum: 1, default: %d)</source> <translation>Ορισμός λήξης χρονικού ορίου σε χιλιοστά του δευτερολέπτου(προεπιλογή: %d)</translation> </message> diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts index e709f8515b..00411741f1 100644 --- a/src/qt/locale/bitcoin_en.ts +++ b/src/qt/locale/bitcoin_en.ts @@ -1153,7 +1153,7 @@ </message> <message> <location line="+1"/> - <source>Reset all settings changes made over the GUI</source> + <source>Reset all settings changed in the GUI</source> <translation type="unfinished"></translation> </message> </context> diff --git a/src/qt/locale/bitcoin_en_GB.ts b/src/qt/locale/bitcoin_en_GB.ts index 96cdecfe83..bf912d295e 100644 --- a/src/qt/locale/bitcoin_en_GB.ts +++ b/src/qt/locale/bitcoin_en_GB.ts @@ -882,6 +882,34 @@ <source>command-line options</source> <translation>command-line options</translation> </message> + <message> + <source>UI Options:</source> + <translation>UI Options:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Choose data directory on startup (default: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Set language, for example "de_DE" (default: system locale)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Start minimised</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Set SSL root certificates for payment request (default: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Show splash screen on startup (default: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Reset all settings changes made over the GUI</translation> + </message> </context> <context> <name>Intro</name> @@ -1478,6 +1506,18 @@ <translation>Current number of blocks</translation> </message> <message> + <source>Memory Pool</source> + <translation>Memory Pool</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Current number of transactions</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Memory usage</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</translation> </message> @@ -3484,6 +3524,10 @@ <translation>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>How thorough the block verification of -checkblocks is (0-4, default: %u)</translation> </message> @@ -3500,6 +3544,10 @@ <translation>Output debugging information (default: %u, supplying <category> is optional)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Support filtering of blocks and transaction with bloom filters (default: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</translation> </message> @@ -3516,6 +3564,10 @@ <translation>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</translation> + </message> + <message> <source>(default: %s)</source> <translation>(default: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_eo.ts b/src/qt/locale/bitcoin_eo.ts index c17e477654..ab8dd65f81 100644 --- a/src/qt/locale/bitcoin_eo.ts +++ b/src/qt/locale/bitcoin_eo.ts @@ -409,10 +409,22 @@ <source>No block source available...</source> <translation>Neniu fonto de blokoj trovebla...</translation> </message> + <message numerus="yes"> + <source>%n day(s)</source> + <translation><numerusform>%n tago</numerusform><numerusform>%n tagoj</numerusform></translation> + </message> + <message numerus="yes"> + <source>%n week(s)</source> + <translation><numerusform>%n semajno</numerusform><numerusform>%n semajnoj</numerusform></translation> + </message> <message> <source>%1 and %2</source> <translation>%1 kaj %2</translation> </message> + <message numerus="yes"> + <source>%n year(s)</source> + <translation><numerusform>%n jaro</numerusform><numerusform>%n jaroj</numerusform></translation> + </message> <message> <source>%1 behind</source> <translation>mankas %1</translation> @@ -446,6 +458,30 @@ <translation>Ĝisdatigante...</translation> </message> <message> + <source>Date: %1 +</source> + <translation>Dato: %1 +</translation> + </message> + <message> + <source>Amount: %1 +</source> + <translation>Sumo: %1 +</translation> + </message> + <message> + <source>Type: %1 +</source> + <translation>Tipo: %1 +</translation> + </message> + <message> + <source>Label: %1 +</source> + <translation>Etikedo: %1 +</translation> + </message> + <message> <source>Sent transaction</source> <translation>Sendita transakcio</translation> </message> @@ -776,7 +812,7 @@ <source>command-line options</source> <translation>komandliniaj agordaĵoj</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -854,6 +890,14 @@ <translation>MB</translation> </message> <message> + <source>Accept connections from outside</source> + <translation>Akcepti konektojn el ekstere</translation> + </message> + <message> + <source>Allow incoming connections</source> + <translation>Permesi envenantajn konektojn</translation> + </message> + <message> <source>Reset all client options to default.</source> <translation>Reagordi ĉion al defaŭlataj valoroj.</translation> </message> @@ -866,6 +910,10 @@ <translation>&Reto</translation> </message> <message> + <source>W&allet</source> + <translation>Monujo</translation> + </message> + <message> <source>Expert</source> <translation>Fakulo</translation> </message> @@ -890,6 +938,14 @@ <translation>la pordo de la prokurilo (ekz. 9050)</translation> </message> <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> <source>&Window</source> <translation>&Fenestro</translation> </message> @@ -977,6 +1033,10 @@ <translation>Minita saldo, kiu ankoraŭ ne maturiĝis</translation> </message> <message> + <source>Balances</source> + <translation>Saldoj</translation> + </message> + <message> <source>Total:</source> <translation>Totalo:</translation> </message> @@ -984,6 +1044,14 @@ <source>Your current total balance</source> <translation>via aktuala totala saldo</translation> </message> + <message> + <source>Spendable:</source> + <translation>Elspezebla:</translation> + </message> + <message> + <source>Recent transactions</source> + <translation>Lastaj transakcioj</translation> + </message> </context> <context> <name>PaymentServer</name> @@ -1046,6 +1114,10 @@ <translation>%1 m</translation> </message> <message> + <source>None</source> + <translation>Neniu</translation> + </message> + <message> <source>N/A</source> <translation>neaplikebla</translation> </message> @@ -1124,6 +1196,22 @@ <translation>Aktuala nombro de blokoj</translation> </message> <message> + <source>Received</source> + <translation>Ricevita</translation> + </message> + <message> + <source>Sent</source> + <translation>Sendita</translation> + </message> + <message> + <source>Version</source> + <translation>Versio</translation> + </message> + <message> + <source>Services</source> + <translation>Servoj</translation> + </message> + <message> <source>Last block time</source> <translation>Horo de la lasta bloko</translation> </message> @@ -1376,6 +1464,10 @@ <translation>Restmono:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Krompago:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Sendi samtempe al pluraj ricevantoj</translation> </message> @@ -2210,10 +2302,18 @@ <translation>Plenumi komandon kiam rilata alerto riceviĝas, aŭ kiam ni vidas tre longan forkon (%s en cms anstataŭiĝas per mesaĝo)</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Ne eblas trovi la adreson -whitebind: '%s'</translation> + </message> + <message> <source>Information</source> <translation>Informoj</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Nevalida sumo por -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Nevalida sumo por -minrelaytxfee=<amount>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts index bb7fcb1095..936074210a 100644 --- a/src/qt/locale/bitcoin_es.ts +++ b/src/qt/locale/bitcoin_es.ts @@ -23,7 +23,7 @@ </message> <message> <source>C&lose</source> - <translation>&Cerrar</translation> + <translation>C&errar</translation> </message> <message> <source>&Copy Address</source> @@ -55,7 +55,7 @@ </message> <message> <source>C&hoose</source> - <translation>&Escoger</translation> + <translation>E&scoger</translation> </message> <message> <source>Sending addresses</source> @@ -93,7 +93,11 @@ <source>Exporting Failed</source> <translation>Fallo al exportar</translation> </message> - </context> + <message> + <source>There was an error trying to save the address list to %1. Please try again.</source> + <translation>Hubo un error al tratar de guardar en la lista de direcciones a %1 . Por favor, vuelve a intentarlo .</translation> + </message> +</context> <context> <name>AddressTableModel</name> <message> @@ -259,7 +263,7 @@ </message> <message> <source>E&xit</source> - <translation>&Salir</translation> + <translation>S&alir</translation> </message> <message> <source>Quit application</source> @@ -878,7 +882,23 @@ <source>command-line options</source> <translation>opciones de la consola de comandos</translation> </message> -</context> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Elegir directorio de datos al iniciar (predeterminado: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Establecer el idioma, por ejemplo, "es_ES" (predeterminado: configuración regional del sistema)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Arrancar minimizado</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Establecer los certificados raíz SSL para solicitudes de pago (predeterminado: -system-)</translation> + </message> + </context> <context> <name>Intro</name> <message> @@ -1088,6 +1108,10 @@ <translation>Tor</translation> </message> <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Usar distintos proxys SOCKS5 para comunicarse vía Tor de forma anónima:</translation> + </message> + <message> <source>&Window</source> <translation>&Ventana</translation> </message> @@ -2022,6 +2046,10 @@ <translation>Copiar Cambio</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Monto Total %1</translation> + </message> + <message> <source>or</source> <translation>o</translation> </message> @@ -2046,6 +2074,10 @@ <translation>¡La transacción fue rechazada! Esto puede haber ocurrido si alguno de los bitcoins de su monedero ya estaba gastado o si ha usado una copia de wallet.dat y los bitcoins estaban gastados en la copia pero no se habían marcado como gastados aqui.</translation> </message> <message> + <source>A fee higher than %1 is considered an absurdly high fee.</source> + <translation>Una comisión mayor al %1 se considera demasiado alta.</translation> + </message> + <message> <source>Payment request expired.</source> <translation>Solicitud de pago caducada.</translation> </message> @@ -2855,6 +2887,10 @@ </translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>No se ha podido comenzar el servidor HTTP. Ver debug log para detalles.</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect)</translation> </message> @@ -3075,6 +3111,10 @@ <translation>Si el pago de comisión no está establecido, incluir la cuota suficiente para que las transacciones comiencen la confirmación en una media de n bloques ( por defecto :%u)</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source> + <translation>Cantidad no válida para -maxtxfee=<amount>: '%s' (debe ser por lo menos la cuota de comisión mínima de %s para prevenir transacciones atascadas)</translation> + </message> + <message> <source>Maximum size of data in data carrier transactions we relay and mine (default: %u)</source> <translation>El tamaño máximo de los datos en las operaciones de transporte de datos que transmitimos y el mio (default: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts index c303007b7a..e6d48a29f0 100644 --- a/src/qt/locale/bitcoin_es_CL.ts +++ b/src/qt/locale/bitcoin_es_CL.ts @@ -302,6 +302,10 @@ <translation>bitcoin core</translation> </message> <message> + <source>%1 and %2</source> + <translation>%1 y %2</translation> + </message> + <message> <source>Error</source> <translation>Error</translation> </message> @@ -352,6 +356,10 @@ <translation>Cantidad:</translation> </message> <message> + <source>Priority:</source> + <translation>prioridad:</translation> + </message> + <message> <source>Amount</source> <translation>Cantidad</translation> </message> @@ -506,6 +514,10 @@ <translation>&Red</translation> </message> <message> + <source>W&allet</source> + <translation>Cartera</translation> + </message> + <message> <source>Expert</source> <translation>experto</translation> </message> @@ -637,6 +649,10 @@ <translation>&Información</translation> </message> <message> + <source>Debug window</source> + <translation>Ventana Debug</translation> + </message> + <message> <source>General</source> <translation>General</translation> </message> @@ -685,6 +701,10 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Cantidad:</translation> + </message> + <message> <source>&Label:</source> <translation>&Etiqueta:</translation> </message> @@ -762,10 +782,22 @@ <translation>Enviar monedas</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Fondos insuficientes</translation> + </message> + <message> <source>Amount:</source> <translation>Cantidad:</translation> </message> <message> + <source>Priority:</source> + <translation>prioridad:</translation> + </message> + <message> + <source>Transaction Fee:</source> + <translation>Comisión transacción:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Enviar a múltiples destinatarios</translation> </message> @@ -848,6 +880,10 @@ <source>Message:</source> <translation>Mensaje:</translation> </message> + <message> + <source>Pay To:</source> + <translation>Pagar a:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -903,6 +939,10 @@ <translation>Click en "Firmar Mensage" para conseguir firma</translation> </message> <message> + <source>The entered address is invalid.</source> + <translation>La dirección introducida no es una valida.</translation> + </message> + <message> <source>Please check the address and try again.</source> <translation>Por favor, revise la dirección Bitcoin e inténtelo denuevo</translation> </message> @@ -1309,6 +1349,18 @@ <translation>Información</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Cantidad inválida para -maxtxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>Cantidad inválida para -minrelaytxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>Cantidad inválida para -mintxfee=<amount>: '%s'</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Enviar informacion de seguimiento a la consola en vez del archivo debug.log</translation> </message> diff --git a/src/qt/locale/bitcoin_es_DO.ts b/src/qt/locale/bitcoin_es_DO.ts index 60347070df..0463c0f6e1 100644 --- a/src/qt/locale/bitcoin_es_DO.ts +++ b/src/qt/locale/bitcoin_es_DO.ts @@ -740,7 +740,7 @@ <source>command-line options</source> <translation>opciones de la línea de órdenes</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -830,6 +830,10 @@ <translation>&Red</translation> </message> <message> + <source>W&allet</source> + <translation>Monedero</translation> + </message> + <message> <source>Expert</source> <translation>Experto</translation> </message> @@ -1368,6 +1372,10 @@ <translation>Dirección propia</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Comisión de transacción:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Enviar a múltiples destinatarios de una vez</translation> </message> @@ -1519,6 +1527,10 @@ <translation>Eliminar esta transacción</translation> </message> <message> + <source>Message:</source> + <translation>Mensaje:</translation> + </message> + <message> <source>Enter a label for this address to add it to the list of used addresses</source> <translation>Introduce una etiqueta para esta dirección para añadirla a la lista de direcciones utilizadas</translation> </message> @@ -2221,10 +2233,18 @@ <translation>Establecer tamaño máximo de las transacciones de alta prioridad/comisión baja en bytes (por defecto: %d)</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>No se puede resolver la dirección de -whitebind: '%s'</translation> + </message> + <message> <source>Information</source> <translation>Información</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Inválido por el monto -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Inválido por el monto -minrelaytxfee=<amount>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_es_ES.ts b/src/qt/locale/bitcoin_es_ES.ts index b19387d9ed..bdbfed4ec6 100644 --- a/src/qt/locale/bitcoin_es_ES.ts +++ b/src/qt/locale/bitcoin_es_ES.ts @@ -330,6 +330,14 @@ </context> <context> <name>EditAddressDialog</name> + <message> + <source>&Label</source> + <translation>Etiqueta</translation> + </message> + <message> + <source>&Address</source> + <translation>Dirección</translation> + </message> </context> <context> <name>FreespaceChecker</name> @@ -370,6 +378,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Copiar Direccón</translation> + </message> + <message> <source>Address</source> <translation>Dirección</translation> </message> diff --git a/src/qt/locale/bitcoin_es_MX.ts b/src/qt/locale/bitcoin_es_MX.ts index e9a80e2f5f..fa2b3c0623 100644 --- a/src/qt/locale/bitcoin_es_MX.ts +++ b/src/qt/locale/bitcoin_es_MX.ts @@ -11,7 +11,7 @@ </message> <message> <source>Copy the currently selected address to the system clipboard</source> - <translation>Copiar el domicilio seleccionado al portapapeles del sistema</translation> + <translation>Copiar la dirección seleccionada al portapapeles del sistema</translation> </message> <message> <source>&Copy</source> @@ -83,7 +83,7 @@ </message> <message> <source>Comma separated file (*.csv)</source> - <translation>Arhchivo separado por comas (*.CSV)</translation> + <translation>Archivo separado por comas (*.CSV)</translation> </message> <message> <source>Exporting Failed</source> @@ -98,7 +98,7 @@ </message> <message> <source>Address</source> - <translation>Domicilio</translation> + <translation>Dirección</translation> </message> <message> <source>(no label)</source> @@ -165,7 +165,7 @@ </message> <message> <source>Wallet encryption failed</source> - <translation>Encriptación de la cartera fallida</translation> + <translation>La encriptación de la cartera fallo</translation> </message> <message> <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source> @@ -181,7 +181,7 @@ </message> <message> <source>The passphrase entered for the wallet decryption was incorrect.</source> - <translation>La contraseña ingresada para la desencriptación de la cartera es incorrecto</translation> + <translation>La contraseña ingresada para la desencriptación de la cartera es incorrecta</translation> </message> <message> <source>Wallet decryption failed</source> @@ -199,7 +199,7 @@ <name>BitcoinGUI</name> <message> <source>Sign &message...</source> - <translation>Sign &mensaje</translation> + <translation>Firmar &mensaje</translation> </message> <message> <source>Synchronizing with network...</source> @@ -259,17 +259,21 @@ </message> <message> <source>&Sending addresses...</source> - <translation>&Enviando direcciones...</translation> + <translation>Direcciones de &envío...</translation> </message> <message> <source>&Receiving addresses...</source> - <translation>&Recibiendo direcciones...</translation> + <translation>Direcciones de &recepción...</translation> </message> <message> <source>Open &URI...</source> <translation>Abrir &URL...</translation> </message> <message> + <source>Bitcoin Core client</source> + <translation>cliente Bitcoin Core</translation> + </message> + <message> <source>Importing blocks from disk...</source> <translation>Importando bloques desde el disco...</translation> </message> @@ -295,13 +299,29 @@ </message> <message> <source>Open debugging and diagnostic console</source> - <translation>Abrir la consola de depuración y disgnostico</translation> + <translation>Abrir consola de depuración y diagnostico</translation> </message> <message> <source>&Verify message...</source> <translation>&Verificar mensaje...</translation> </message> <message> + <source>Bitcoin</source> + <translation>Bitcoin</translation> + </message> + <message> + <source>Wallet</source> + <translation>Cartera</translation> + </message> + <message> + <source>&Send</source> + <translation>&Enviar</translation> + </message> + <message> + <source>&Receive</source> + <translation>&Recibir</translation> + </message> + <message> <source>&File</source> <translation>&Archivo</translation> </message> @@ -322,6 +342,10 @@ <translation>nucleo Bitcoin</translation> </message> <message> + <source>&About Bitcoin Core</source> + <translation>Acerca de Bitcoin Core</translation> + </message> + <message> <source>&Command-line options</source> <translation>opciones de la &Linea de comandos</translation> </message> @@ -335,7 +359,7 @@ </message> <message> <source>Catching up...</source> - <translation>Resiviendo...</translation> + <translation>Recibiendo...</translation> </message> <message> <source>Sent transaction</source> @@ -388,40 +412,44 @@ <translation>Confirmado </translation> </message> <message> + <source>Priority</source> + <translation>Prioridad</translation> + </message> + <message> <source>Copy address</source> <translation>Copiar dirección </translation> </message> <message> <source>Copy label</source> - <translation>Copiar capa </translation> + <translation>Copiar etiqueta</translation> </message> <message> <source>Copy amount</source> - <translation>copiar monto</translation> + <translation>Copiar monto</translation> </message> <message> <source>Copy quantity</source> - <translation>copiar cantidad</translation> + <translation>Copiar cantidad</translation> </message> <message> <source>Copy fee</source> - <translation>copiar cuota</translation> + <translation>Copiar cuota</translation> </message> <message> <source>Copy after fee</source> - <translation>copiar despues de cuota</translation> + <translation>Copiar después de cuota</translation> </message> <message> <source>Copy bytes</source> - <translation>copiar bytes</translation> + <translation>Copiar bytes</translation> </message> <message> <source>Copy priority</source> - <translation>copiar prioridad</translation> + <translation>Copiar prioridad</translation> </message> <message> <source>Copy change</source> - <translation>copiar cambio</translation> + <translation>Copiar cambio</translation> </message> <message> <source>(no label)</source> @@ -444,23 +472,23 @@ </message> <message> <source>New receiving address</source> - <translation>Nueva dirección de entregas</translation> + <translation>Nueva dirección de recepción</translation> </message> <message> <source>New sending address</source> - <translation>Nueva dirección de entregas</translation> + <translation>Nueva dirección de envío</translation> </message> <message> <source>Edit receiving address</source> - <translation>Editar dirección de entregas</translation> + <translation>Editar dirección de recepción</translation> </message> <message> <source>Edit sending address</source> - <translation>Editar dirección de envios</translation> + <translation>Editar dirección de envío</translation> </message> <message> <source>The entered address "%1" is already in the address book.</source> - <translation>El domicilio ingresado "%1" ya existe en la libreta de direcciones</translation> + <translation>La dirección ingresada "%1" ya existe en la libreta de direcciones</translation> </message> <message> <source>Could not unlock wallet.</source> @@ -482,7 +510,7 @@ </message> <message> <source>version</source> - <translation>Versión</translation> + <translation>versión</translation> </message> <message> <source>(%1-bit)</source> @@ -493,6 +521,10 @@ <translation>Acerca de Bitcoin Core</translation> </message> <message> + <source>Command-line options</source> + <translation>opciones de la Linea de comandos</translation> + </message> + <message> <source>Usage:</source> <translation>Uso:</translation> </message> @@ -500,7 +532,7 @@ <source>command-line options</source> <translation>Opciones de comando de lineas</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -521,6 +553,10 @@ <source>Active command-line options that override above options:</source> <translation>Activar las opciones de linea de comando que sobre escriben las siguientes opciones:</translation> </message> + <message> + <source>W&allet</source> + <translation>Cartera</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -547,14 +583,26 @@ </context> <context> <name>RPCConsole</name> + <message> + <source>Debug window</source> + <translation>Depurar ventana</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Monto:</translation> + </message> + <message> <source>&Label:</source> <translation>&Etiqueta</translation> </message> <message> + <source>&Message:</source> + <translation>Mensaje:</translation> + </message> + <message> <source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source> <translation>Mensaje opcional para agregar a la solicitud de pago, el cual será mostrado cuando la solicitud este abierta. Nota: El mensaje no se manda con el pago a travéz de la red de Bitcoin.</translation> </message> @@ -568,18 +616,22 @@ </message> <message> <source>Copy label</source> - <translation>Copiar capa </translation> + <translation>Copiar etiqueta</translation> </message> <message> <source>Copy amount</source> - <translation>copiar monto</translation> + <translation>Copiar monto</translation> </message> </context> <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Copiar dirección</translation> + </message> + <message> <source>Address</source> - <translation>Domicilio</translation> + <translation>Dirección</translation> </message> <message> <source>Amount</source> @@ -589,6 +641,10 @@ <source>Label</source> <translation>Etiqueta</translation> </message> + <message> + <source>Message</source> + <translation>Mensaje</translation> + </message> </context> <context> <name>RecentRequestsTableModel</name> @@ -601,6 +657,10 @@ <translation>Etiqueta</translation> </message> <message> + <source>Message</source> + <translation>Mensaje</translation> + </message> + <message> <source>Amount</source> <translation>Monto</translation> </message> @@ -613,7 +673,7 @@ <name>SendCoinsDialog</name> <message> <source>Send Coins</source> - <translation>Mandar monedas</translation> + <translation>Enviar monedas</translation> </message> <message> <source>Bytes:</source> @@ -632,6 +692,10 @@ <translation>Cuota:</translation> </message> <message> + <source>fast</source> + <translation>rápido</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Enviar a múltiples receptores a la vez</translation> </message> @@ -645,35 +709,35 @@ </message> <message> <source>Confirm send coins</source> - <translation>Confirme para mandar monedas</translation> + <translation>Confirme para enviar monedas</translation> </message> <message> <source>Copy quantity</source> - <translation>copiar cantidad</translation> + <translation>Copiar cantidad</translation> </message> <message> <source>Copy amount</source> - <translation>copiar monto</translation> + <translation>Copiar monto</translation> </message> <message> <source>Copy fee</source> - <translation>copiar cuota</translation> + <translation>Copiar cuota</translation> </message> <message> <source>Copy after fee</source> - <translation>copiar despues de cuota</translation> + <translation>Copiar después de cuota</translation> </message> <message> <source>Copy bytes</source> - <translation>copiar bytes</translation> + <translation>Copiar bytes</translation> </message> <message> <source>Copy priority</source> - <translation>copiar prioridad</translation> + <translation>Copiar prioridad</translation> </message> <message> <source>Copy change</source> - <translation>copiar cambio</translation> + <translation>Copiar cambio</translation> </message> <message> <source>or</source> @@ -685,7 +749,7 @@ </message> <message> <source>Transaction creation failed!</source> - <translation>¡La creación de transacion falló!</translation> + <translation>¡La creación de la transación falló!</translation> </message> <message> <source>The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here.</source> @@ -776,12 +840,16 @@ <source>Alt+P</source> <translation>Alt+P</translation> </message> + <message> + <source>Signature</source> + <translation>Firma</translation> + </message> </context> <context> <name>SplashScreen</name> <message> <source>Bitcoin Core</source> - <translation>nucleo Bitcoin</translation> + <translation>Bitcoin Core</translation> </message> <message> <source>The Bitcoin Core developers</source> @@ -806,14 +874,42 @@ <translation>%1 confirmaciones</translation> </message> <message> + <source>Status</source> + <translation>Estado</translation> + </message> + <message> <source>Date</source> <translation>Fecha</translation> </message> <message> + <source>From</source> + <translation>De</translation> + </message> + <message> + <source>To</source> + <translation>Para</translation> + </message> + <message> + <source>label</source> + <translation>etiqueta</translation> + </message> + <message> + <source>Message</source> + <translation>Mensaje</translation> + </message> + <message> + <source>Comment</source> + <translation>Comentario</translation> + </message> + <message> <source>Transaction ID</source> <translation>ID</translation> </message> <message> + <source>Transaction</source> + <translation>Transacción</translation> + </message> + <message> <source>Amount</source> <translation>Monto</translation> </message> @@ -869,7 +965,7 @@ </message> <message> <source>Received with</source> - <translation>Recivido con</translation> + <translation>Recibido con</translation> </message> <message> <source>Sent to</source> @@ -928,7 +1024,7 @@ </message> <message> <source>Received with</source> - <translation>Recivido con</translation> + <translation>Recibido con</translation> </message> <message> <source>Sent to</source> @@ -987,6 +1083,10 @@ <translation>Exportacion satisfactoria</translation> </message> <message> + <source>The transaction history was successfully saved to %1.</source> + <translation>el historial de transaciones ha sido guardado exitosamente en %1</translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Arhchivo separado por comas (*.CSV)</translation> </message> @@ -1050,14 +1150,30 @@ <source>There was an error trying to save the wallet data to %1.</source> <translation>Ocurrio un error tratando de guardar la información de la cartera %1</translation> </message> + <message> + <source>The wallet data was successfully saved to %1.</source> + <translation>La información de la cartera fué guardada exitosamente a %1</translation> + </message> </context> <context> <name>bitcoin-core</name> <message> + <source>Options:</source> + <translation>Opciones:</translation> + </message> + <message> <source><category> can be:</source> <translation><categoria> puede ser:</translation> </message> <message> + <source>Verifying blocks...</source> + <translation>Verificando bloques...</translation> + </message> + <message> + <source>Verifying wallet...</source> + <translation>Verificando cartera...</translation> + </message> + <message> <source>Wallet options:</source> <translation>Opciones de cartera:</translation> </message> diff --git a/src/qt/locale/bitcoin_es_UY.ts b/src/qt/locale/bitcoin_es_UY.ts index 5029333b5b..32d433d6ec 100644 --- a/src/qt/locale/bitcoin_es_UY.ts +++ b/src/qt/locale/bitcoin_es_UY.ts @@ -2,21 +2,70 @@ <context> <name>AddressBookPage</name> <message> + <source>Right-click to edit address or label</source> + <translation>Clic derecho para editar dirección o etiqueta</translation> + </message> + <message> <source>Create a new address</source> <translation>Crear una nueva dirección </translation> </message> <message> + <source>&New</source> + <translation>Nuevo</translation> + </message> + <message> <source>Copy the currently selected address to the system clipboard</source> <translation>Copia la dirección seleccionada al portapapeles del sistema</translation> </message> <message> + <source>&Copy</source> + <translation>Copiar</translation> + </message> + <message> + <source>C&lose</source> + <translation>Cerrar</translation> + </message> + <message> + <source>&Copy Address</source> + <translation>Copiar Dirección</translation> + </message> + <message> + <source>&Export</source> + <translation>Exportar</translation> + </message> + <message> <source>&Delete</source> <translation>&Borrar</translation> </message> <message> + <source>Choose the address to send coins to</source> + <translation>Elige una dirección donde enviar monedas a</translation> + </message> + <message> + <source>Sending addresses</source> + <translation>Enviando direcciones</translation> + </message> + <message> + <source>Receiving addresses</source> + <translation>Recibiendo direcciones +</translation> + </message> + <message> + <source>&Edit</source> + <translation>Editar</translation> + </message> + <message> + <source>Export Address List</source> + <translation>Exportar Lista de Direcciones</translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Archivos separados por coma (*.csv)</translation> </message> + <message> + <source>Exporting Failed</source> + <translation>Exportación fallida</translation> + </message> </context> <context> <name>AddressTableModel</name> @@ -76,6 +125,14 @@ <translation>Confirme el cifrado del monedero</translation> </message> <message> + <source>Are you sure you wish to encrypt your wallet?</source> + <translation>Estas seguro que deseas encriptar tu billetera?</translation> + </message> + <message> + <source>Warning: The Caps Lock key is on!</source> + <translation>Atención: la tecla Mayusculas esta activa!</translation> + </message> + <message> <source>Wallet encrypted</source> <translation>Monedero cifrado</translation> </message> @@ -130,18 +187,58 @@ <translation>Buscar en el historial de transacciones</translation> </message> <message> + <source>E&xit</source> + <translation>Salida</translation> + </message> + <message> <source>Quit application</source> <translation>Salir de la aplicacion </translation> </message> <message> + <source>Show information about Qt</source> + <translation>Mostrar informacioón sobre</translation> + </message> + <message> <source>&Options...</source> <translation>&Opciones...</translation> </message> <message> + <source>&Backup Wallet...</source> + <translation>Respaldar Billetera</translation> + </message> + <message> + <source>&Change Passphrase...</source> + <translation>Cambiar contraseña</translation> + </message> + <message> + <source>&Sending addresses...</source> + <translation>Enviando direcciones</translation> + </message> + <message> + <source>&Receiving addresses...</source> + <translation>Recibiendo direcciones</translation> + </message> + <message> + <source>Send coins to a Bitcoin address</source> + <translation>Enviar monedas a una dirección BItCoin</translation> + </message> + <message> <source>Change the passphrase used for wallet encryption</source> <translation>Cambie la clave utilizada para el cifrado del monedero</translation> </message> <message> + <source>Bitcoin</source> + <translation>Bitcoin</translation> + </message> + <message> + <source>Wallet</source> + <translation>Billetera</translation> + </message> + <message> + <source>&Show / Hide</source> + <translation>Mostrar / Ocultar</translation> + </message> + <message> <source>&File</source> <translation>&Archivo</translation> </message> @@ -158,6 +255,18 @@ <translation>Barra de herramientas</translation> </message> <message> + <source>Error</source> + <translation>Error</translation> + </message> + <message> + <source>Warning</source> + <translation>Alerta</translation> + </message> + <message> + <source>Information</source> + <translation>Información</translation> + </message> + <message> <source>Up to date</source> <translation>A la fecha</translation> </message> @@ -166,6 +275,17 @@ <translation>Ponerse al dia...</translation> </message> <message> + <source>Type: %1 +</source> + <translation>Tipo: %1 +</translation> + </message> + <message> + <source>Address: %1 +</source> + <translation>Dirección: %1</translation> + </message> + <message> <source>Sent transaction</source> <translation>Transaccion enviada</translation> </message> @@ -188,10 +308,38 @@ <context> <name>CoinControlDialog</name> <message> + <source>Quantity:</source> + <translation>Cantidad:</translation> + </message> + <message> + <source>Bytes:</source> + <translation>Bytes:</translation> + </message> + <message> + <source>Amount:</source> + <translation>AMonto:</translation> + </message> + <message> + <source>Priority:</source> + <translation>Prioridad:</translation> + </message> + <message> + <source>Change:</source> + <translation>Cambio:</translation> + </message> + <message> <source>Date</source> <translation>Fecha</translation> </message> <message> + <source>Confirmed</source> + <translation>Confirmado</translation> + </message> + <message> + <source>Priority</source> + <translation>Prioridad</translation> + </message> + <message> <source>(no label)</source> <translation>(Sin etiqueta)</translation> </message> @@ -227,6 +375,10 @@ <translation>Editar dirección de envío </translation> </message> <message> + <source>The entered address "%1" is already in the address book.</source> + <translation>La dirección introducida "%1" ya está en la libreta de direcciones.</translation> + </message> + <message> <source>Could not unlock wallet.</source> <translation>No se puede abrir el monedero.</translation> </message> @@ -243,6 +395,10 @@ </context> <context> <name>Intro</name> + <message> + <source>Error</source> + <translation>Error</translation> + </message> </context> <context> <name>OpenURIDialog</name> @@ -253,6 +409,10 @@ <source>Options</source> <translation>Opciones</translation> </message> + <message> + <source>W&allet</source> + <translation>Billetera</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -275,6 +435,10 @@ </context> <context> <name>RPCConsole</name> + <message> + <source>&Information</source> + <translation>Información</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -286,6 +450,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>Copiar Dirección</translation> + </message> + <message> <source>Address</source> <translation>Direccion </translation> </message> @@ -316,6 +484,26 @@ <translation>Enviar monedas</translation> </message> <message> + <source>Quantity:</source> + <translation>Cantidad:</translation> + </message> + <message> + <source>Bytes:</source> + <translation>Bytes:</translation> + </message> + <message> + <source>Amount:</source> + <translation>AMonto:</translation> + </message> + <message> + <source>Priority:</source> + <translation>Prioridad:</translation> + </message> + <message> + <source>Change:</source> + <translation>Cambio:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Enviar a varios destinatarios a la vez</translation> </message> @@ -370,6 +558,10 @@ <source>Alt+P</source> <translation>Alt+P</translation> </message> + <message> + <source>Pay To:</source> + <translation>Pagar A:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -410,6 +602,10 @@ <translation>Fecha</translation> </message> <message> + <source>Transaction</source> + <translation>Transaccion</translation> + </message> + <message> <source>unknown</source> <translation>desconocido</translation> </message> @@ -435,10 +631,18 @@ <context> <name>TransactionView</name> <message> + <source>Exporting Failed</source> + <translation>Exportación fallida</translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Archivos separados por coma (*.csv)</translation> </message> <message> + <source>Confirmed</source> + <translation>Confirmado</translation> + </message> + <message> <source>Date</source> <translation>Fecha</translation> </message> @@ -466,8 +670,28 @@ </context> <context> <name>WalletView</name> + <message> + <source>&Export</source> + <translation>Exportar</translation> + </message> </context> <context> <name>bitcoin-core</name> - </context> + <message> + <source>Options:</source> + <translation>Opciones:</translation> + </message> + <message> + <source>Information</source> + <translation>Información</translation> + </message> + <message> + <source>Warning</source> + <translation>Alerta</translation> + </message> + <message> + <source>Error</source> + <translation>Error</translation> + </message> +</context> </TS>
\ No newline at end of file diff --git a/src/qt/locale/bitcoin_es_VE.ts b/src/qt/locale/bitcoin_es_VE.ts index f9db056553..582e728846 100644 --- a/src/qt/locale/bitcoin_es_VE.ts +++ b/src/qt/locale/bitcoin_es_VE.ts @@ -85,7 +85,11 @@ <source>Exporting Failed</source> <translation>Exportación fallida</translation> </message> - </context> + <message> + <source>There was an error trying to save the address list to %1. Please try again.</source> + <translation>Hubo un error intentando guardar la lista de direcciones al %1. Por favor intente nuevamente.</translation> + </message> +</context> <context> <name>AddressTableModel</name> <message> @@ -234,6 +238,10 @@ <translation>Quitar aplicación</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>Recepción de direcciones</translation> + </message> + <message> <source>Bitcoin Core client</source> <translation>Cliente Bitcoin Core</translation> </message> @@ -314,6 +322,14 @@ <translation>Bitcoin Core</translation> </message> <message> + <source>&About Bitcoin Core</source> + <translation>Acerca de Bitcoin Core</translation> + </message> + <message> + <source>&Command-line options</source> + <translation>Opciones de línea de comandos</translation> + </message> + <message> <source>%1 and %2</source> <translation>%1 y %2</translation> </message> @@ -684,7 +700,7 @@ <source>command-line options</source> <translation>opciones de línea de comandos</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -746,6 +762,10 @@ <translation>&Main</translation> </message> <message> + <source>W&allet</source> + <translation>Billetera</translation> + </message> + <message> <source>none</source> <translation>ninguno</translation> </message> @@ -771,10 +791,22 @@ </context> <context> <name>RPCConsole</name> + <message> + <source>&Information</source> + <translation>Información</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Monto:</translation> + </message> + <message> + <source>&Label:</source> + <translation>&Etiqueta:</translation> + </message> + <message> <source>Copy label</source> <translation>Copiar etiqueta</translation> </message> @@ -786,6 +818,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Copiar Dirección</translation> + </message> + <message> <source>Address</source> <translation>Dirección</translation> </message> @@ -882,6 +918,14 @@ </context> <context> <name>SendCoinsEntry</name> + <message> + <source>A&mount:</source> + <translation>Monto:</translation> + </message> + <message> + <source>&Label:</source> + <translation>&Etiqueta:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -906,6 +950,10 @@ <translation>Fecha</translation> </message> <message> + <source>Transaction</source> + <translation>Transacción</translation> + </message> + <message> <source>Amount</source> <translation>Monto</translation> </message> @@ -991,6 +1039,14 @@ <translation>Copia de seguridad fallida</translation> </message> <message> + <source>There was an error trying to save the wallet data to %1.</source> + <translation>Hubo un error intentando guardar los datos de la billetera al %1</translation> + </message> + <message> + <source>The wallet data was successfully saved to %1.</source> + <translation>Los datos de la billetera fueron guardados exitosamente al %1</translation> + </message> + <message> <source>Backup Successful</source> <translation>Copia de seguridad completada</translation> </message> diff --git a/src/qt/locale/bitcoin_et.ts b/src/qt/locale/bitcoin_et.ts index 1d6d1b89e5..945e4cfa58 100644 --- a/src/qt/locale/bitcoin_et.ts +++ b/src/qt/locale/bitcoin_et.ts @@ -329,6 +329,14 @@ <source>Bitcoin Core</source> <translation>Bitcoini tuumik</translation> </message> + <message> + <source>&About Bitcoin Core</source> + <translation>Kirjeldus Bitcoini Tuumast</translation> + </message> + <message> + <source>&Command-line options</source> + <translation>Käsurea valikud</translation> + </message> <message numerus="yes"> <source>%n hour(s)</source> <translation><numerusform>%n tund</numerusform><numerusform>%n tundi</numerusform></translation> @@ -606,7 +614,7 @@ <source>command-line options</source> <translation>käsurea valikud</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -640,6 +648,10 @@ <translation>Valikud</translation> </message> <message> + <source>&Main</source> + <translation>&Peamine</translation> + </message> + <message> <source>MB</source> <translation>MB</translation> </message> @@ -810,6 +822,10 @@ <translation>&Informatsioon</translation> </message> <message> + <source>Debug window</source> + <translation>Debugimise aken</translation> + </message> + <message> <source>General</source> <translation>Üldine</translation> </message> @@ -948,6 +964,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Kopeeri Aadress</translation> + </message> + <message> <source>Address</source> <translation>Aadress</translation> </message> @@ -1010,6 +1030,10 @@ <translation>Müntide saatmine</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Liiga suur summa</translation> + </message> + <message> <source>Quantity:</source> <translation>Kogus:</translation> </message> @@ -1022,6 +1046,10 @@ <translation>Tasu:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Tehingu tasu:</translation> + </message> + <message> <source>Choose...</source> <translation>Vali...</translation> </message> @@ -1132,6 +1160,10 @@ <source>Message:</source> <translation>Sõnum:</translation> </message> + <message> + <source>Pay To:</source> + <translation>Maksa :</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1284,6 +1316,10 @@ <translation>Avatud kuni %1</translation> </message> <message> + <source>%1/offline</source> + <translation>%1/offline'is</translation> + </message> + <message> <source>%1/unconfirmed</source> <translation>%1/kinnitamata</translation> </message> @@ -1732,10 +1768,30 @@ <translation>Rahakoti valikud:</translation> </message> <message> + <source>(default: %u)</source> + <translation>(vaikimisi: %u)</translation> + </message> + <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Tundmatu -whitebind aadress: '%s'</translation> + </message> + <message> <source>Information</source> <translation>Informatsioon</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>-maxtxfee=<amount> jaoks vigane kogus: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>-minrelaytxfee=<amount> jaoks vigane kogus: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>-mintxfee=<amount> jaoks vigane kogus: '%s'</translation> + </message> + <message> <source>RPC server options:</source> <translation>RPC serveri valikud:</translation> </message> diff --git a/src/qt/locale/bitcoin_eu_ES.ts b/src/qt/locale/bitcoin_eu_ES.ts index 4da6cc0dce..ca6b6489d1 100644 --- a/src/qt/locale/bitcoin_eu_ES.ts +++ b/src/qt/locale/bitcoin_eu_ES.ts @@ -250,6 +250,10 @@ <translation>&Aukerak...</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>Helbideak jasotzen</translation> + </message> + <message> <source>Change the passphrase used for wallet encryption</source> <translation>Aldatu zorroa enkriptatzeko erabilitako pasahitza</translation> </message> @@ -415,10 +419,18 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Kopurua</translation> + </message> + <message> <source>&Label:</source> <translation>&Etiketa:</translation> </message> <message> + <source>&Message:</source> + <translation>Mezua</translation> + </message> + <message> <source>Copy label</source> <translation>Kopiatu etiketa</translation> </message> @@ -426,6 +438,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Kopiatu helbidea</translation> + </message> + <message> <source>Address</source> <translation>Helbidea</translation> </message> @@ -437,6 +453,10 @@ <source>Label</source> <translation>Etiketa</translation> </message> + <message> + <source>Message</source> + <translation>Mezua</translation> + </message> </context> <context> <name>RecentRequestsTableModel</name> @@ -449,6 +469,10 @@ <translation>Etiketa</translation> </message> <message> + <source>Message</source> + <translation>Mezua</translation> + </message> + <message> <source>Amount</source> <translation>Kopurua</translation> </message> @@ -526,6 +550,10 @@ <source>Message:</source> <translation>Mezua</translation> </message> + <message> + <source>Pay To:</source> + <translation>Ordaindu honi:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -574,6 +602,14 @@ <translation>Data</translation> </message> <message> + <source>Message</source> + <translation>Mezua</translation> + </message> + <message> + <source>Transaction</source> + <translation>Transakzioaren</translation> + </message> + <message> <source>Amount</source> <translation>Kopurua</translation> </message> diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts index 3ef9766604..7ab3b77da3 100644 --- a/src/qt/locale/bitcoin_fa.ts +++ b/src/qt/locale/bitcoin_fa.ts @@ -397,6 +397,10 @@ <source>Show the list of used receiving addresses and labels</source> <translation>نمایش لیست آدرس های دریافت و لیبل ها</translation> </message> + <message> + <source>&Command-line options</source> + <translation>گزینههای خطفرمان</translation> + </message> <message numerus="yes"> <source>%n active connection(s) to Bitcoin network</source> <translation><numerusform>%n ارتباط فعال با شبکهٔ بیتکوین</numerusform></translation> @@ -418,6 +422,14 @@ <translation><numerusform>%n هفته</numerusform></translation> </message> <message> + <source>%1 and %2</source> + <translation>%1 و %2</translation> + </message> + <message numerus="yes"> + <source>%n year(s)</source> + <translation><numerusform>%n سال</numerusform></translation> + </message> + <message> <source>%1 behind</source> <translation>%1 عقبتر</translation> </message> @@ -712,7 +724,7 @@ <source>command-line options</source> <translation>گزینههای خط فرمان</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -743,6 +755,10 @@ <source>Error</source> <translation>خطا</translation> </message> + <message numerus="yes"> + <source>%n GB of free space available</source> + <translation><numerusform>%n گیگابایت فضا موجود است</numerusform></translation> + </message> </context> <context> <name>OpenURIDialog</name> @@ -770,6 +786,10 @@ <translation>&شبکه</translation> </message> <message> + <source>W&allet</source> + <translation>کیف پول</translation> + </message> + <message> <source>Expert</source> <translation>استخراج</translation> </message> @@ -976,6 +996,10 @@ <translation>&اطلاعات</translation> </message> <message> + <source>Debug window</source> + <translation>پنجرهٔ اشکالزدایی</translation> + </message> + <message> <source>Using OpenSSL version</source> <translation>نسخهٔ OpenSSL استفاده شده</translation> </message> @@ -1067,10 +1091,18 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>مبلغ:</translation> + </message> + <message> <source>&Label:</source> <translation>&برچسب:</translation> </message> <message> + <source>&Message:</source> + <translation>پیام:</translation> + </message> + <message> <source>Show</source> <translation>نمایش</translation> </message> @@ -1094,6 +1126,10 @@ <translation>کد QR</translation> </message> <message> + <source>Copy &Address</source> + <translation>&کپی نشانی</translation> + </message> + <message> <source>Address</source> <translation>نشانی</translation> </message> @@ -1148,6 +1184,10 @@ <translation>ارسال سکه</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>بود جه نا کافی </translation> + </message> + <message> <source>Quantity:</source> <translation>تعداد:</translation> </message> @@ -1176,6 +1216,10 @@ <translation>پول خورد:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>هزینهٔ تراکنش:</translation> + </message> + <message> <source>fast</source> <translation>سریع</translation> </message> @@ -1290,6 +1334,10 @@ <source>Message:</source> <translation>پیام:</translation> </message> + <message> + <source>Pay To:</source> + <translation>پرداخت به:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1930,6 +1978,18 @@ <translation>اطلاعات</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>میزان وجه اشتباه برای maxtxfee=<میزان وجه>: %s</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>میزان وجه اشتباه برای minrelaytxfee=<میزان وجه>: %s</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>میزان وجه اشتباه برای mintxfee=<میزان وجه>: %s</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>اطلاعات ردگیری/اشکالزدایی را به جای فایل لاگ اشکالزدایی به کنسول بفرستید</translation> </message> diff --git a/src/qt/locale/bitcoin_fa_IR.ts b/src/qt/locale/bitcoin_fa_IR.ts index fd9de2e049..8bbfc72424 100644 --- a/src/qt/locale/bitcoin_fa_IR.ts +++ b/src/qt/locale/bitcoin_fa_IR.ts @@ -250,6 +250,10 @@ <translation>تغییر رمز/پَس فرِیز</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>دریافت آدرس ها</translation> + </message> + <message> <source>Backup wallet to another location</source> <translation>گرفتن نسخه پیشتیبان در آدرسی دیگر</translation> </message> @@ -392,6 +396,10 @@ <translation>ویرایش حساب ارسال کننده</translation> </message> <message> + <source>The entered address "%1" is already in the address book.</source> + <translation>حساب وارد شده «%1» از پیش در دفترچه حساب ها موجود است.</translation> + </message> + <message> <source>The entered address "%1" is not a valid Bitcoin address.</source> <translation>آدرس وارد شده "%1" یک آدرس صحیح برای bitcoin نسشت</translation> </message> @@ -435,6 +443,14 @@ <translation>انتخاب/آپشن</translation> </message> <message> + <source>&Network</source> + <translation>شبکه</translation> + </message> + <message> + <source>W&allet</source> + <translation>کیف پول</translation> + </message> + <message> <source>&OK</source> <translation>و تایید</translation> </message> @@ -504,10 +520,18 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>میزان وجه:</translation> + </message> + <message> <source>&Label:</source> <translation>و برچسب</translation> </message> <message> + <source>&Message:</source> + <translation>پیام:</translation> + </message> + <message> <source>Copy label</source> <translation>برچسب را کپی کنید</translation> </message> @@ -519,6 +543,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>کپی آدرس</translation> + </message> + <message> <source>Address</source> <translation>حساب</translation> </message> @@ -573,6 +601,10 @@ <translation>سکه های ارسالی</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>وجوه ناکافی</translation> + </message> + <message> <source>Amount:</source> <translation>میزان وجه:</translation> </message> @@ -685,6 +717,10 @@ <source>Alt+P</source> <translation>Alt و P</translation> </message> + <message> + <source>Sign &Message</source> + <translation>و امضای پیام </translation> + </message> </context> <context> <name>SplashScreen</name> @@ -1000,6 +1036,18 @@ <translation>مبلغ تراکنش کمتر از آن است که پس از کسر هزینه تراکنش قابل ارسال باشد</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>میزان اشتباه است for -maxtxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>میزان اشتباه است for -minrelaytxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>میزان اشتباه است for -mintxfee=<amount>: '%s'</translation> + </message> + <message> <source>RPC server options:</source> <translation>گزینه های سرویس دهنده RPC:</translation> </message> diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts index 71ea96644b..57987b26ec 100644 --- a/src/qt/locale/bitcoin_fi.ts +++ b/src/qt/locale/bitcoin_fi.ts @@ -222,7 +222,15 @@ </context> <context> <name>BanTableModel</name> - </context> + <message> + <source>IP/Netmask</source> + <translation>IP/Verkon peite</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Estetty kunnes</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -874,6 +882,34 @@ <source>command-line options</source> <translation>komentorivi parametrit</translation> </message> + <message> + <source>UI Options:</source> + <translation>Käyttöliittymän asetukset:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Valitse datahakemisto käynnistyksen yhteydessä (oletus: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Aseta kieli, esimerkiksi "de_DE" (oletus: järjestelmän kieli)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Käynnistä pienennettynä</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Aseta maksupyynnöille SSL-juurivarmenteet (oletus: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Näytä aloitusruutu käynnistyksen yhteydessä (oletus: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Nollaa kaikki graafisen käyttöliittymän kautta tehdyt muutokset</translation> + </message> </context> <context> <name>Intro</name> @@ -980,6 +1016,14 @@ <translation>IP osoite proxille (esim. IPv4: 127.0.0.1 / IPv6: ::1)</translation> </message> <message> + <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source> + <translation>Minimoi ikkuna ohjelman sulkemisen sijasta kun ikkuna suljetaan. Kun tämä asetus on käytössä, ohjelma suljetaan vain valittaessa valikosta Poistu.</translation> + </message> + <message> + <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin Core.</source> + <translation>Käyttöliittymän kieli voidaan asettaa tässä. Tämä asetus tulee käyttöön vasta kun Bitcoin Core käynnistetään uudelleen.</translation> + </message> + <message> <source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source> <translation>Ulkopuoliset URL-osoitteet (esim. block explorer,) jotka esiintyvät siirrot-välilehdellä valikossa. %s URL-osoitteessa korvataan siirtotunnuksella. Useampi URL-osoite on eroteltu pystyviivalla |.</translation> </message> @@ -1064,6 +1108,34 @@ <translation>Proxyn Portti (esim. 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Vertaisten saavuttamiseen käytettävät verkkotyypit:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Ilmoittaa, mikäli oletetettua SOCKS5-välityspalvelinta käytetään tämän verkkotyypin kautta vertaisten saavuttamiseen.</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Yhdistä Bitcoin-verkkoon erillisen SOCKS5-välityspalvelimen kautta piilotettuja Tor-palveluja varten.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Käytä erillistä SOCKS5-välityspalvelinta saavuttaaksesi vertaisia piilotettujen Tor-palveluiden kautta:</translation> + </message> + <message> <source>&Window</source> <translation>&Ikkuna</translation> </message> @@ -1434,6 +1506,22 @@ <translation>Nykyinen Lohkojen määrä</translation> </message> <message> + <source>Memory Pool</source> + <translation>Muistiallas</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Tämänhetkinen rahansiirtojen määrä</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Muistin käyttö</translation> + </message> + <message> + <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> + <translation>Avaa Bitcoin Coren debug-loki tämänhetkisestä datahakemistosta. Tämä voi viedä muutaman sekunnin suurille lokitiedostoille.</translation> + </message> + <message> <source>Received</source> <translation>Vastaanotetut</translation> </message> @@ -1446,10 +1534,18 @@ <translation>&Vertaiset</translation> </message> <message> + <source>Banned peers</source> + <translation>Estetyt vertaiset</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Valitse vertainen eriteltyjä tietoja varten.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Sallittu</translation> + </message> + <message> <source>Direction</source> <translation>Suunta</translation> </message> @@ -1458,6 +1554,18 @@ <translation>Versio</translation> </message> <message> + <source>Starting Block</source> + <translation>Alkaen lohkosta</translation> + </message> + <message> + <source>Synced Headers</source> + <translation>Synkronoidut ylätunnisteet</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>Synkronoidut lohkot</translation> + </message> + <message> <source>User Agent</source> <translation>Käyttöliittymä</translation> </message> @@ -1486,6 +1594,14 @@ <translation>Vasteaika</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>Tämänhetkisen merkittävän yhteyskokeilun kesto.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Yhteyskokeilun odotus</translation> + </message> + <message> <source>Time Offset</source> <translation>Ajan poikkeama</translation> </message> @@ -1534,6 +1650,34 @@ <translation>Tyhjennä konsoli</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Katkaise yhteys solmukohtaan</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Estä solmukohta</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &tunti</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &päivä</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &viikko</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &vuosi</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Poista solmukohdan esto</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Tervetuloa Bitcoin Coren RPC-konsoliin.</translation> </message> @@ -1562,6 +1706,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(solmukohdan id: %1)</translation> + </message> + <message> <source>via %1</source> <translation>%1 kautta</translation> </message> @@ -1942,6 +2090,10 @@ <translation>Kopioi vaihtoraha</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Kokonaismäärä %1</translation> + </message> + <message> <source>or</source> <translation>tai</translation> </message> @@ -1974,10 +2126,22 @@ <translation>Maksupyyntö on vanhentunut.</translation> </message> <message> + <source>Pay only the required fee of %1</source> + <translation>Maksa vain vaadittu kulu kooltaan %1</translation> + </message> + <message numerus="yes"> + <source>Estimated to begin confirmation within %n block(s).</source> + <translation><numerusform>Vahvistuminen alkaa arviolta %n lohkon päästä.</numerusform><numerusform>Vahvistuminen alkaa arviolta %n lohkon päästä.</numerusform></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Vastaanottajan osoite ei ole kelvollinen. Tarkistathan uudelleen.</translation> </message> <message> + <source>Duplicate address found: addresses should only be used once each.</source> + <translation>Duplikaattiosoite löytyi: kutakin osoitetta pitäisi käyttää vain kerran.</translation> + </message> + <message> <source>Warning: Invalid Bitcoin address</source> <translation>Varoitus: Virheellinen Bitcoin osoite</translation> </message> @@ -2506,6 +2670,10 @@ <translation>Onko rahansiirrossa mukana ainoastaan katseltava osoite vai ei.</translation> </message> <message> + <source>User-defined intent/purpose of the transaction.</source> + <translation>Käyttäjän määrittämä käyttötarkoitus rahansiirrolle.</translation> + </message> + <message> <source>Amount removed from or added to balance.</source> <translation>Saldoon lisätty tai siitä vähennetty määrä.</translation> </message> @@ -2585,6 +2753,10 @@ <translation>Kopioi siirtotunnus</translation> </message> <message> + <source>Copy raw transaction</source> + <translation>Kopioi rahansiirron raakavedos</translation> + </message> + <message> <source>Edit label</source> <translation>Muokkaa nimeä</translation> </message> @@ -2732,10 +2904,22 @@ <translation>Hyväksy merkkipohjaiset- ja JSON-RPC-käskyt</translation> </message> <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Jos <category> on toimittamatta tai jos <category> = 1, tulosta kaikki debug-tieto.</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Virhe: Kriittinen sisäinen virhe kohdattiin, katso debug.log lisätietoja varten</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>Aja taustalla daemonina ja hyväksy komennot</translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>HTTP-palvelinta ei voitu käynnistää. Katso debug-lokista lisätietoja.</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Hyväksy yhteyksiä ulkopuolelta (vakioasetus: 1 jos -proxy tai -connect ei määritelty)</translation> </message> @@ -2760,6 +2944,18 @@ <translation>Ei voida yhdistää %s tässä tietokoneessa. Bitcoin Core on luultavasti jo käynnissä.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Käytä UPnP:ta kuuntelevan portin kartoitukseen (oletus: 1 kun kuunnellaan ja -proxy ei käytössä)</translation> + </message> + <message> + <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> + <translation>VAROITUS: epätavallisen monta lohkoa generoitu, vastaanotettu %d lohkoa viimeisen %d tunnin aikana (odotettavissa %d)</translation> + </message> + <message> + <source>WARNING: check your network connection, %d blocks received in the last %d hours (%d expected)</source> + <translation>VAROITUS: tarkista verkkoyhteytesi, vastaanotettu %d lohkoa viimeisen %d tunnin aikana (odotettavissa %d)</translation> + </message> + <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Varoitus: Tietoverkko ei ole sovussa! Luohijat näyttävät kokevan virhetilanteita.</translation> </message> @@ -2772,6 +2968,10 @@ <translation>Varoitus: wallet.dat -lompakkotiedosto on korruptoitunut, tiedot pelastettu. Alkuperäinen wallet.dat -lompakkotiedosto on tallennettu wallet.{timestamp}.bak kansioon %s; jos balanssisi tai siirtohistoria on virheellinen, sinun tulisi palauttaa lompakkotiedosto varmuuskopiosta.</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool on oltava vähintään %d MB</translation> + </message> + <message> <source><category> can be:</source> <translation><category> voi olla:</translation> </message> @@ -2804,6 +3004,10 @@ <translation>Haluatko uudelleenrakentaa lohkotietokannan nyt?</translation> </message> <message> + <source>Enable publish raw transaction in <address></source> + <translation>Ota rahansiirtojen raakavedosten julkaisu käyttöön osoitteessa <address></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Virhe alustaessa lohkotietokantaa</translation> </message> @@ -2920,6 +3124,10 @@ <translation>Aktivoidaan parhainta ketjua...</translation> </message> <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Yritä palauttaa yksityiset avaimet korruptoituneesta wallet.dat-tiedostosta käynnistyksen yhteydessä</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>-whitebind -osoitetta '%s' ei voida jäsentää</translation> </message> @@ -2944,6 +3152,10 @@ <translation>Tietoa</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Virheellinen määrä -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Virheellinen määrä -minrelaytxfee=<amount>: '%s'</translation> </message> @@ -2964,6 +3176,10 @@ <translation>Vastaanota ja näytä P2P-verkon hälytyksiä (oletus: %u)</translation> </message> <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>Uudelleenskannaa lohkoketju käynnistyksen yhteydessä puuttuvien lompakon rahansiirtojen vuoksi</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Lähetä jäljitys/debug-tieto konsoliin, debug.log-tiedoston sijaan</translation> </message> @@ -2980,10 +3196,22 @@ <translation>Siirron vahvistus epäonnistui</translation> </message> <message> + <source>The transaction amount is too small to pay the fee</source> + <translation>Rahansiirron määrä on liian pieni kattaakseen maksukulun</translation> + </message> + <message> <source>This is experimental software.</source> <translation>Tämä on ohjelmistoa kokeelliseen käyttöön.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>Tor-hallintaportin salasana (oletus: tyhjä)</translation> + </message> + <message> + <source>Tor control port to use if onion listening enabled (default: %s)</source> + <translation>Tor-hallintaportti jota käytetään jos onion-kuuntelu on käytössä (oletus: %s)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Siirtosumma liian pieni</translation> </message> @@ -2992,10 +3220,18 @@ <translation>Siirtosumman tulee olla positiivinen</translation> </message> <message> + <source>Transaction too large for fee policy</source> + <translation>Rahansiirto on liian suuri maksukulukäytännölle</translation> + </message> + <message> <source>Transaction too large</source> <translation>Siirtosumma liian iso</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>Päivitä lompakko viimeisimpään formaattiin käynnistyksen yhteydessä</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>Käyttäjätunnus JSON-RPC-yhteyksille</translation> </message> @@ -3008,10 +3244,18 @@ <translation>Varoitus</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>Toimitaanko tilassa jossa ainoastaan lohkot sallitaan (oletus: %u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Tyhjennetään kaikki rahansiirrot lompakosta....</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ-ilmoitusasetukset:</translation> + </message> + <message> <source>wallet.dat corrupt, salvage failed</source> <translation>wallet.dat -lompakkotiedosto korruptoitunut, korjaaminen epäonnistui</translation> </message> @@ -3040,6 +3284,14 @@ <translation>Virhe ladattaessa wallet.dat-tiedostoa: Lompakko vioittunut</translation> </message> <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Älä pidä rahansiirtoja muistivarannoissa kauemmin kuin <n> tuntia (oletus: %u)</translation> + </message> + <message> + <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> + <translation>Kuinka läpikäyvä lohkojen -checkblocks -todennus on (0-4, oletus: %u)</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Käytä erillistä SOCKS5-proxyä tavoittaaksesi vertaisia Tor-piilopalveluiden kautta (oletus: %s)</translation> </message> @@ -3068,6 +3320,10 @@ <translation>Virheellinen proxy-osoite '%s'</translation> </message> <message> + <source>Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)</source> + <translation>Kuuntele JSON-RPC-yhteyksiä portissa <port> (oletus: %u tai testnet: %u)</translation> + </message> + <message> <source>Listen for connections on <port> (default: %u or testnet: %u)</source> <translation>Kuuntele yhteyksiä portissa <port> (oletus: %u tai testnet: %u)</translation> </message> @@ -3076,6 +3332,18 @@ <translation>Aseta lompakko kuuluttamaan rahansiirtoja</translation> </message> <message> + <source>Maximum per-connection receive buffer, <n>*1000 bytes (default: %u)</source> + <translation>Maksimi yhteyttä kohden käytettävä vastaanottopuskurin koko, <n>*1000 tavua (oletus: %u)</translation> + </message> + <message> + <source>Maximum per-connection send buffer, <n>*1000 bytes (default: %u)</source> + <translation>Maksimi yhteyttä kohden käytettävä lähetyspuskurin koko, <n>*1000 tavua (oletus: %u)</translation> + </message> + <message> + <source>Relay and mine data carrier transactions (default: %u)</source> + <translation>Välitä ja louhi dataa kantavia rahansiirtoja (oletus: %u)</translation> + </message> + <message> <source>Relay non-P2SH multisig (default: %u)</source> <translation>Välitä ei-P2SH-multisig (oletus: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts index d43e08cf9d..a0b9feb9ad 100644 --- a/src/qt/locale/bitcoin_fr.ts +++ b/src/qt/locale/bitcoin_fr.ts @@ -222,7 +222,15 @@ </context> <context> <name>BanTableModel</name> - </context> + <message> + <source>IP/Netmask</source> + <translation>IP/masque réseau</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Banni jusqu'au</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -726,6 +734,10 @@ <translation>Cette étiquette devient rouge si la priorité est plus basse que « moyenne ».</translation> </message> <message> + <source>This label turns red if any recipient receives an amount smaller than %1.</source> + <translation>Cette étiquette devient rouge si un destinataire reçoit un montant inférieur à %1.</translation> + </message> + <message> <source>Can vary +/- %1 satoshi(s) per input.</source> <translation>Peut varier +/- %1 satoshi(s) par entrée.</translation> </message> @@ -870,6 +882,34 @@ <source>command-line options</source> <translation>options de ligne de commande</translation> </message> + <message> + <source>UI Options:</source> + <translation>Options de l'IU :</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Choisir un répertoire de données au démarrage (par défaut : %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Définir la langue, par exemple « fr_CA » (par défaut : la langue du système)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Démarrer minimisé</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Définir les certificats SSL racine pour les requêtes de paiement (par défaut : -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Afficher l'écran d'accueil au démarrage (par défaut : %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Réinitialiser tous les changements de paramètres appliqués à l'IUG</translation> + </message> </context> <context> <name>Intro</name> @@ -913,7 +953,11 @@ <source>%n GB of free space available</source> <translation><numerusform>%n Go d'espace libre disponible</numerusform><numerusform>%n Go d'espace libre disponibles</numerusform></translation> </message> - </context> + <message numerus="yes"> + <source>(of %n GB needed)</source> + <translation><numerusform>(sur %n Go nécessaire)</numerusform><numerusform>(sur %n Go nécessaires)</numerusform></translation> + </message> +</context> <context> <name>OpenURIDialog</name> <message> @@ -1064,6 +1108,34 @@ <translation>Port du serveur mandataire (par ex. 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Utilisé pour rejoindre les pairs par :</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>S'affiche, si le mandataire SOCKS5 par défaut fourni est utilisé pour atteindre les pairs par ce type de réseau.</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Se connecter au réseau Bitcoin au travers d'un mandataire SOCKS5 séparé pour les services cachés de Tor.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Utiliser un mandataire SOCKS5 séparé pour atteindre les pairs grâce aux services cachés de Tor :</translation> + </message> + <message> <source>&Window</source> <translation>&Fenêtre</translation> </message> @@ -1329,7 +1401,7 @@ </message> <message> <source>%1 d</source> - <translation>%1 d</translation> + <translation>%1 j</translation> </message> <message> <source>%1 h</source> @@ -1434,6 +1506,18 @@ <translation>Nombre actuel de blocs</translation> </message> <message> + <source>Memory Pool</source> + <translation>Réserve de mémoire</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Nombre actuel de transactions</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Utilisation de la mémoire</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Ouvrir le journal de débogage du répertoire de données actuel. Ceci pourrait prendre quelques secondes pour les gros fichiers de journalisation.</translation> </message> @@ -1450,10 +1534,18 @@ <translation>&Pairs</translation> </message> <message> + <source>Banned peers</source> + <translation>Pairs bannis</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Choisir un pair pour voir l'information détaillée.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Dans la liste blanche</translation> + </message> + <message> <source>Direction</source> <translation>Direction</translation> </message> @@ -1462,6 +1554,18 @@ <translation>Version</translation> </message> <message> + <source>Starting Block</source> + <translation>Bloc de départ</translation> + </message> + <message> + <source>Synced Headers</source> + <translation>En-têtes synchronisés</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>Blocs synchronisés</translation> + </message> + <message> <source>User Agent</source> <translation>Agent utilisateur</translation> </message> @@ -1490,6 +1594,14 @@ <translation>Temps de ping</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>La durée d'un ping actuellement en cours.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Attente du ping</translation> + </message> + <message> <source>Time Offset</source> <translation>Décalage temporel</translation> </message> @@ -1538,6 +1650,34 @@ <translation>Nettoyer la console</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Déconnecter le nœud</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Bannir le nœud pendant</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &heure</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &jour</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &semaine</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &an</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Réhabiliter le nœud</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Bienvenue dans le console RPC de Bitcoin Core.</translation> </message> @@ -1566,6 +1706,10 @@ <translation>%1 Go</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(ID de nœud : %1)</translation> + </message> + <message> <source>via %1</source> <translation>par %1</translation> </message> @@ -1958,6 +2102,10 @@ <translation>Copier la monnaie</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Montant total %1</translation> + </message> + <message> <source>or</source> <translation>ou</translation> </message> @@ -1989,6 +2137,10 @@ <source>Payment request expired.</source> <translation>Demande de paiement expirée.</translation> </message> + <message> + <source>Pay only the required fee of %1</source> + <translation>Payer seulement les frais exigés de %1</translation> + </message> <message numerus="yes"> <source>Estimated to begin confirmation within %n block(s).</source> <translation><numerusform>Il est estimé que la confirmation commencera dans %n bloc.</numerusform><numerusform>Il est estimé que la confirmation commencera dans %n blocs.</numerusform></translation> @@ -2625,6 +2777,10 @@ <translation>Copier l'ID de la transaction</translation> </message> <message> + <source>Copy raw transaction</source> + <translation>Copier la transaction brute</translation> + </message> + <message> <source>Edit label</source> <translation>Modifier l’étiquette</translation> </message> @@ -2772,14 +2928,54 @@ <translation>Accepter les commandes de JSON-RPC et de la ligne de commande</translation> </message> <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Si <category> n'est pas indiqué ou si <category> = 1, extraire toutes les données de débogage.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Frais totaux maximaux (en %s) à utiliser en une seule transaction de portefeuille. Les définir trop bas pourrait interrompre les grosses transactions (par défaut : %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Veuillez vérifier que l'heure et la date de votre ordinateur sont justes ! Si votre horloge n'est pas à l'heure, Bitcoin Core ne fonctionnera pas correctement.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>L'élagage est configuré au-dessous du minimum de %d Mio. Veuillez utiliser un nombre plus élevé.</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Élagage : la dernière synchronisation de portefeuille va par-delà les données élaguées. Vous devez -reindex (réindexer, télécharger de nouveau toute la chaîne de blocs en cas de nœud élagué)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Réduire les exigences de stockage en élaguant (supprimant) les anciens blocs. Ce mode est incompatible avec -txindex et -rescan. Avertissement : ramener ce paramètre à sa valeur antérieure exige un nouveau téléchargement de la chaîne de blocs en entier (par défaut : 0 = désactiver l'élagage des blocs, >%u = taille cible en Mio à utiliser pour les fichiers de blocs).</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Les rebalayages sont impossibles en mode élagage. Vous devrez utiliser -reindex, ce qui téléchargera de nouveau la chaîne de blocs en entier.</translation> + </message> + <message> <source>Error: A fatal internal error occurred, see debug.log for details</source> <translation>Erreur : une erreur interne fatale s'est produite. Voir debug.log pour plus de détails</translation> </message> <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Les frais (en %s/ko) à ajouter aux transactions que vous envoyez (par défaut : %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Élagage du magasin de blocs...</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>Fonctionner en arrière-plan en tant que démon et accepter les commandes</translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Impossible de démarrer le serveur HTTP. Voir le journal de débogage pour plus de détails.</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Accepter les connexions entrantes (par défaut : 1 si aucun -proxy ou -connect )</translation> </message> @@ -2789,7 +2985,7 @@ </message> <message> <source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source> - <translation>Supprimer toutes les transactions du portefeuille et ne récupérer que ces parties de la chaîne de bloc avec -rescan au démarrage</translation> + <translation>Supprimer toutes les transactions du portefeuille et ne récupérer que ces parties de la chaîne de blocs avec -rescan au démarrage</translation> </message> <message> <source>Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>.</source> @@ -2804,6 +3000,10 @@ <translation>Définir le nombre d'exétrons de vérification des scripts (%u à %d, 0 = auto, < 0 = laisser ce nombre de cœurs inutilisés, par défaut : %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>La base de données de blocs contient un bloc qui semble provenir du futur. Cela pourrait être causé par la date et l'heure erronées de votre ordinateur. Ne reconstruisez la base de données de blocs que si vous êtes certain que la date et l'heure de votre ordinateur sont justes.</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>Ceci est une pré-version de test - l'utiliser à vos risques et périls - ne pas l'utiliser pour miner ou pour des applications marchandes</translation> </message> @@ -2812,6 +3012,10 @@ <translation>Impossible de se lier à %s sur cet ordinateur. Bitcoin Core fonctionne probablement déjà.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Utiliser l'UPnP pour mapper le port d'écoute (par défaut : 1 lors de l'écoute et pas de mandataire -proxy)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>AVERTISSEMENT : un nombre anormalement élevé de blocs a été généré, %d blocs reçus durant les %d dernières heures (%d attendus)</translation> </message> @@ -2836,6 +3040,10 @@ <translation>Pairs de la liste blanche se connectant à partir du masque réseau ou de l'IP donné. Peut être spécifié plusieurs fois.</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool doit être d'au moins %d Mo</translation> + </message> + <message> <source><category> can be:</source> <translation><category> peut être :</translation> </message> @@ -2868,6 +3076,22 @@ <translation>Voulez-vous reconstruire la base de données des blocs maintenant ?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Activer la publication du bloc de hachage dans <address></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Activer la publication de la transaction de hachage dans <address></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Activer la publication du bloc brut dans <address></translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Activer la publication de la transaction brute dans <address></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Erreur lors de l'initialisation de la base de données des blocs</translation> </message> @@ -2904,6 +3128,10 @@ <translation>Adresse -onion invalide : « %s »</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>Garder la réserve de mémoire transactionnelle sous <n> mégaoctets (par défaut : %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>Pas assez de descripteurs de fichiers proposés.</translation> </message> @@ -2932,10 +3160,26 @@ <translation>Spécifiez le fichier de portefeuille (dans le répertoire de données)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Argument non pris en charge -benchmark ignoré, utiliser -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Argument non pris en charge -debugnet ignoré, utiliser -debug=net.</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Argument non pris en charge -tor trouvé, utiliser -onion</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Utiliser l'UPnP pour mapper le port d'écoute (par défaut : %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>Le commentaire d'agent utilisateur (%s) contient des caractères dangereux.</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>Vérification des blocs en cours...</translation> </message> @@ -2992,6 +3236,10 @@ <translation>Exécuter une commande lorsqu'une alerte pertinente est reçue ou si nous voyons une bifurcation vraiment étendue (%s dans la commande est remplacé par le message)</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)</source> + <translation>Les frais (en %s/Ko) inférieurs à ce seuil sont considérés comme étant nuls pour le relais, le minage et la création de transactions (par défaut : %s)</translation> + </message> + <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Si paytxfee n'est pas défini, inclure suffisamment de frais afin que les transactions commencent la confirmation en moyenne avant n blocs (par défaut : %u)</translation> </message> @@ -3048,6 +3296,18 @@ <translation>Activation de la meilleure chaîne...</translation> </message> <message> + <source>Always relay transactions received from whitelisted peers (default: %d)</source> + <translation>Toujours relayer les transactions reçues des pairs de la liste blanche (par défaut : %d)</translation> + </message> + <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Tenter de récupérer les clefs privées d'un wallet.dat corrompu lors du démarrage</translation> + </message> + <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Créer automatiquement un service caché Tor (par défaut : %d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Impossible de résoudre l'adresse -whitebind : « %s »</translation> </message> @@ -3068,6 +3328,10 @@ <translation>Erreur de lecture de la base de données, fermeture en cours.</translation> </message> <message> + <source>Imports blocks from external blk000??.dat file on startup</source> + <translation>Importe des blocs depuis un fichier blk000??.dat externe lors du démarrage</translation> + </message> + <message> <source>Information</source> <translation>Informations</translation> </message> @@ -3120,6 +3384,14 @@ <translation>Recevoir et afficher les alertes du réseau poste à poste (%u par défaut)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Réduction de -maxconnections de %d à %d, due aux restrictions du système</translation> + </message> + <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>Réanalyser la chaîne de blocs au démarrage, à la recherche de transactions de portefeuille manquantes</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Envoyer les informations de débogage/trace à la console au lieu du fichier debug.log</translation> </message> @@ -3148,6 +3420,14 @@ <translation>Ceci est un logiciel expérimental.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>Mot de passe du port de contrôle Tor (par défaut : vide)</translation> + </message> + <message> + <source>Tor control port to use if onion listening enabled (default: %s)</source> + <translation>Port de contrôle Tor à utiliser si l'écoute onion est activée (par défaut :%s)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Montant de la transaction trop bas</translation> </message> @@ -3168,6 +3448,10 @@ <translation>Impossible de se lier à %s sur cet ordinateur (bind a retourné l'erreur %s)</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>Mettre à niveau le portefeuille au démarrage vers le format le plus récent</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>Nom d'utilisateur pour les connexions JSON-RPC</translation> </message> @@ -3180,10 +3464,18 @@ <translation>Avertissement</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>Faut-il fonctionner en mode blocs seulement (par défaut : %u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Supprimer toutes les transactions du portefeuille...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>Options de notification ZeroMQ</translation> + </message> + <message> <source>wallet.dat corrupt, salvage failed</source> <translation>wallet.dat corrompu, la récupération a échoué</translation> </message> @@ -3216,6 +3508,26 @@ <translation>(1 = conserver les métadonnées de transmission, par ex. les informations du propriétaire du compte et de la demande de paiement, 2 = abandonner les métadonnées de transmission)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee est défini très haut ! Des frais aussi élevés pourraient être payés en une seule transaction.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee est réglé sur un montant très élevé ! Il s'agit des frais de transaction que vous payerez si vous envoyez une transaction.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Ne pas conserver de transactions dans la réserve de mémoire plus de <n> heures (par défaut : %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Une erreur est survenue lors de la lecture de wallet.dat ! Toutes les clefs ont été lues correctement, mais les données transactionnelles ou les entrées du carnet d'adresses sont peut-être manquantes ou incorrectes.</translation> + </message> + <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Les frais (en %s/Ko) inférieurs à ce seuil sont considérés comme étant nuls pour la création de transactions (par défaut : %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Degré de profondeur de la vérification des blocs -checkblocks (0-4, par défaut : %u)</translation> </message> @@ -3232,10 +3544,30 @@ <translation>Extraire les informations de débogage (par défaut : %u, fournir <category> est optionnel)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Prendre en charge le filtrage des blocs et des transactions avec les filtres bloom (par défaut : %u)</translation> + </message> + <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>La taille totale de la chaîne de version de réseau (%i) dépasse la longueur maximale (%i). Réduire le nombre ou la taille des commentaires uacomments.</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Tente de garder le trafic sortant sous la cible donnée (en Mio par 24 h), 0 = sans limite (par défaut : %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>L'argument non pris en charge -socks a été trouvé. Il n'est plus possible de définir la version de SOCKS, seuls les mandataires SOCKS5 sont pris en charge.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Utiliser un serveur mandataire SOCKS5 séparé pour atteindre les pairs par les services cachés de Tor (par défaut : %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Nom d'utilisateur et mot de passe haché pour les connexions JSON-RPC. Le champ <userpw> vient au format : <USERNAME>:<SALT>$<HASH>. Un script python canonique est inclus dans share/rpcuser. Cette option peut être spécifiée plusieurs fois.</translation> + </message> + <message> <source>(default: %s)</source> <translation>(par défaut : %s)</translation> </message> @@ -3308,6 +3640,10 @@ <translation>Définir la taille de bloc minimale en octets (par défaut : %u)</translation> </message> <message> + <source>Set the number of threads to service RPC calls (default: %d)</source> + <translation>Définir le nombre d'exétrons pour desservir les appels RPC (par défaut : %d)</translation> + </message> + <message> <source>Specify configuration file (default: %s)</source> <translation>Spécifier le fichier de configuration (par défaut : %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_fr_CA.ts b/src/qt/locale/bitcoin_fr_CA.ts index 75f970f554..7e6925f96f 100644 --- a/src/qt/locale/bitcoin_fr_CA.ts +++ b/src/qt/locale/bitcoin_fr_CA.ts @@ -14,6 +14,10 @@ <translation>&Supprimer</translation> </message> <message> + <source>Sending addresses</source> + <translation>envoyer adresse de reception </translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Fichier séparé par une virgule (*.csv)</translation> </message> @@ -76,12 +80,28 @@ <context> <name>CoinControlDialog</name> <message> + <source>(un)select all</source> + <translation>Toute sélectionner </translation> + </message> + <message> + <source>Copy address</source> + <translation>copier l'adresse </translation> + </message> + <message> <source>(no label)</source> <translation>(pas de record)</translation> </message> </context> <context> <name>EditAddressDialog</name> + <message> + <source>&Label</source> + <translation>Record</translation> + </message> + <message> + <source>&Address</source> + <translation>Addresse</translation> + </message> </context> <context> <name>FreespaceChecker</name> @@ -91,6 +111,10 @@ </context> <context> <name>Intro</name> + <message> + <source>Welcome</source> + <translation>Bienvenue </translation> + </message> </context> <context> <name>OpenURIDialog</name> @@ -179,6 +203,10 @@ <context> <name>TransactionView</name> <message> + <source>Copy address</source> + <translation>copier l'adresse </translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Fichier séparé par une virgule (*.csv)</translation> </message> diff --git a/src/qt/locale/bitcoin_fr_FR.ts b/src/qt/locale/bitcoin_fr_FR.ts index c55b08b646..df63243353 100644 --- a/src/qt/locale/bitcoin_fr_FR.ts +++ b/src/qt/locale/bitcoin_fr_FR.ts @@ -363,10 +363,18 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Montant :</translation> + </message> + <message> <source>&Label:</source> <translation>&Étiquette :</translation> </message> <message> + <source>&Message:</source> + <translation>Message :</translation> + </message> + <message> <source>Copy label</source> <translation>Copier l'étiquette</translation> </message> @@ -428,6 +436,10 @@ <translation>Envoyer des pièces</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Fonds insuffisants</translation> + </message> + <message> <source>Amount:</source> <translation>Montant :</translation> </message> @@ -494,6 +506,10 @@ <source>Message:</source> <translation>Message :</translation> </message> + <message> + <source>Pay To:</source> + <translation>Payer à :</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -520,6 +536,10 @@ <source>Enter the message you want to sign here</source> <translation>Entrez ici le message que vous désirez signer</translation> </message> + <message> + <source>Sign &Message</source> + <translation>&Signer le message</translation> + </message> </context> <context> <name>SplashScreen</name> diff --git a/src/qt/locale/bitcoin_gl.ts b/src/qt/locale/bitcoin_gl.ts index 0b0800e742..96d4adeba9 100644 --- a/src/qt/locale/bitcoin_gl.ts +++ b/src/qt/locale/bitcoin_gl.ts @@ -262,6 +262,10 @@ <translation>&Cambiar contrasinal...</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>Direccións para recibir</translation> + </message> + <message> <source>Importing blocks from disk...</source> <translation>Importando bloques de disco...</translation> </message> @@ -370,6 +374,10 @@ <translation>Abrir un bitcoin: URI ou solicitude de pago</translation> </message> <message> + <source>&Command-line options</source> + <translation>Opcións da liña de comandos</translation> + </message> + <message> <source>No block source available...</source> <translation>Non hai orixe de bloques dispoñible...</translation> </message> @@ -696,7 +704,7 @@ <source>command-line options</source> <translation>opcións da liña de comandos</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -766,6 +774,10 @@ <translation>&Rede</translation> </message> <message> + <source>W&allet</source> + <translation>Moedeiro</translation> + </message> + <message> <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source> <translation>Abrir automáticamente o porto do cliente Bitcoin no router. Esto so funciona se o teu router soporta UPnP e está habilitado.</translation> </message> @@ -968,6 +980,10 @@ <translation>&Información</translation> </message> <message> + <source>Debug window</source> + <translation>Ventana de Depuración</translation> + </message> + <message> <source>Using OpenSSL version</source> <translation>Usar versión OpenSSL</translation> </message> @@ -1188,6 +1204,10 @@ <translation>Moedas Enviadas</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Fondos insuficientes</translation> + </message> + <message> <source>Quantity:</source> <translation>Cantidade:</translation> </message> @@ -1212,6 +1232,10 @@ <translation>Cambiar:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Tarifa de transacción:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Enviar a múltiples receptores á vez</translation> </message> @@ -1351,6 +1375,10 @@ <translation>Eliminar esta entrada</translation> </message> <message> + <source>Message:</source> + <translation>Mensaxe:</translation> + </message> + <message> <source>Enter a label for this address to add it to the list of used addresses</source> <translation>Introduce unha etiqueta para esta dirección para engadila á listaxe de direccións empregadas</translation> </message> @@ -2042,10 +2070,18 @@ <translation>Executar comando cando se recibe unha alerta relevante ou vemos un fork realmente longo (%s no cmd é substituído pola mensaxe)</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Non se pode resolver dirección -whitebind: '%s'</translation> + </message> + <message> <source>Information</source> <translation>Información</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Cantidade inválida para -maxtxfee=<cantidade>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Cantidade inválida para -minrelaytxfee=<cantidade>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_he.ts b/src/qt/locale/bitcoin_he.ts index 7db2a9dd34..926d206206 100644 --- a/src/qt/locale/bitcoin_he.ts +++ b/src/qt/locale/bitcoin_he.ts @@ -418,6 +418,10 @@ <translation>%1 ו%2</translation> </message> <message> + <source>%1 behind</source> + <translation>%1 מאחור</translation> + </message> + <message> <source>Last received block was generated %1 ago.</source> <translation>המקטע האחרון שהתקבל נוצר לפני %1.</translation> </message> @@ -624,6 +628,10 @@ <translation>הנמוך ביותר</translation> </message> <message> + <source>(%1 locked)</source> + <translation>(%1 נעול)</translation> + </message> + <message> <source>none</source> <translation>ללא</translation> </message> @@ -772,7 +780,7 @@ <source>command-line options</source> <translation>אפשרויות שורת פקודה</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1660,6 +1668,10 @@ <translation>כתובת לעודף מותאמת אישית</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>עמלת העברה:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>שליחה למספר מוטבים בו־זמנית</translation> </message> @@ -2654,6 +2666,10 @@ <translation>בדיקת התקינות ההתחלתית נכשלה. ליבת ביטקוין תיסגר כעת.</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>כמות לא תקינה עבור -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>כמות לא תקינה עבור -paytxfee=<amount>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_hi_IN.ts b/src/qt/locale/bitcoin_hi_IN.ts index fbdaf1ba7c..377ff3a3fa 100644 --- a/src/qt/locale/bitcoin_hi_IN.ts +++ b/src/qt/locale/bitcoin_hi_IN.ts @@ -335,6 +335,10 @@ <translation>विकल्प</translation> </message> <message> + <source>W&allet</source> + <translation>वॉलेट</translation> + </message> + <message> <source>&OK</source> <translation>&ओके</translation> </message> @@ -386,6 +390,10 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>राशि :</translation> + </message> + <message> <source>&Label:</source> <translation>लेबल:</translation> </message> @@ -401,6 +409,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&पता कॉपी करे</translation> + </message> + <message> <source>Address</source> <translation>पता</translation> </message> @@ -501,6 +513,10 @@ <source>Alt+P</source> <translation>Alt-P</translation> </message> + <message> + <source>Pay To:</source> + <translation>प्राप्तकर्ता:</translation> + </message> </context> <context> <name>ShutdownWindow</name> diff --git a/src/qt/locale/bitcoin_hr.ts b/src/qt/locale/bitcoin_hr.ts index 624cbbbc23..413dc21857 100644 --- a/src/qt/locale/bitcoin_hr.ts +++ b/src/qt/locale/bitcoin_hr.ts @@ -774,7 +774,7 @@ <source>command-line options</source> <translation>opcije programa u naredbenoj liniji</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1014,6 +1014,10 @@ <translation>&Informacije</translation> </message> <message> + <source>Debug window</source> + <translation>Konzola za dijagnostiku</translation> + </message> + <message> <source>Using OpenSSL version</source> <translation>OpenSSL verzija u upotrebi</translation> </message> @@ -1214,6 +1218,10 @@ <translation>Slanje novca</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Nedovoljna sredstva</translation> + </message> + <message> <source>Quantity:</source> <translation>Količina:</translation> </message> @@ -1238,6 +1246,10 @@ <translation>Vraćeno:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Naknada za transakciju:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Pošalji novce većem broju primatelja u jednoj transakciji</translation> </message> @@ -1367,6 +1379,10 @@ <translation>Potpis</translation> </message> <message> + <source>Sign &Message</source> + <translation>&Potpišite poruku</translation> + </message> + <message> <source>Clear &All</source> <translation>Obriši &sve</translation> </message> @@ -1375,6 +1391,10 @@ <translation>&Potvrdite poruku</translation> </message> <message> + <source>Verify &Message</source> + <translation>&Potvrdite poruku</translation> + </message> + <message> <source>Wallet unlock was cancelled.</source> <translation>Otključavanje novčanika je otkazano.</translation> </message> @@ -1780,6 +1800,18 @@ <translation>Informacija</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Nevaljali iznos za opciju -maxtxfee=<iznos>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>Nevaljali iznos za opciju -minrelaytxfee=<iznos>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>Nevaljali iznos za opciju -mintxfee=<iznos>: '%s'</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Šalji trace/debug informacije na konzolu umjesto u debug.log datoteku</translation> </message> diff --git a/src/qt/locale/bitcoin_hu.ts b/src/qt/locale/bitcoin_hu.ts index 9825a28543..ab4517ccfa 100644 --- a/src/qt/locale/bitcoin_hu.ts +++ b/src/qt/locale/bitcoin_hu.ts @@ -866,7 +866,7 @@ <source>command-line options</source> <translation>parancssoros opciók</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1012,6 +1012,18 @@ <translation>Proxy portja (pl.: 9050)</translation> </message> <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> <source>&Window</source> <translation>&Ablak</translation> </message> @@ -1278,6 +1290,10 @@ <translation>Aktuális blokkok száma</translation> </message> <message> + <source>Memory usage</source> + <translation>Memóriahasználat</translation> + </message> + <message> <source>Received</source> <translation>Fogadott</translation> </message> @@ -1366,6 +1382,22 @@ <translation>Konzol törlése</translation> </message> <message> + <source>1 &hour</source> + <translation>1 &óra</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &nap</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &hét</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &év</translation> + </message> + <message> <source>Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.</source> <translation>Navigálhat a fel és le nyilakkal, és <b>Ctrl-L</b> -vel törölheti a képernyőt.</translation> </message> @@ -1622,6 +1654,14 @@ <translation>Elrejtés</translation> </message> <message> + <source>Recommended:</source> + <translation>Ajánlott:</translation> + </message> + <message> + <source>Custom:</source> + <translation>Egyéni:</translation> + </message> + <message> <source>normal</source> <translation>normál</translation> </message> @@ -1774,6 +1814,10 @@ <translation>Üzenet:</translation> </message> <message> + <source>Pay To:</source> + <translation>Címzett:</translation> + </message> + <message> <source>Memo:</source> <translation>Jegyzet:</translation> </message> @@ -1844,6 +1888,10 @@ <translation>Üzenet ellenőrzése</translation> </message> <message> + <source>Verify &Message</source> + <translation>Üzenet ellenőrzése</translation> + </message> + <message> <source>The entered address is invalid.</source> <translation>A megadott cím nem érvényes.</translation> </message> @@ -2186,6 +2234,10 @@ <translation>Tranzakciós részletek megjelenítése</translation> </message> <message> + <source>Watch-only</source> + <translation>Csak megfigyelés</translation> + </message> + <message> <source>Exporting Failed</source> <translation>Az exportálás sikertelen volt</translation> </message> @@ -2373,6 +2425,10 @@ <translation>Az adatbázist újra kell építeni -reindex használatával (módosítás -tindex).</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Külső cím (-whitebind address) feloldása nem sikerült: '%s'</translation> + </message> + <message> <source>Copyright (C) 2009-%i The Bitcoin Core Developers</source> <translation>Copyright (C) 2009-%i A Bitcoin Core Fejlesztői</translation> </message> @@ -2385,6 +2441,10 @@ <translation>Információ</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Érvénytelen -maxtxfee=<amount>: '%s' összeg</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Érvénytelen -minrelaytxfee=<amount>: '%s' összeg</translation> </message> diff --git a/src/qt/locale/bitcoin_id_ID.ts b/src/qt/locale/bitcoin_id_ID.ts index 4124ef0951..1b626fbf23 100644 --- a/src/qt/locale/bitcoin_id_ID.ts +++ b/src/qt/locale/bitcoin_id_ID.ts @@ -254,6 +254,10 @@ <translation>&Pilihan...</translation> </message> <message> + <source>&Encrypt Wallet...</source> + <translation>&Enkripsi Dompet...</translation> + </message> + <message> <source>&Backup Wallet...</source> <translation>&Cadangkan Dompet...</translation> </message> @@ -795,6 +799,10 @@ <translation>Mengenai Bitcoin Core</translation> </message> <message> + <source>Command-line options</source> + <translation>pilihan Perintah-baris</translation> + </message> + <message> <source>Usage:</source> <translation>Penggunaan:</translation> </message> @@ -802,7 +810,7 @@ <source>command-line options</source> <translation>pilihan perintah-baris</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1556,6 +1564,10 @@ <translation>Alamat uang kembali yang kustom</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Biaya Transaksi:</translation> + </message> + <message> <source>Recommended:</source> <translation>Disarankan</translation> </message> @@ -1584,6 +1596,10 @@ <translation>Hapus informasi dari form.</translation> </message> <message> + <source>Clear &All</source> + <translation>Hapus &Semua</translation> + </message> + <message> <source>Balance:</source> <translation>Saldo:</translation> </message> @@ -1805,6 +1821,10 @@ <translation>Hapus semua bidang penanda pesan</translation> </message> <message> + <source>Clear &All</source> + <translation>Hapus &Semua</translation> + </message> + <message> <source>&Verify Message</source> <translation>&Verifikasi Pesan</translation> </message> @@ -2454,6 +2474,10 @@ <translation>Tidak bisa mengunci data directory %s. Kemungkinan Bitcoin Core sudah mulai.</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Tidak dapat menyelesaikan alamat -whitebind: '%s'</translation> + </message> + <message> <source>Connect through SOCKS5 proxy</source> <translation>Hubungkan melalui proxy SOCKS5</translation> </message> @@ -2462,6 +2486,10 @@ <translation>Informasi</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Nilai salah untuk -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Nilai yang salah untuk -minrelaytxfee=<amount>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts index 5ec6e480ba..d510b1063b 100644 --- a/src/qt/locale/bitcoin_it.ts +++ b/src/qt/locale/bitcoin_it.ts @@ -222,7 +222,15 @@ </context> <context> <name>BanTableModel</name> - </context> + <message> + <source>IP/Netmask</source> + <translation>IP/Netmask</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Bannato fino a</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -874,6 +882,34 @@ <source>command-line options</source> <translation>opzioni della riga di comando</translation> </message> + <message> + <source>UI Options:</source> + <translation>Opzioni interfaccia:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Seleziona la directory dei dati all'avvio (default: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Imposta la lingua, ad esempio "it_IT" (default: locale di sistema)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Avvia ridotto a icona</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Imposta un certificato SSL root per le richieste di pagamento (default: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Mostra schermata iniziale all'avvio (default: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Reset di tutte le modifiche alle impostazioni eseguite da interfaccia grafica</translation> + </message> </context> <context> <name>Intro</name> @@ -913,7 +949,11 @@ <source>Error</source> <translation>Errore</translation> </message> - </context> + <message numerus="yes"> + <source>(of %n GB needed)</source> + <translation><numerusform>(di %nGB richiesti)</numerusform><numerusform>(%n GB richiesti)</numerusform></translation> + </message> +</context> <context> <name>OpenURIDialog</name> <message> @@ -1065,6 +1105,34 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Porta del proxy (ad es. 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Utilizzata per connettersi attraverso:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Mostra se la proxy SOCKS5 fornita viene utilizzata per raggiungere i peers attraverso questo tipo di rete.</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Connette alla rete Bitcoin attraverso un proxy SOCKS5 separato per Tor.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Usa un proxy SOCKS5 separato per connettersi ai peers attraverso Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Finestra</translation> </message> @@ -1435,6 +1503,18 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Numero attuale di blocchi</translation> </message> <message> + <source>Memory Pool</source> + <translation>Memory Pool</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Numero attuale di transazioni</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Utilizzo memoria</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Apre il file log di debug di Bitcoin Core dalla cartella dati attuale. Questa azione può richiedere alcuni secondi per file log di grandi dimensioni.</translation> </message> @@ -1451,10 +1531,18 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>&Peer</translation> </message> <message> + <source>Banned peers</source> + <translation>Peers bannati</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Seleziona un peer per visualizzare informazioni più dettagliate.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Whitelisted/sicuri</translation> + </message> + <message> <source>Direction</source> <translation>Direzione</translation> </message> @@ -1463,6 +1551,18 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Versione</translation> </message> <message> + <source>Starting Block</source> + <translation>Blocco di partenza</translation> + </message> + <message> + <source>Synced Headers</source> + <translation>Headers sincronizzati</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>Blocchi sincronizzati</translation> + </message> + <message> <source>User Agent</source> <translation>User Agent</translation> </message> @@ -1491,6 +1591,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Tempo di Ping</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>La durata di un ping attualmente in corso.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Attesa ping</translation> + </message> + <message> <source>Time Offset</source> <translation>Scarto Temporale</translation> </message> @@ -1539,6 +1647,34 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Cancella console</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Nodo Disconnesso</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Nodo Bannato perché</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &ora</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &giorno</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &settimana</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &anno</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Elimina Ban Nodo</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Benvenuto nella console RPC di Bitcoin Core.</translation> </message> @@ -1567,6 +1703,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(id nodo: %1)</translation> + </message> + <message> <source>via %1</source> <translation>via %1</translation> </message> @@ -1959,6 +2099,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Copia resto</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Ammontare Totale %1</translation> + </message> + <message> <source>or</source> <translation>o</translation> </message> @@ -1991,6 +2135,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Richiesta di pagamento scaduta.</translation> </message> <message> + <source>Pay only the required fee of %1</source> + <translation>Paga solamente la commissione richiesta di %1</translation> + </message> + <message numerus="yes"> + <source>Estimated to begin confirmation within %n block(s).</source> + <translation><numerusform>Inizio delle conferme stimato entro %n blocco.</numerusform><numerusform>Inizio delle conferme stimato entro %n blocchi.</numerusform></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>L'indirizzo del beneficiario non è valido. Si prega di ricontrollare.</translation> </message> @@ -2622,6 +2774,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Copia l'ID transazione</translation> </message> <message> + <source>Copy raw transaction</source> + <translation>Copia la transazione raw</translation> + </message> + <message> <source>Edit label</source> <translation>Modifica l'etichetta</translation> </message> @@ -2769,14 +2925,54 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Accetta comandi da riga di comando e JSON-RPC</translation> </message> <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Se <category> non è specificato oppure se <category> = 1, mostra tutte le informazioni di debug.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Totale massimo di commissioni (in %s) da usare in una singola transazione del wallet; valori troppo bassi possono abortire grandi transazioni (default: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Per favore controllate che la data del computer e l'ora siano corrette. Se il vostro orologio è sbagliato Bitcoin non funzionerà correttamente.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>La modalità prune è configurata al di sotto del minimo di %d MB. Si prega di utilizzare un valore più elevato.</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Prune: l'ultima sincronizzazione del wallet risulta essere oltre la riduzione dei dati. È necessario eseguire un -reindex (scaricare nuovamente la blockchain in caso di nodo pruned)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Riduce i requisiti di spazio di archiviazione attraverso la rimozione dei vecchi blocchi (pruning). Questa modalità è incompatibile con l'opzione -txindex e -rescan. Attenzione: ripristinando questa opzione l'intera blockchain dovrà essere riscaricata. (default: 0 = disabilita il pruning, >%u = dimensione desiderata in MiB per i file dei blocchi)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Non è possibile un Rescan in modalità pruned. Sarà necessario utilizzare -reindex che farà scaricare nuovamente tutta la blockchain.</translation> + </message> + <message> <source>Error: A fatal internal error occurred, see debug.log for details</source> <translation>Errore: si è presentato un errore interno fatale, consulta il file debug.log per maggiori dettagli</translation> </message> <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Commissione (in %s/kB) da aggiungere alle transazioni inviate (default: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Pruning del blockstore...</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>Esegui in background come demone ed accetta i comandi</translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Impossibile avviare il server HTTP. Dettagli nel log di debug.</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Accetta connessioni dall'esterno (predefinito: 1 se -proxy o -connect non sono utilizzati)</translation> </message> @@ -2801,6 +2997,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Imposta il numero di thread per la verifica degli script (da %u a %d, 0 = automatico, <0 = lascia questo numero di core liberi, predefinito: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>Il database dei blocchi contiene un blocco che sembra provenire dal futuro. Questo può essere dovuto alla data e ora del tuo computer impostate in modo scorretto. Ricostruisci il database dei blocchi se sei certo che la data e l'ora sul tuo computer siano corrette</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>Questa versione è una compilazione pre-rilascio - usala a tuo rischio - non utilizzarla per la generazione o per applicazioni di commercio</translation> </message> @@ -2809,6 +3009,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Impossibile associarsi a %s su questo computer. Probabilmente Bitcoin Core è già in esecuzione.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Utilizza UPnP per mappare la porta in ascolto (default: 1 quando in ascolto e -proxy non è specificato)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>ATTENZIONE, il numero di blocchi generati è insolitamente elevato: %d blocchi ricevuti nelle ultime %d ore (%d previsti)</translation> </message> @@ -2833,6 +3037,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Inserisce in whitelist i peer che si connettono da un dato indirizzo IP o netmask. Può essere specificato più volte.</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool deve essere almeno %d MB</translation> + </message> + <message> <source><category> can be:</source> <translation>Valori possibili per <category>:</translation> </message> @@ -2865,6 +3073,22 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Vuoi ricostruire ora il database dei blocchi?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Abilita pubblicazione hash blocco in <address></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Abilità pubblicazione hash transazione in <address></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Abilita pubblicazione blocchi raw in <address></translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Abilita pubblicazione transazione raw in <address></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Errore durante l'inizializzazione del database dei blocchi</translation> </message> @@ -2901,6 +3125,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Indirizzo -onion non valido: '%s'</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>Mantieni la memory pool delle transazioni al di sotto di <n> megabytes (default: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>Non ci sono abbastanza descrittori di file disponibili.</translation> </message> @@ -2929,10 +3157,26 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Specifica il file del portamonete (all'interno della cartella dati)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Ignorata opzione -benchmark non supportata, utilizzare -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Argomento -debugnet ignorato in quanto non supportato, usare -debug=net.</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Rilevato argomento -tor non supportato, utilizzare -onion.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Usa UPnP per mappare la porta di ascolto (predefinito: %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>Il commento del User Agent (%s) contiene caratteri non sicuri.</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>Verifica blocchi...</translation> </message> @@ -2989,6 +3233,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Esegue un comando in caso di ricezione di un allarme pertinente o se si rileva un fork molto lungo (%s in cmd è sostituito dal messaggio)</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)</source> + <translation>Le commissioni (in %s/kB) inferiori a questo valore sono considerate pari a zero per trasmissione, mining e creazione della transazione (default: %s)</translation> + </message> + <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Nel caso in cui paytxfee non sia impostato, include una commissione tale da ottenere un avvio delle conferme entro una media di n blocchi (predefinito: %u)</translation> </message> @@ -3045,6 +3293,18 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Attivazione della blockchain migliore...</translation> </message> <message> + <source>Always relay transactions received from whitelisted peers (default: %d)</source> + <translation>Trasmetti sempre le transazioni ricevute da peers whitelisted (default: %d)</translation> + </message> + <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Prova a recuperare le chiavi private da un wallet corrotto all'avvio</translation> + </message> + <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Crea automaticamente il servizio Tor (default: %d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Impossibile risolvere indirizzo -whitebind: '%s'</translation> </message> @@ -3065,6 +3325,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Errore durante lalettura del database. Arresto in corso.</translation> </message> <message> + <source>Imports blocks from external blk000??.dat file on startup</source> + <translation>Importa blocchi da un file blk000??.dat esterno all'avvio</translation> + </message> + <message> <source>Information</source> <translation>Informazioni</translation> </message> @@ -3117,6 +3381,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Ricevi e visualizza gli alerts della rete P2P (default: %u)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Riduzione -maxconnections da %d a %d a causa di limitazioni di sistema.</translation> + </message> + <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>Ripete la scansione della block chain per individuare le transazioni che mancano dal wallet all'avvio</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Invia le informazioni di trace/debug alla console invece che al file debug.log</translation> </message> @@ -3145,6 +3417,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Questo è un software sperimentale.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>Password porta controllo Tor (default: empty)</translation> + </message> + <message> + <source>Tor control port to use if onion listening enabled (default: %s)</source> + <translation>Porta di controllo Tor da usare se in ascolto su onion (default: %s)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Importo transazione troppo piccolo</translation> </message> @@ -3165,6 +3445,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Impossibile associarsi a %s su questo computer (l'associazione ha restituito l'errore %s)</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>Aggiorna il wallet all'ultimo formato all'avvio</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>Nome utente per connessioni JSON-RPC</translation> </message> @@ -3177,10 +3461,18 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Attenzione</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>Imposta se operare in modalità solo blocchi (default: %u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Eliminazione dal portamonete di tutte le transazioni...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>Opzioni di notifica ZeroMQ</translation> + </message> + <message> <source>wallet.dat corrupt, salvage failed</source> <translation>wallet.dat corrotto, recupero fallito</translation> </message> @@ -3213,6 +3505,26 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>(1 = mantiene metadati tx, ad es. proprietario account ed informazioni di richiesta di pagamento, 2 = scarta metadati tx)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee è impostato molto alto! Commissioni così alte possono venir pagate anche su una singola transazione.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee è impostato su un valore molto elevato. Questa è la commissione che si paga quando si invia una transazione.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Non mantenere le transazioni nella mempool più a lungo di <n> ore (default: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Errore di lettura di wallet.dat! Tutte le chiavi sono state lette correttamente, ma i dati delle transazioni o della rubrica potrebbero essere mancanti o non corretti.</translation> + </message> + <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Le commissioni (in %s/kB) inferiori a questo valore sono considerate pari a zero per la creazione della transazione (default: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Determina quanto sarà approfondita la verifica da parte di -checkblocks (0-4, predefinito: %u)</translation> </message> @@ -3229,10 +3541,30 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Emette informazioni di debug (predefinito: %u, fornire <category> è opzionale)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Supporta filtraggio di blocchi e transazioni con filtri bloom (default: %u)</translation> + </message> + <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>La lunghezza totale della stringa di network version (%i) eccede la lunghezza massima (%i). Ridurre il numero o la dimensione di uacomments.</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Cerca di mantenere il traffico in uscita al di sotto della soglia scelta (in MiB ogni 24h), 0 = nessun limite (default: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Argomento -socks non supportato. Non è più possibile impostare la versione SOCKS, solamente i proxy SOCKS5 sono supportati.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Usa un proxy SOCKS5 a parte per raggiungere i peer attraverso gli hidden services di Tor (predefinito: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Username e hash password per connessioni JSON-RPC. Il campo <userpw> utilizza il formato: <USERNAME>:<SALT>$<HASH>. Uno script python standard è incluso in share/rpcuser. Questa opzione può essere specificata più volte</translation> + </message> + <message> <source>(default: %s)</source> <translation>(predefinito: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts index 37306da5a7..4344fd0436 100644 --- a/src/qt/locale/bitcoin_ja.ts +++ b/src/qt/locale/bitcoin_ja.ts @@ -882,6 +882,34 @@ <source>command-line options</source> <translation>コマンドライン オプション</translation> </message> + <message> + <source>UI Options:</source> + <translation>UIオプション:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>起動時にデータ ディレクトリを選ぶ (初期値: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>言語設定 例: "de_DE" (初期値: システムの言語)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>最小化された状態で起動する</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>支払いリクエスト用にSSLルート証明書を設定する (デフォルト:-system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>起動時にスプラッシュ画面を表示する (初期値: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>GUI 経由で行われた設定の変更を全てリセット</translation> + </message> </context> <context> <name>Intro</name> @@ -1478,6 +1506,18 @@ <translation>現在のブロック数</translation> </message> <message> + <source>Memory Pool</source> + <translation>メモリ・プール</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>現在のトランザクション数</translation> + </message> + <message> + <source>Memory usage</source> + <translation>メモリ使用量</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>現在のデータディレクトリからBitcoin Coreのデバッグ用ログファイルを開きます。ログファイルが巨大な場合、数秒かかることがあります。</translation> </message> @@ -3485,6 +3525,10 @@ <translation>wallet.dat の読み込みエラー! すべてのキーは正しく読み取れますが、取引データやアドレス帳のエントリが失われたか、正しくない可能性があります。</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>トランザクション作成の際、この値未満の手数料 (%s/kB単位) はゼロであるとみなす (デフォルト: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>-checkblocks のブロックの検証レベル (0-4, 初期値: %u)</translation> </message> @@ -3501,6 +3545,10 @@ <translation>デバッグ情報を出力する (初期値: %u, <category> の指定は任意です)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Bloomフィルタによる、ブロックおよびトランザクションのフィルタリングを有効化する (初期値: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>ネットワークバージョン文字 (%i) の長さが最大の長さ (%i) を超えています。UAコメントの数や長さを削減してください。</translation> </message> @@ -3517,6 +3565,10 @@ <translation>Tor 秘匿サービスを通し、別々の SOCKS5 プロキシを用いることでピアに到達する (初期値: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>JSON-RPC接続時のユーザ名とハッシュ化されたパスワード。<userpw> フィールドのフォーマットは <USERNAME>:<SALT>$<HASH>。標準的な Python スクリプトが share/rpcuser 内に含まれています。このオプションは複数回指定できます。</translation> + </message> + <message> <source>(default: %s)</source> <translation>(デフォルト: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_ka.ts b/src/qt/locale/bitcoin_ka.ts index 68666cfb25..11c73ec767 100644 --- a/src/qt/locale/bitcoin_ka.ts +++ b/src/qt/locale/bitcoin_ka.ts @@ -748,7 +748,7 @@ <source>command-line options</source> <translation>კომანდების ზოლის ოპციები</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -764,6 +764,10 @@ <translation>ეს პროგრამის პირველი გაშვებაა; შეგიძლიათ მიუთითოთ, სად შეინახოს მონაცემები Bitcoin Core-მ.</translation> </message> <message> + <source>Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source> + <translation>Bitcoin Core გადმოტვირთავს და შეინახავს Bitcoin-ის ბლოკთა ჯაჭვს. მითითებულ კატალოგში დაგროვდება სულ ცოტა %1 გბ მონაცემები, და მომავალში უფრო გაიზრდება. საფულეც ამავე კატალოგში შეინახება.</translation> + </message> + <message> <source>Use the default data directory</source> <translation>ნაგულისხმევი კატალოგის გამოყენება</translation> </message> @@ -1432,6 +1436,10 @@ <translation>ხურდის მისამართი</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>ტრანსაქციის საფასური - საკომისიო:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>გაგზავნა რამდენიმე რეციპიენტთან ერთდროულად</translation> </message> @@ -1508,6 +1516,10 @@ <translation>თანხა აღემატება თქვენს ბალანსს</translation> </message> <message> + <source>The total exceeds your balance when the %1 transaction fee is included.</source> + <translation>საკომისიო %1-ის დამატების შემდეგ თანხა აჭარბებს თქვენს ბალანსს</translation> + </message> + <message> <source>Transaction creation failed!</source> <translation>შეცდომა ტრანსაქციის შექმნისას!</translation> </message> @@ -2326,10 +2338,18 @@ <translation>მაღალპრიორიტეტული/დაბალსაკომისიოიანი ტრანსაქციების მაქსიმალური ზომა ბაიტებში (ნაგულისხმევი: %d)</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>ვერ ხერხდება -whitebind მისამართის გარკვევა: '%s'</translation> + </message> + <message> <source>Information</source> <translation>ინფორმაცია</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>დაუშვებელი მნიშვნელობა -pmaxtxfee<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>დაუშვებელი მნიშვნელობა -minrelaytxfee=<amount>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_kk_KZ.ts b/src/qt/locale/bitcoin_kk_KZ.ts index 4de8f1b57e..cfa19d13f0 100644 --- a/src/qt/locale/bitcoin_kk_KZ.ts +++ b/src/qt/locale/bitcoin_kk_KZ.ts @@ -231,6 +231,10 @@ <context> <name>EditAddressDialog</name> <message> + <source>&Label</source> + <translation>таңба</translation> + </message> + <message> <source>&Address</source> <translation>Адрес</translation> </message> @@ -253,6 +257,10 @@ </context> <context> <name>OptionsDialog</name> + <message> + <source>W&allet</source> + <translation>Әмиян</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -275,9 +283,17 @@ </context> <context> <name>RPCConsole</name> + <message> + <source>&Information</source> + <translation>Информация</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> + <message> + <source>&Amount:</source> + <translation>Саны</translation> + </message> </context> <context> <name>ReceiveRequestDialog</name> @@ -342,6 +358,10 @@ </context> <context> <name>SendCoinsEntry</name> + <message> + <source>A&mount:</source> + <translation>Саны</translation> + </message> </context> <context> <name>ShutdownWindow</name> diff --git a/src/qt/locale/bitcoin_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts index 81677b4732..ce48ce249f 100644 --- a/src/qt/locale/bitcoin_ko_KR.ts +++ b/src/qt/locale/bitcoin_ko_KR.ts @@ -810,7 +810,7 @@ <source>command-line options</source> <translation>명령줄 옵션</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1176,6 +1176,14 @@ <translation>비트코인 주소를 입력하기 (예. %1)</translation> </message> <message> + <source>%1 h</source> + <translation>%1 시간</translation> + </message> + <message> + <source>%1 m</source> + <translation>%1 분</translation> + </message> + <message> <source>%1 s</source> <translation>%1 초</translation> </message> @@ -1333,6 +1341,22 @@ <source>Type <b>help</b> for an overview of available commands.</source> <translation>사용할 수 있는 명령을 둘러보려면 <b>help</b>를 입력하십시오.</translation> </message> + <message> + <source>%1 B</source> + <translation>%1 바이트</translation> + </message> + <message> + <source>%1 KB</source> + <translation>%1 킬로바이트</translation> + </message> + <message> + <source>%1 MB</source> + <translation>%1 메가바이트</translation> + </message> + <message> + <source>%1 GB</source> + <translation>%1 기가바이트</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -2201,6 +2225,10 @@ <translation>거래 기록 내보내기</translation> </message> <message> + <source>Watch-only</source> + <translation>모니터링 지갑</translation> + </message> + <message> <source>Exporting Failed</source> <translation>내보내기 실패</translation> </message> @@ -2392,6 +2420,10 @@ <translation>블록 데이터베이스를 초기화하는데 오류</translation> </message> <message> + <source>Error initializing wallet database environment %s!</source> + <translation>지갑 데이터베이스 환경 초기화하는데 오류 %s</translation> + </message> + <message> <source>Error loading block database</source> <translation>블록 데이터베이스를 불러오는데 오류</translation> </message> @@ -2468,10 +2500,18 @@ <translation>최대 크기를 최우선으로 설정 / 바이트당 최소 수수료로 거래(기본값: %d)</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>-whitebind 주소를 확인할 수 없습니다: '%s'</translation> + </message> + <message> <source>Information</source> <translation>정보</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>-maxtxfee=<amount>에 대한 양이 잘못되었습니다: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>노드로 전달하기 위한 최저 거래 수수료가 부족합니다. - minrelaytxfee=<amount>: '%s' -</translation> </message> diff --git a/src/qt/locale/bitcoin_ky.ts b/src/qt/locale/bitcoin_ky.ts index 495f11b1f4..51efd519c3 100644 --- a/src/qt/locale/bitcoin_ky.ts +++ b/src/qt/locale/bitcoin_ky.ts @@ -126,6 +126,10 @@ <translation>&Тармак</translation> </message> <message> + <source>W&allet</source> + <translation>Капчык</translation> + </message> + <message> <source>&Port:</source> <translation>&Порт:</translation> </message> @@ -176,6 +180,10 @@ <translation>Жалпы</translation> </message> <message> + <source>Network</source> + <translation>&Тармак</translation> + </message> + <message> <source>Name</source> <translation>Аты</translation> </message> @@ -194,6 +202,10 @@ </context> <context> <name>ReceiveCoinsDialog</name> + <message> + <source>&Message:</source> + <translation>Билдирүү:</translation> + </message> </context> <context> <name>ReceiveRequestDialog</name> diff --git a/src/qt/locale/bitcoin_la.ts b/src/qt/locale/bitcoin_la.ts index f775002050..e3dcd505fe 100644 --- a/src/qt/locale/bitcoin_la.ts +++ b/src/qt/locale/bitcoin_la.ts @@ -306,6 +306,10 @@ <translation>Bitcoin Nucleus</translation> </message> <message> + <source>&Command-line options</source> + <translation>Optiones mandati initiantis</translation> + </message> + <message> <source>No block source available...</source> <translation>Nulla fons frustorum absens...</translation> </message> @@ -476,7 +480,7 @@ <source>command-line options</source> <translation>Optiones mandati intiantis</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -514,6 +518,10 @@ <translation>&Rete</translation> </message> <message> + <source>W&allet</source> + <translation>Cassidile</translation> + </message> + <message> <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source> <translation>Aperi per se portam clientis Bitcoin in itineratore. Hoc tantum effectivum est si itineratrum tuum supportat UPnP et id activum est.</translation> </message> @@ -656,6 +664,10 @@ <translation>&Informatio</translation> </message> <message> + <source>Debug window</source> + <translation>Fenestra Debug</translation> + </message> + <message> <source>Using OpenSSL version</source> <translation>Utens OpenSSL versione</translation> </message> @@ -715,10 +727,18 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Quantitas:</translation> + </message> + <message> <source>&Label:</source> <translation>&Titulus:</translation> </message> <message> + <source>&Message:</source> + <translation>Nuntius:</translation> + </message> + <message> <source>Copy label</source> <translation>Copia titulum</translation> </message> @@ -730,6 +750,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Copia Inscriptionem</translation> + </message> + <message> <source>Address</source> <translation>Inscriptio</translation> </message> @@ -784,10 +808,18 @@ <translation>Mitte Nummos</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Inopia nummorum</translation> + </message> + <message> <source>Amount:</source> <translation>Quantitas:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Transactionis merces:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Mitte pluribus accipientibus simul</translation> </message> @@ -870,6 +902,10 @@ <source>Message:</source> <translation>Nuntius:</translation> </message> + <message> + <source>Pay To:</source> + <translation>Pensa Ad:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1462,10 +1498,18 @@ <translation>Verificante cassidilem...</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Non posse resolvere -whitebind inscriptionem: '%s'</translation> + </message> + <message> <source>Information</source> <translation>Informatio</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Quantitas non valida pro -maxtxfee=<amount>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Quantitas non valida pro -minrelaytxfee=<amount>: '%s'</translation> </message> diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts index c125d1b72b..b98976dfea 100644 --- a/src/qt/locale/bitcoin_lt.ts +++ b/src/qt/locale/bitcoin_lt.ts @@ -190,7 +190,11 @@ </context> <context> <name>BanTableModel</name> - </context> + <message> + <source>Banned Until</source> + <translation>Užblokuotas iki</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -358,6 +362,10 @@ <translation>&Apie Bitcoin Core</translation> </message> <message> + <source>&Command-line options</source> + <translation>Komandinės eilutės parametrai</translation> + </message> + <message> <source>Error</source> <translation>Klaida</translation> </message> @@ -551,7 +559,11 @@ <source>(no label)</source> <translation>(nėra žymės)</translation> </message> - </context> + <message> + <source>(change)</source> + <translation>(Graža)</translation> + </message> +</context> <context> <name>EditAddressDialog</name> <message> @@ -632,7 +644,7 @@ <source>command-line options</source> <translation>komandinės eilutės parametrai</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -666,10 +678,26 @@ <translation>&Pagrindinės</translation> </message> <message> + <source>MB</source> + <translation>MB</translation> + </message> + <message> + <source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source> + <translation>Proxy IP adresas (Pvz. IPv4: 127.0.0.1 / IPv6: ::1)</translation> + </message> + <message> + <source>&Reset Options</source> + <translation>&Atstatyti Parinktis</translation> + </message> + <message> <source>&Network</source> <translation>&Tinklas</translation> </message> <message> + <source>W&allet</source> + <translation>Piniginė</translation> + </message> + <message> <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source> <translation>Automatiškai atidaryti Bitcoin kliento prievadą maršrutizatoriuje. Tai veikia tik tada, kai jūsų maršrutizatorius palaiko UPnP ir ji įjungta.</translation> </message> @@ -690,6 +718,18 @@ <translation>Tarpinio serverio preivadas (pvz, 9050)</translation> </message> <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> <source>&Window</source> <translation>&Langas</translation> </message> @@ -742,6 +782,14 @@ <translation>Patvirtinti nustatymų atstatymą</translation> </message> <message> + <source>Client restart required to activate changes.</source> + <translation>Kliento perkrovimas reikalingas nustatymų aktyvavimui</translation> + </message> + <message> + <source>This change would require a client restart.</source> + <translation>Šis pakeitimas reikalautų kliento perkrovimo</translation> + </message> + <message> <source>The supplied proxy address is invalid.</source> <translation>Nurodytas tarpinio serverio adresas negalioja.</translation> </message> @@ -757,6 +805,10 @@ <translation>Galimi:</translation> </message> <message> + <source>Your current spendable balance</source> + <translation>Jūsų dabartinis išleidžiamas balansas</translation> + </message> + <message> <source>Pending:</source> <translation>Laukiantys:</translation> </message> @@ -780,10 +832,18 @@ <translation>URI apdorojimas</translation> </message> <message> + <source>Invalid payment address %1</source> + <translation>Neteisingas mokėjimo adresas %1</translation> + </message> + <message> <source>Payment request rejected</source> <translation>Mokėjimo siuntimas atmestas</translation> </message> <message> + <source>Payment request expired.</source> + <translation>Mokėjimo siuntimas pasibaigė</translation> + </message> + <message> <source>Network request error</source> <translation>Tinklo užklausos klaida</translation> </message> @@ -813,10 +873,18 @@ <context> <name>QRImageWidget</name> <message> + <source>&Copy Image</source> + <translation>Kopijuoti nuotrauką</translation> + </message> + <message> <source>Save QR Code</source> <translation>Įrašyti QR kodą</translation> </message> - </context> + <message> + <source>PNG Image (*.png)</source> + <translation>PNG paveikslėlis (*.png)</translation> + </message> +</context> <context> <name>RPCConsole</name> <message> @@ -836,6 +904,10 @@ <translation>&Informacija</translation> </message> <message> + <source>Debug window</source> + <translation>Derinimo langas</translation> + </message> + <message> <source>Using OpenSSL version</source> <translation>Naudojama OpenSSL versija</translation> </message> @@ -848,6 +920,10 @@ <translation>Tinklas</translation> </message> <message> + <source>Name</source> + <translation>Pavadinimas</translation> + </message> + <message> <source>Number of connections</source> <translation>Prisijungimų kiekis</translation> </message> @@ -884,6 +960,10 @@ <translation>&Konsolė</translation> </message> <message> + <source>&Clear</source> + <translation>Išvalyti</translation> + </message> + <message> <source>Totals</source> <translation>Viso:</translation> </message> @@ -919,14 +999,30 @@ <source>never</source> <translation>Niekada</translation> </message> + <message> + <source>Yes</source> + <translation>Taip</translation> + </message> + <message> + <source>No</source> + <translation>Ne</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Suma:</translation> + </message> + <message> <source>&Label:</source> <translation>Ž&ymė:</translation> </message> <message> + <source>&Message:</source> + <translation>Žinutė:</translation> + </message> + <message> <source>Clear</source> <translation>Išvalyti</translation> </message> @@ -946,6 +1042,10 @@ <translation>QR kodas</translation> </message> <message> + <source>Copy &Address</source> + <translation>&Kopijuoti adresą</translation> + </message> + <message> <source>Payment information</source> <translation>Mokėjimo informacija</translation> </message> @@ -1000,6 +1100,10 @@ <translation>Siųsti monetas</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Nepakanka lėšų</translation> + </message> + <message> <source>Quantity:</source> <translation>Kiekis:</translation> </message> @@ -1028,6 +1132,10 @@ <translation>Graža:</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Sandorio mokestis:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Siųsti keliems gavėjams vienu metu</translation> </message> @@ -1092,6 +1200,10 @@ <translation>Jei pridedame sandorio mokestį %1 bendra suma viršija jūsų balansą.</translation> </message> <message> + <source>Payment request expired.</source> + <translation>Mokėjimo siuntimas pasibaigė</translation> + </message> + <message> <source>(no label)</source> <translation>(nėra žymės)</translation> </message> @@ -1130,6 +1242,10 @@ <source>Message:</source> <translation>Žinutė:</translation> </message> + <message> + <source>Pay To:</source> + <translation>Mokėti gavėjui:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1177,6 +1293,10 @@ <translation>Patikrinkite žinutę, jog įsitikintumėte, kad ją pasirašė nurodytas Bitcoin adresas</translation> </message> <message> + <source>Verify &Message</source> + <translation>&Patikrinti žinutę</translation> + </message> + <message> <source>Click "Sign Message" to generate signature</source> <translation>Spragtelėkite "Registruotis žinutę" tam, kad gauti parašą</translation> </message> @@ -1630,6 +1750,18 @@ <translation>Informacija</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Neteisinga suma -maxtxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>Neteisinga suma -minrelaytxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>Neteisinga suma -mintxfee=<amount>: '%s'</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Siųsti atsekimo/derinimo info į konsolę vietoj debug.log failo</translation> </message> diff --git a/src/qt/locale/bitcoin_lv_LV.ts b/src/qt/locale/bitcoin_lv_LV.ts index 2d3eab3394..e01d4c812c 100644 --- a/src/qt/locale/bitcoin_lv_LV.ts +++ b/src/qt/locale/bitcoin_lv_LV.ts @@ -721,6 +721,10 @@ <translation>Par Bitcoin Core</translation> </message> <message> + <source>Command-line options</source> + <translation>Komandrindas iespējas</translation> + </message> + <message> <source>Usage:</source> <translation>Lietojums:</translation> </message> @@ -728,7 +732,7 @@ <source>command-line options</source> <translation>komandrindas izvēles</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1376,6 +1380,10 @@ <translation>Pielāgota atlikuma adrese</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Transakcijas maksa:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Sūtīt vairākiem saņēmējiem uzreiz</translation> </message> @@ -2158,10 +2166,26 @@ <translation>Maciņa iespējas:</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Nevar atrisināt -whitebind adresi: '%s'</translation> + </message> + <message> <source>Information</source> <translation>Informācija</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Nederīgs daudzums priekš -maxtxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>Nederīgs daudzums priekš -minrelaytxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>Nederīgs daudzums priekš -mintxfee=<amount>: '%s'</translation> + </message> + <message> <source>RPC server options:</source> <translation>RPC servera iestatījumi:</translation> </message> diff --git a/src/qt/locale/bitcoin_mk_MK.ts b/src/qt/locale/bitcoin_mk_MK.ts index 269b06f83a..b7797063b2 100644 --- a/src/qt/locale/bitcoin_mk_MK.ts +++ b/src/qt/locale/bitcoin_mk_MK.ts @@ -913,9 +913,17 @@ <context> <name>SendCoinsEntry</name> <message> + <source>A&mount:</source> + <translation>Сума:</translation> + </message> + <message> <source>&Label:</source> <translation>&Етикета:</translation> </message> + <message> + <source>Message:</source> + <translation>Порака:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1016,6 +1024,10 @@ <context> <name>bitcoin-core</name> <message> + <source>Options:</source> + <translation>Опции:</translation> + </message> + <message> <source>Warning</source> <translation>Предупредување</translation> </message> diff --git a/src/qt/locale/bitcoin_mn.ts b/src/qt/locale/bitcoin_mn.ts index d1a5976224..b790010066 100644 --- a/src/qt/locale/bitcoin_mn.ts +++ b/src/qt/locale/bitcoin_mn.ts @@ -234,6 +234,10 @@ <translation>&Нууц Үгийг Солих...</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>Хүлээн авах хаяг</translation> + </message> + <message> <source>Change the passphrase used for wallet encryption</source> <translation>Түрүйвчийг цоожлох нууц үгийг солих</translation> </message> @@ -270,6 +274,10 @@ <translation>Алдаа</translation> </message> <message> + <source>Information</source> + <translation>Мэдээллэл</translation> + </message> + <message> <source>Up to date</source> <translation>Шинэчлэгдсэн</translation> </message> @@ -422,6 +430,14 @@ <translation>проксигийн IP хаяг (жишээ нь: IPv4: 127.0.0.1 / IPv6: ::1)</translation> </message> <message> + <source>&Network</source> + <translation>Сүлжээ</translation> + </message> + <message> + <source>W&allet</source> + <translation>Түрүйвч</translation> + </message> + <message> <source>Client restart required to activate changes.</source> <translation>Ѳѳрчлѳлтүүдийг идэвхижүүлхийн тулд клиентийг ахин эхлүүлэх шаардлагтай</translation> </message> @@ -523,10 +539,18 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Хэмжээ:</translation> + </message> + <message> <source>&Label:</source> <translation>&Шошго:</translation> </message> <message> + <source>&Message:</source> + <translation>Зурвас:</translation> + </message> + <message> <source>Show</source> <translation>Харуул</translation> </message> @@ -554,6 +578,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>Хаягийг &Хуулбарлах</translation> + </message> + <message> <source>Address</source> <translation>Хаяг</translation> </message> @@ -714,6 +742,10 @@ <source>Message:</source> <translation>Зурвас:</translation> </message> + <message> + <source>Pay To:</source> + <translation>Тѳлѳх хаяг:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1034,6 +1066,10 @@ <translation>Түрүйвчийн сонголтууд:</translation> </message> <message> + <source>Information</source> + <translation>Мэдээллэл</translation> + </message> + <message> <source>Loading addresses...</source> <translation>Хаягуудыг ачааллаж байна...</translation> </message> diff --git a/src/qt/locale/bitcoin_ms_MY.ts b/src/qt/locale/bitcoin_ms_MY.ts index 8f6676e484..df98dd8396 100644 --- a/src/qt/locale/bitcoin_ms_MY.ts +++ b/src/qt/locale/bitcoin_ms_MY.ts @@ -122,6 +122,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Salin Alamat</translation> + </message> + <message> <source>Address</source> <translation>Alamat</translation> </message> diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts index 554ac21a02..9236ac86fe 100644 --- a/src/qt/locale/bitcoin_nb.ts +++ b/src/qt/locale/bitcoin_nb.ts @@ -882,6 +882,34 @@ <source>command-line options</source> <translation>kommandolinjevalg</translation> </message> + <message> + <source>UI Options:</source> + <translation>Grensesnittvalg:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Velg datakatalog for oppstart (default: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Sett språk, for eksempel "nb_NO" (default: system-«locale»)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Begynn minimert</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Sett SSL-rootsertifikat for betalingshenvendelser (default: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Vis velkomstbilde ved oppstart (default: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Nullstill alle oppsettendringer gjort via det grafiske grensesnittet</translation> + </message> </context> <context> <name>Intro</name> @@ -1478,6 +1506,18 @@ <translation>Nåværende antall blokker</translation> </message> <message> + <source>Memory Pool</source> + <translation>Minnepool</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Nåværende antall transaksjoner</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Minnebruk</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Åpne Bitcoin Core sin loggfil for feilsøk fra gjeldende datamappe. Dette kan ta noen sekunder for store loggfiler.</translation> </message> @@ -2920,6 +2960,10 @@ <translation>Feil: En fatal intern feil oppstod, se debug.log for detaljer</translation> </message> <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Gebyr (i %s/kB) for å legge til i transaksjoner du sender (standardverdi: %s)</translation> + </message> + <message> <source>Pruning blockstore...</source> <translation>Beskjærer blokklageret...</translation> </message> @@ -3480,6 +3524,10 @@ <translation>Feil ved lesing av wallet.dat! Alle nøkler lest riktig, men transaksjonsdataene eller oppføringer i adresseboken mangler kanskje eller er feil.</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Gebyrer (i %s/Kb) mindre enn dette anses som null gebyr for laging av transaksjoner (standardverdi: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Hvor grundig blokkverifiseringen til -checkblocks er (0-4, standardverdi: %u)</translation> </message> @@ -3496,6 +3544,10 @@ <translation>Ta ut feilsøkingsinformasjon (standardverdi: %u, bruk av <category> er valgfritt)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Støtte filtrering av blokker og transaksjoner med bloomfiltre (standardverdi: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>Total lengde av nettverks-versionstreng (%i) er over maks lengde (%i). Reduser tallet eller størrelsen av uacomments.</translation> </message> @@ -3512,6 +3564,10 @@ <translation>Bruk separate SOCKS5 proxyer for å nå noder via Tor skjulte tjenester (standardverdi: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Brukernavn og hashet passord for JSON-RPC tilkoblinger. Feltet <userpw> kommer i formatet: <USERNAME>:<SALT>$<HASH>. Et Python-skript er inkludert i share/rpcuser. Dette alternativet kan angis flere ganger</translation> + </message> + <message> <source>(default: %s)</source> <translation>(standardverdi: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts index be2ec9ac4f..8457a9ab50 100644 --- a/src/qt/locale/bitcoin_nl.ts +++ b/src/qt/locale/bitcoin_nl.ts @@ -59,7 +59,7 @@ </message> <message> <source>Sending addresses</source> - <translation>Verstuur adressen</translation> + <translation>Verstuuradressen</translation> </message> <message> <source>Receiving addresses</source> @@ -67,11 +67,11 @@ </message> <message> <source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source> - <translation>Dit zijn uw Bitcoinadressen om betalingen mee te verzenden. Controleer altijd het bedrag en het ontvang adres voordat u uw bitcoins verzendt.</translation> + <translation>Dit zijn uw Bitcoinadressen om betalingen mee te doen. Controleer altijd het bedrag en het ontvang adres voordat u uw bitcoins verstuurt.</translation> </message> <message> <source>These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source> - <translation>Dit zijn uw Bitcoin-adressen waarmee u kunt betalen. We raden u aan om een nieuw ontvangstadres voor elke transactie te gebruiken.</translation> + <translation>Dit zijn uw Bitcoinadressen waarmee u kunt betalen. We raden u aan om een nieuw ontvangstadres voor elke transactie te gebruiken.</translation> </message> <message> <source>Copy &Label</source> @@ -157,7 +157,7 @@ </message> <message> <source>Confirm wallet encryption</source> - <translation>Bevestig versleuteling van de portemonnee</translation> + <translation>Bevestig versleuteling van uw portemonnee</translation> </message> <message> <source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source> @@ -177,7 +177,7 @@ </message> <message> <source>Warning: The Caps Lock key is on!</source> - <translation>Waarschuwing: De Caps-Lock-toets staat aan!</translation> + <translation>Waarschuwing: De Caps Locktoets staat aan!</translation> </message> <message> <source>Wallet encrypted</source> @@ -223,6 +223,10 @@ <context> <name>BanTableModel</name> <message> + <source>IP/Netmask</source> + <translation>IP/Netmasker</translation> + </message> + <message> <source>Banned Until</source> <translation>Geband tot</translation> </message> @@ -255,11 +259,11 @@ </message> <message> <source>Browse transaction history</source> - <translation>Blader door transactieverleden</translation> + <translation>Blader door transactiegescheidenis</translation> </message> <message> <source>E&xit</source> - <translation>&Afsluiten</translation> + <translation>A&fsluiten</translation> </message> <message> <source>Quit application</source> @@ -275,7 +279,7 @@ </message> <message> <source>&Options...</source> - <translation>O&pties...</translation> + <translation>&Opties...</translation> </message> <message> <source>&Encrypt Wallet...</source> @@ -291,11 +295,11 @@ </message> <message> <source>&Sending addresses...</source> - <translation>V&erstuur adressen...</translation> + <translation>&Verstuuradressen...</translation> </message> <message> <source>&Receiving addresses...</source> - <translation>O&ntvang adressen...</translation> + <translation>&Ontvang adressen...</translation> </message> <message> <source>Open &URI...</source> @@ -303,7 +307,7 @@ </message> <message> <source>Bitcoin Core client</source> - <translation>Bitcoin Kern applicatie</translation> + <translation>Bitcoin Coreapplicatie</translation> </message> <message> <source>Importing blocks from disk...</source> @@ -347,7 +351,7 @@ </message> <message> <source>&Send</source> - <translation>&Versturen</translation> + <translation>&Verstuur</translation> </message> <message> <source>&Receive</source> @@ -355,7 +359,7 @@ </message> <message> <source>Show information about Bitcoin Core</source> - <translation>Toon informatie over bitcoin kern</translation> + <translation>Toon informatie over Bitcoin Core</translation> </message> <message> <source>&Show / Hide</source> @@ -395,11 +399,11 @@ </message> <message> <source>Bitcoin Core</source> - <translation>Bitcoin Kern</translation> + <translation>Bitcoin Core</translation> </message> <message> <source>Request payments (generates QR codes and bitcoin: URIs)</source> - <translation>Vraag betaling aan (genereert QR codes en bitcoin: URIs)</translation> + <translation>Vraag betaling aan (genereert QR-codes en bitcoin: URI's)</translation> </message> <message> <source>&About Bitcoin Core</source> @@ -411,7 +415,7 @@ </message> <message> <source>Show the list of used sending addresses and labels</source> - <translation>Toon de lijst met gebruikt verzend adressen en labels</translation> + <translation>Toon de lijst met gebruikte verstuuradressen en -labels</translation> </message> <message> <source>Show the list of used receiving addresses and labels</source> @@ -423,15 +427,15 @@ </message> <message> <source>&Command-line options</source> - <translation>&Commandoregel-opties</translation> + <translation>&Opdrachytregelopties</translation> </message> <message> <source>Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options</source> - <translation>Toon het Bitcoin Core hulpbericht om een lijst te krijgen met mogelijke Bitcoin commandoregelopties</translation> + <translation>Toon het Bitcoin Core hulpbericht om een lijst te krijgen met mogelijke Bitcoinopdrachtregelopties</translation> </message> <message numerus="yes"> <source>%n active connection(s) to Bitcoin network</source> - <translation><numerusform>%n actieve connectie naar Bitcoin netwerk</numerusform><numerusform>%n actieve connecties naar Bitcoin netwerk</numerusform></translation> + <translation><numerusform>%n actieve verbinding met Bitcoinnetwerk</numerusform><numerusform>%n actieve verbindingen met Bitcoinnetwerk</numerusform></translation> </message> <message> <source>No block source available...</source> @@ -439,11 +443,11 @@ </message> <message numerus="yes"> <source>Processed %n block(s) of transaction history.</source> - <translation><numerusform>%n blok aan transactie geschiedenis verwerkt.</numerusform><numerusform>%n blokken aan transactie geschiedenis verwerkt.</numerusform></translation> + <translation><numerusform>%n blok aan transactiegeschiedenis verwerkt.</numerusform><numerusform>%n blokken aan transactiegeschiedenis verwerkt.</numerusform></translation> </message> <message numerus="yes"> <source>%n hour(s)</source> - <translation><numerusform>%n uur</numerusform><numerusform>%n uur</numerusform></translation> + <translation><numerusform>%n uur</numerusform><numerusform>%n uren</numerusform></translation> </message> <message numerus="yes"> <source>%n day(s)</source> @@ -459,7 +463,7 @@ </message> <message numerus="yes"> <source>%n year(s)</source> - <translation><numerusform>%n jaar</numerusform><numerusform>%n jaar</numerusform></translation> + <translation><numerusform>%n jaar</numerusform><numerusform>%n jaren</numerusform></translation> </message> <message> <source>%1 behind</source> @@ -525,7 +529,7 @@ </message> <message> <source>Sent transaction</source> - <translation>Verzonden transactie</translation> + <translation>Verstuurde transactie</translation> </message> <message> <source>Incoming transaction</source> @@ -571,7 +575,7 @@ </message> <message> <source>Fee:</source> - <translation>Vergoeding:</translation> + <translation>Transactiekosten:</translation> </message> <message> <source>Dust:</source> @@ -579,7 +583,7 @@ </message> <message> <source>After Fee:</source> - <translation>Na vergoeding:</translation> + <translation>Naheffing:</translation> </message> <message> <source>Change:</source> @@ -655,11 +659,11 @@ </message> <message> <source>Copy fee</source> - <translation>Kopieer vergoeding</translation> + <translation>Kopieerkosten</translation> </message> <message> <source>Copy after fee</source> - <translation>Kopieer na vergoeding</translation> + <translation>Kopieernaheffing</translation> </message> <message> <source>Copy bytes</source> @@ -747,15 +751,15 @@ </message> <message> <source>This means a fee of at least %1 per kB is required.</source> - <translation>Dit betekent dat een vergoeding van minimaal %1 per kB nodig is.</translation> + <translation>Dit betekent dat kosten van minimaal %1 per kB aan verbonden zijn.</translation> </message> <message> <source>Can vary +/- 1 byte per input.</source> - <translation>Kan +/- byte per invoer variëren.</translation> + <translation>Kan +/- 1 byte per invoer variëren.</translation> </message> <message> <source>Transactions with higher priority are more likely to get included into a block.</source> - <translation>Transacties met een hogere prioriteit zullen eerder in een block gezet worden.</translation> + <translation>Transacties met een hogere prioriteit zullen eerder in een blok gezet worden.</translation> </message> <message> <source>(no label)</source> @@ -786,7 +790,7 @@ </message> <message> <source>The address associated with this address list entry. This can only be modified for sending addresses.</source> - <translation>Het adres dat bij dit adres item hoort. Dit kan alleen bewerkt worden voor verstuur adressen.</translation> + <translation>Het adres dat bij dit adresitem hoort. Dit kan alleen bewerkt worden voor verstuuradressen.</translation> </message> <message> <source>&Address</source> @@ -798,7 +802,7 @@ </message> <message> <source>New sending address</source> - <translation>Nieuw adres om naar te verzenden</translation> + <translation>Nieuw adres om naar te versturen</translation> </message> <message> <source>Edit receiving address</source> @@ -806,7 +810,7 @@ </message> <message> <source>Edit sending address</source> - <translation>Bewerk adres om naar te verzenden</translation> + <translation>Bewerk adres om naar te versturen</translation> </message> <message> <source>The entered address "%1" is already in the address book.</source> @@ -841,7 +845,7 @@ </message> <message> <source>Path already exists, and is not a directory.</source> - <translation>Communicatiepad bestaat al, en is geen folder.</translation> + <translation>Communicatiepad bestaat al, en is geen map.</translation> </message> <message> <source>Cannot create data directory here.</source> @@ -852,7 +856,7 @@ <name>HelpMessageDialog</name> <message> <source>Bitcoin Core</source> - <translation>Bitcoin Kern</translation> + <translation>Bitcoin Core</translation> </message> <message> <source>version</source> @@ -868,7 +872,7 @@ </message> <message> <source>Command-line options</source> - <translation>Commandoregel-opties</translation> + <translation>Opdrachtregelopties</translation> </message> <message> <source>Usage:</source> @@ -876,7 +880,35 @@ </message> <message> <source>command-line options</source> - <translation>commandoregel-opties</translation> + <translation>opdrachtregelopties</translation> + </message> + <message> + <source>UI Options:</source> + <translation>UI-opties:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Kies gegevensmap bij opstarten (standaard: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Stel taal in, bijvoorbeeld "nl_NL" (standaard: systeemlocale)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Geminimaliseerd starten</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Zet SSL-rootcertificaat voor betalingsverzoeken (standaard: -systeem-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Toon opstartscherm bij opstarten (standaard: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Reset alle wijzigingen aan instellingen gedaan met de GUI</translation> </message> </context> <context> @@ -895,7 +927,7 @@ </message> <message> <source>Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source> - <translation>Bitcoin Core zal een kopie van de Bitcoin blokketen downloaden en opslaan. Tenminste %1 GB aan data wordt opgeslagen in deze map en het zal groeien in de tijd. De portemonnee wordt ook in deze map opgeslagen.</translation> + <translation>Bitcoin Core zal een kopie van de Bitcoinblokketen downloaden en opslaan. Tenminste %1 GB aan data wordt opgeslagen in deze map en het zal groeien in de tijd. De portemonnee wordt ook in deze map opgeslagen.</translation> </message> <message> <source>Use the default data directory</source> @@ -907,7 +939,7 @@ </message> <message> <source>Bitcoin Core</source> - <translation>Bitcoin Kern</translation> + <translation>Bitcoin Core</translation> </message> <message> <source>Error: Specified data directory "%1" cannot be created.</source> @@ -919,7 +951,7 @@ </message> <message numerus="yes"> <source>%n GB of free space available</source> - <translation><numerusform>%n GB aan vrije oplsagruimte beschikbaar</numerusform><numerusform>%n GB aan vrije oplsagruimte beschikbaar</numerusform></translation> + <translation><numerusform>%n GB aan vrije opslagruimte beschikbaar</numerusform><numerusform>%n GB aan vrije opslagruimte beschikbaar</numerusform></translation> </message> <message numerus="yes"> <source>(of %n GB needed)</source> @@ -961,7 +993,7 @@ </message> <message> <source>Size of &database cache</source> - <translation>Grootte van de &database cache</translation> + <translation>Grootte van de &databasecache</translation> </message> <message> <source>MB</source> @@ -993,7 +1025,7 @@ </message> <message> <source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source> - <translation>Derde partijen URL's (bijvoorbeeld block explorer) dat in de transacties tab verschijnen als contextmenu elementen. %s in de URL is vervangen door transactie hash. Verscheidene URL's zijn gescheiden door een verticale streep |. </translation> + <translation>URL's van derden (bijvoorbeeld block explorer) die in de transacties tab verschijnen als contextmenuelementen. %s in de URL is vervangen door transactiehash. Verscheidene URL's zijn gescheiden door een verticale streep |. </translation> </message> <message> <source>Third party transaction URLs</source> @@ -1001,7 +1033,7 @@ </message> <message> <source>Active command-line options that override above options:</source> - <translation>Actieve commandoregelopties die bovenstaande opties overschrijven:</translation> + <translation>Actieve opdrachtregelopties die bovenstaande opties overschrijven:</translation> </message> <message> <source>Reset all client options to default.</source> @@ -1017,11 +1049,11 @@ </message> <message> <source>Automatically start Bitcoin Core after logging in to the system.</source> - <translation>Bitcoin Kern automatisch starten bij inloggen.</translation> + <translation>Bitcoin Core automatisch starten bij inloggen.</translation> </message> <message> <source>&Start Bitcoin Core on system login</source> - <translation>&Start Bitcoin Kern tijdens login.</translation> + <translation>&Start Bitcoin Core tijdens login.</translation> </message> <message> <source>(0 = auto, <0 = leave that many cores free)</source> @@ -1049,7 +1081,7 @@ </message> <message> <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source> - <translation>Open de Bitcoin-poort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt en het aanstaat.</translation> + <translation>Open de Bitcoinpoort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt en het aanstaat.</translation> </message> <message> <source>Map port using &UPnP</source> @@ -1057,7 +1089,7 @@ </message> <message> <source>Connect to the Bitcoin network through a SOCKS5 proxy.</source> - <translation>Verbind met het Bitcoin netwerk via een SOCKS5 proxy.</translation> + <translation>Verbind met het Bitcoinnetwerk via een SOCKS5 proxy.</translation> </message> <message> <source>&Connect through SOCKS5 proxy (default proxy):</source> @@ -1076,6 +1108,14 @@ <translation>Poort van de proxy (bijv. 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Gebruikt om peers te bereiken via:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Vertoningen, als de opgegeven standaard SOCKS5-proxy is gebruikt om peers te benaderen via dit type netwerk.</translation> + </message> + <message> <source>IPv4</source> <translation>IPv4</translation> </message> @@ -1088,12 +1128,20 @@ <translation>Tor</translation> </message> <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Maak verbinding met Bitcoinnetwerk door een aparte SOCKS5-proxy voor verborgen diensten van Tor.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Gebruikt aparte SOCKS5-proxy om peers te bereiken via verborgen diensten van Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Scherm</translation> </message> <message> <source>Show only a tray icon after minimizing the window.</source> - <translation>Laat alleen een systeemvak-icoon zien wanneer het venster geminimaliseerd is</translation> + <translation>Laat alleen een systeemvakicoon zien wanneer het venster geminimaliseerd is</translation> </message> <message> <source>&Minimize to the tray instead of the taskbar</source> @@ -1101,7 +1149,7 @@ </message> <message> <source>M&inimize on close</source> - <translation>Minimaliseer bij sluiten van het &venster</translation> + <translation>M&inimaliseer bij sluiten van het venster</translation> </message> <message> <source>&Display</source> @@ -1117,7 +1165,7 @@ </message> <message> <source>Choose the default subdivision unit to show in the interface and when sending coins.</source> - <translation>Kies de standaard onderverdelingseenheid om weer te geven in uw programma, en voor het versturen van munten</translation> + <translation>Kies de standaardonderverdelingseenheid om weer te geven in uw programma, en voor het versturen van munten</translation> </message> <message> <source>Whether to show coin control features or not.</source> @@ -1129,7 +1177,7 @@ </message> <message> <source>&Cancel</source> - <translation>Ann&uleren</translation> + <translation>&Annuleren</translation> </message> <message> <source>default</source> @@ -1275,7 +1323,7 @@ </message> <message> <source>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source> - <translation>URI kan niet verwerkt worden! Dit kan het gevolg zijn van een ongeldig Bitcoin adres of misvormde URI parameters.</translation> + <translation>URI kan niet verwerkt worden! Dit kan het gevolg zijn van een ongeldig Bitcoinadres of misvormde URI-parameters.</translation> </message> <message> <source>Payment request file handling</source> @@ -1283,7 +1331,7 @@ </message> <message> <source>Payment request file cannot be read! This can be caused by an invalid payment request file.</source> - <translation>Betalingsverzoek-bestand kan niet gelezen of verwerkt worden! Dit kan veroorzaakt worden door een ongeldig betalingsverzoek-bestand.</translation> + <translation>Betalingsverzoekbestand kan niet gelezen of verwerkt worden! Dit kan veroorzaakt worden door een ongeldig betalingsverzoek-bestand.</translation> </message> <message> <source>Payment request expired.</source> @@ -1334,7 +1382,7 @@ </message> <message> <source>Node/Service</source> - <translation>Node/Service</translation> + <translation>Node/Dienst</translation> </message> <message> <source>Ping Time</source> @@ -1349,11 +1397,11 @@ </message> <message> <source>Enter a Bitcoin address (e.g. %1)</source> - <translation>Voer een Bitcoin-adres in (bijv. %1)</translation> + <translation>Voer een Bitcoinadres in (bijv. %1)</translation> </message> <message> <source>%1 d</source> - <translation>%1d</translation> + <translation>%1 d</translation> </message> <message> <source>%1 h</source> @@ -1365,7 +1413,7 @@ </message> <message> <source>%1 s</source> - <translation>%1s</translation> + <translation>%1 s</translation> </message> <message> <source>None</source> @@ -1458,8 +1506,20 @@ <translation>Huidig aantal blokken</translation> </message> <message> + <source>Memory Pool</source> + <translation>Geheugenpoel</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Huidig aantal transacties</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Geheugengebruik</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> - <translation>Open het Bitcoin Core debug logbestand van de huidige gegevens directory. Dit kan enkele seconden duren voor grote logbestanden.</translation> + <translation>Open het Bitcoin Core debuglogbestand van de huidige gegevensmap. Dit kan enkele seconden duren voor grote logbestanden.</translation> </message> <message> <source>Received</source> @@ -1474,10 +1534,18 @@ <translation>&Peers</translation> </message> <message> + <source>Banned peers</source> + <translation>Gebande peers</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Selecteer een peer om gedetailleerde informatie te bekijken.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Toegestaan</translation> + </message> + <message> <source>Direction</source> <translation>Directie</translation> </message> @@ -1486,6 +1554,10 @@ <translation>Versie</translation> </message> <message> + <source>Starting Block</source> + <translation>Start Blok</translation> + </message> + <message> <source>Synced Headers</source> <translation>Gesynchroniseerde headers</translation> </message> @@ -1499,7 +1571,7 @@ </message> <message> <source>Services</source> - <translation>Services</translation> + <translation>Diensten</translation> </message> <message> <source>Ban Score</source> @@ -1526,6 +1598,14 @@ <translation>De tijdsduur van een op het moment openstaande ping.</translation> </message> <message> + <source>Ping Wait</source> + <translation>Pingwachttijd</translation> + </message> + <message> + <source>Time Offset</source> + <translation>Tijdcompensatie</translation> + </message> + <message> <source>Last block time</source> <translation>Tijd laatste blok</translation> </message> @@ -1563,13 +1643,21 @@ </message> <message> <source>Debug log file</source> - <translation>Debug-logbestand</translation> + <translation>Debuglogbestand</translation> </message> <message> <source>Clear console</source> <translation>Maak console leeg</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Verbreek Verbinding Node</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Ban Node voor</translation> + </message> + <message> <source>1 &hour</source> <translation>1 &uur</translation> </message> @@ -1586,6 +1674,10 @@ <translation>1 &jaar</translation> </message> <message> + <source>&Unban Node</source> + <translation>&Maak Ban Ongedaan voor Node</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Welkom op de Bitcoin Core RPC console.</translation> </message> @@ -1595,7 +1687,7 @@ </message> <message> <source>Type <b>help</b> for an overview of available commands.</source> - <translation>Typ <b>help</b> voor een overzicht van de beschikbare commando's.</translation> + <translation>Typ <b>help</b> voor een overzicht van de beschikbare opdrachten.</translation> </message> <message> <source>%1 B</source> @@ -1614,6 +1706,10 @@ <translation>%1 Gb</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(node id: %1)</translation> + </message> + <message> <source>via %1</source> <translation>via %1</translation> </message> @@ -1666,7 +1762,7 @@ </message> <message> <source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source> - <translation>Een optioneel bericht om bij te voegen aan het betalingsverzoek, dewelke zal getoond worden wanneer het verzoek is geopend. Opermerking: Het bericht zal niet worden verzonden met de betaling over het Bitcoin netwerk.</translation> + <translation>Een optioneel bericht om bij te voegen aan het betalingsverzoek, welke zal getoond worden wanneer het verzoek is geopend. Opmerking: Het bericht zal niet worden verzonden met de betaling over het Bitcoinnetwerk.</translation> </message> <message> <source>An optional label to associate with the new receiving address.</source> @@ -1815,7 +1911,7 @@ <name>SendCoinsDialog</name> <message> <source>Send Coins</source> - <translation>Verstuur munten</translation> + <translation>Verstuurde munten</translation> </message> <message> <source>Coin Control Features</source> @@ -1851,11 +1947,11 @@ </message> <message> <source>Fee:</source> - <translation>Vergoeding:</translation> + <translation>Kosten:</translation> </message> <message> <source>After Fee:</source> - <translation>Na vergoeding:</translation> + <translation>Naheffing:</translation> </message> <message> <source>Change:</source> @@ -1863,7 +1959,7 @@ </message> <message> <source>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</source> - <translation>Als dit is geactiveerd, maar het wisselgeldadres is leeg of ongeldig, dan wordt het wisselgeld verzonden naar een nieuw gegenereerd adres.</translation> + <translation>Als dit is geactiveerd, maar het wisselgeldadres is leeg of ongeldig, dan wordt het wisselgeld verstuurd naar een nieuw gegenereerd adres.</translation> </message> <message> <source>Custom change address</source> @@ -1879,7 +1975,7 @@ </message> <message> <source>collapse fee-settings</source> - <translation>Transactiekosteninstellingen verbergen</translation> + <translation>verberg kosteninstellingen</translation> </message> <message> <source>per kilobyte</source> @@ -1915,7 +2011,7 @@ </message> <message> <source>(Smart fee not initialized yet. This usually takes a few blocks...)</source> - <translation>(Slimme vergoeding is nog niet geïnitialiseerd. Dit duurt meestal een paar blokken...)</translation> + <translation>(Slimme transactiekosten is nog niet geïnitialiseerd. Dit duurt meestal een paar blokken...)</translation> </message> <message> <source>Confirmation time:</source> @@ -1931,7 +2027,7 @@ </message> <message> <source>Send as zero-fee transaction if possible</source> - <translation>Verstuur als transactie zonder verzendkosten indien mogelijk</translation> + <translation>Indien mogelijk, verstuur zonder transactiekosten</translation> </message> <message> <source>(confirmation may take longer)</source> @@ -1939,7 +2035,7 @@ </message> <message> <source>Send to multiple recipients at once</source> - <translation>Verstuur aan verschillende ontvangers ineens</translation> + <translation>Verstuur in een keer aan verschillende ontvangers</translation> </message> <message> <source>Add &Recipient</source> @@ -1967,7 +2063,7 @@ </message> <message> <source>S&end</source> - <translation>&Verstuur</translation> + <translation>V&erstuur</translation> </message> <message> <source>Confirm send coins</source> @@ -1987,11 +2083,11 @@ </message> <message> <source>Copy fee</source> - <translation>Kopieer vergoeding</translation> + <translation>Kopieerkosten</translation> </message> <message> <source>Copy after fee</source> - <translation>Kopieer na vergoeding</translation> + <translation>Kopieernaheffing</translation> </message> <message> <source>Copy bytes</source> @@ -2034,10 +2130,22 @@ <translation>De transactie was afgewezen. Dit kan gebeuren als u eerder uitgegeven munten opnieuw wilt versturen, zoals wanneer u een kopie van uw wallet.dat heeft gebruikt en in de kopie deze munten zijn gemarkeerd als uitgegeven, maar in de huidige nog niet.</translation> </message> <message> + <source>A fee higher than %1 is considered an absurdly high fee.</source> + <translation>Transactiekosten van meer dan %1 wordt beschouwd als een absurd hoge transactiekosten.</translation> + </message> + <message> <source>Payment request expired.</source> <translation>Betalingsverzoek verlopen.</translation> </message> <message> + <source>Pay only the required fee of %1</source> + <translation>Betaal alleen de verplichte transactiekosten van %1</translation> + </message> + <message numerus="yes"> + <source>Estimated to begin confirmation within %n block(s).</source> + <translation><numerusform>Schatting is dat bevestiging begint over %n blok.</numerusform><numerusform>Schatting is dat bevestiging begint over %n blokken.</numerusform></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Het adres van de ontvanger is niet geldig. Gelieve opnieuw te controleren..</translation> </message> @@ -2047,7 +2155,7 @@ </message> <message> <source>Warning: Invalid Bitcoin address</source> - <translation>Waarschuwing: Ongeldig Bitcoin adres</translation> + <translation>Waarschuwing: Ongeldig Bitcoinadres</translation> </message> <message> <source>(no label)</source> @@ -2063,7 +2171,7 @@ </message> <message> <source>Are you sure you want to send?</source> - <translation>Weet u zeker dat u wilt verzenden?</translation> + <translation>Weet u zeker dat u wilt versturen?</translation> </message> <message> <source>added as transaction fee</source> @@ -2074,7 +2182,7 @@ <name>SendCoinsEntry</name> <message> <source>A&mount:</source> - <translation>Bedra&g:</translation> + <translation>B&edrag:</translation> </message> <message> <source>Pay &To:</source> @@ -2098,7 +2206,7 @@ </message> <message> <source>The Bitcoin address to send the payment to</source> - <translation>Het Bitcoin adres om betaling aan te voldoen</translation> + <translation>Het Bitcoinadres om betaling aan te versturen</translation> </message> <message> <source>Alt+A</source> @@ -2118,11 +2226,11 @@ </message> <message> <source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source> - <translation>De vergoeding zal worden afgetrokken van het bedrag dat verzonden wordt. De ontvangers zullen minder bitcoins ontvangen dan ingevoerd is in het hoeveelheids veld. Als er meerdere ontvangers geselecteerd zijn, dan wordt de vergoeding gelijk verdeeld.</translation> + <translation>De transactiekosten zal worden afgetrokken van het bedrag dat verstuurd wordt. De ontvangers zullen minder bitcoins ontvangen dan ingevoerd is in het hoeveelheidsveld. Als er meerdere ontvangers geselecteerd zijn, dan worden de transactiekosten gelijk verdeeld.</translation> </message> <message> <source>S&ubtract fee from amount</source> - <translation>Trek de vergoeding af van het bedrag.</translation> + <translation>Trek de transactiekosten a&f van het bedrag.</translation> </message> <message> <source>Message:</source> @@ -2142,7 +2250,7 @@ </message> <message> <source>A message that was attached to the bitcoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Bitcoin network.</source> - <translation>Een bericht dat werd toegevoegd aan de bitcoin: URI dewelke wordt opgeslagen met de transactie ter referentie. Opmerking: Dit bericht zal niet worden verzonden over het Bitcoin netwerk.</translation> + <translation>Een bericht dat werd toegevoegd aan de bitcoin: URI welke wordt opgeslagen met de transactie ter referentie. Opmerking: Dit bericht zal niet worden verzonden over het Bitcoinnetwerk.</translation> </message> <message> <source>Pay To:</source> @@ -2168,19 +2276,19 @@ <name>SignVerifyMessageDialog</name> <message> <source>Signatures - Sign / Verify a Message</source> - <translation>Handtekeningen - Onderteken een bericht / Verifiëer een handtekening</translation> + <translation>Handtekeningen – Onderteken een bericht / Verifiëer een handtekening</translation> </message> <message> <source>&Sign Message</source> - <translation>O&nderteken Bericht</translation> + <translation>&Onderteken Bericht</translation> </message> <message> <source>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source> - <translation>U kunt berichten/overeenkomsten ondertekenen met uw adres om te bewijzen dat u Bitcoins kunt versturen. Wees voorzichtig met het ondertekenen van iets vaags of willekeurigs, omdat phishing-aanvallen u kunnen proberen te misleiden tot het ondertekenen van overeenkomsten om uw identiteit aan hen toe te vertrouwen. Onderteken alleen volledig gedetailleerde verklaringen voordat u akkoord gaat.</translation> + <translation>U kunt berichten/overeenkomsten ondertekenen met uw adres om te bewijzen dat u Bitcoins kunt versturen. Wees voorzichtig met het ondertekenen van iets vaags of willekeurigs, omdat phishingaanvallen u kunnen proberen te misleiden tot het ondertekenen van overeenkomsten om uw identiteit aan hen toe te vertrouwen. Onderteken alleen volledig gedetailleerde verklaringen voordat u akkoord gaat.</translation> </message> <message> <source>The Bitcoin address to sign the message with</source> - <translation>Het Bitcoin adres om bericht mee te ondertekenen</translation> + <translation>Het Bitcoinadres om bericht mee te ondertekenen</translation> </message> <message> <source>Choose previously used address</source> @@ -2236,7 +2344,7 @@ </message> <message> <source>The Bitcoin address the message was signed with</source> - <translation>Het Bitcoin adres waarmee het bericht ondertekend is</translation> + <translation>Het Bitcoinadres waarmee het bericht ondertekend is</translation> </message> <message> <source>Verify the message to ensure it was signed with the specified Bitcoin address</source> @@ -2307,11 +2415,11 @@ <name>SplashScreen</name> <message> <source>Bitcoin Core</source> - <translation>Bitcoin Kern</translation> + <translation>Bitcoin Core</translation> </message> <message> <source>The Bitcoin Core developers</source> - <translation>De Bitcoin Core ontwikkelaars</translation> + <translation>De Bitcoin Core-ontwikkelaars</translation> </message> <message> <source>[testnet]</source> @@ -2441,7 +2549,7 @@ </message> <message> <source>Debug information</source> - <translation>Debug-informatie</translation> + <translation>Debuginformatie</translation> </message> <message> <source>Transaction</source> @@ -2499,7 +2607,7 @@ </message> <message> <source>Immature (%1 confirmations, will be available after %2)</source> - <translation>immatuur (%1 bevestigingen, zal beschikbaar zijn na %2)</translation> + <translation>Premature (%1 bevestigingen, zal beschikbaar zijn na %2)</translation> </message> <message numerus="yes"> <source>Open for %n more block(s)</source> @@ -2551,7 +2659,7 @@ </message> <message> <source>Sent to</source> - <translation>Verzonden aan</translation> + <translation>Verstuurd aan</translation> </message> <message> <source>Payment to yourself</source> @@ -2586,6 +2694,10 @@ <translation>Of er een alleen-bekijken adres is betrokken bij deze transactie.</translation> </message> <message> + <source>User-defined intent/purpose of the transaction.</source> + <translation>Door gebruiker gedefinieerde intentie/doel van de transactie</translation> + </message> + <message> <source>Amount removed from or added to balance.</source> <translation>Bedrag verwijderd van of toegevoegd aan saldo</translation> </message> @@ -2626,7 +2738,7 @@ </message> <message> <source>Sent to</source> - <translation>Verzonden aan</translation> + <translation>Verstuurd aan</translation> </message> <message> <source>To yourself</source> @@ -2666,7 +2778,7 @@ </message> <message> <source>Copy raw transaction</source> - <translation>Kopieer </translation> + <translation>Kopieer ruwe transactie</translation> </message> <message> <source>Edit label</source> @@ -2678,7 +2790,7 @@ </message> <message> <source>Export Transaction History</source> - <translation>Exporteer Transactieverleden</translation> + <translation>Exporteer Transactiegeschiedenis</translation> </message> <message> <source>Watch-only</source> @@ -2690,7 +2802,7 @@ </message> <message> <source>There was an error trying to save the transaction history to %1.</source> - <translation>Er is een fout opgetreden bij het opslaan van het transactieverleden naar %1.</translation> + <translation>Er is een fout opgetreden bij het opslaan van het transactiegeschiedenis naar %1.</translation> </message> <message> <source>Exporting Successful</source> @@ -2698,7 +2810,7 @@ </message> <message> <source>The transaction history was successfully saved to %1.</source> - <translation>Het transactieverleden was succesvol bewaard in %1.</translation> + <translation>Het transactiegeschiedenis was succesvol bewaard in %1.</translation> </message> <message> <source>Comma separated file (*.csv)</source> @@ -2755,7 +2867,7 @@ <name>WalletModel</name> <message> <source>Send Coins</source> - <translation>Verstuur munten</translation> + <translation>Verstuur Munten</translation> </message> </context> <context> @@ -2774,7 +2886,7 @@ </message> <message> <source>Wallet Data (*.dat)</source> - <translation>Portemonnee-data (*.dat)</translation> + <translation>Portemonneedata (*.dat)</translation> </message> <message> <source>Backup Failed</source> @@ -2782,7 +2894,7 @@ </message> <message> <source>There was an error trying to save the wallet data to %1.</source> - <translation>Er is een fout opgetreden bij het wegschrijven van de portemonnee-data naar %1.</translation> + <translation>Er is een fout opgetreden bij het wegschrijven van de portemonneedata naar %1.</translation> </message> <message> <source>The wallet data was successfully saved to %1.</source> @@ -2813,19 +2925,55 @@ </message> <message> <source>Accept command line and JSON-RPC commands</source> - <translation>Aanvaard commandoregel- en JSON-RPC-commando's</translation> + <translation>Aanvaard opdrachtregel- en JSON-RPC-opdrachten</translation> </message> <message> <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> - <translation>Als er geen <category> is opgegeven of als de <category> 1 is, laat dan alle debugging informatie zien.</translation> + <translation>Als er geen <categorie> is opgegeven of als de <categorie> 1 is, laat dan alle debugginginformatie zien.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Maximum totale transactiekosten (in %s) om te gebruiken voor een enkele portemonneetransactie; als dit te laag is ingesteld kan het grote transacties verhinderen (default: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Check a.u.b. of de datum en tijd van uw computer correct zijn! Als uw klok verkeerd staat zal Bitcoin Core niet correct werken.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>Snoeien is geconfigureerd on het minimum van %d MiB. Gebruik a.u.b. een hoger aantal.</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Snoei: laatste portemoneesynchronisatie gaat verder dan de gesnoeide data. U moet -reindex gebruiken (download opnieuw de gehele blokketen voor een weggesnoeide node)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Beperk benodigde opslag door snoeien (verwijderen) van oude blokken. Deze modus is niet-compatibele met -txindex en -rescan. Waarschuwing: Terugzetten van deze instellingen vereist opnieuw downloaden van gehele de blokketen. (standaard:0 = uitzetten snoeimodus, >%u = doelgrootte in MiB voor blokbestanden)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Herscannen is niet mogelijk in de snoeimodus. U moet -reindex gebruiken dat de hele blokketen opnieuw zal downloaden.</translation> </message> <message> <source>Error: A fatal internal error occurred, see debug.log for details</source> <translation>Fout: er is een fout opgetreden, zie debug.log voor details</translation> </message> <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Transactiekosten (in %s/kB) toevoegen aan transacties die u doet (standaard: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Snoei blokopslag...</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> - <translation>Draai in de achtergrond als daemon en aanvaard commando's</translation> + <translation>Draai in de achtergrond als daemon en aanvaard opdrachten</translation> + </message> + <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Niet mogelijk ok HTTP-server te starten. Zie debuglogboek voor details.</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2837,11 +2985,11 @@ </message> <message> <source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source> - <translation>Verwijder alle transacties van de portemonnee en herstel alleen de delen van de blockchain door -rescan tijdens het opstarten</translation> + <translation>Verwijder alle transacties van de portemonnee en herstel alleen de delen van de blokketen door -rescan tijdens het opstarten</translation> </message> <message> <source>Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>.</source> - <translation>Uitgegeven onder de MIT software licentie, zie het bijgevoegde bestand COPYING of <http://www.opensource.org/licenses/mit-license.php>.</translation> + <translation>Uitgegeven onder de MIT-softwarelicentie, zie het bijgevoegde bestand COPYING of <http://www.opensource.org/licenses/mit-license.php>.</translation> </message> <message> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> @@ -2849,17 +2997,29 @@ </message> <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> - <translation>Kies het aantal script verificatie processen (%u tot %d, 0 = auto, <0 = laat dit aantal kernen vrij, standaard: %d)</translation> + <translation>Kies het aantal scriptverificatie processen (%u tot %d, 0 = auto, <0 = laat dit aantal kernen vrij, standaard: %d)</translation> + </message> + <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>De blokdatabase bevat een blok dat lijkt uit de toekomst te komen. Dit kan gebeuren omdat de datum en tijd van uw computer niet goed staat. Herbouw de blokdatabase pas nadat u de datum en tijd van uw computer correct heeft ingesteld.</translation> </message> <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> - <translation>Dit is een pre-release testversie - gebruik op eigen risico! Gebruik deze niet voor het delven van munten of handelsdoeleinden</translation> + <translation>Dit is een prerelease testversie – gebruik op eigen risico! Gebruik deze niet voor het delven van munten of handelsdoeleinden</translation> </message> <message> <source>Unable to bind to %s on this computer. Bitcoin Core is probably already running.</source> <translation>Niet in staat om %s te verbinden op deze computer. Bitcoin Core draait waarschijnlijk al.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Gebruik UPnP om de luisterende poort te mappen (standaard: 1 als er geluisterd worden en geen -proxy is meegegeven)</translation> + </message> + <message> + <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> + <translation>WAARSCHUWING: abnormaal hoog aantal blokken is gegenereerd, %d blokken ontvangen in de laatste %d uren (%d verwacht)</translation> + </message> + <message> <source>WARNING: check your network connection, %d blocks received in the last %d hours (%d expected)</source> <translation>WAARSCHUWING: controleer uw netwerkverbinding, %d blokken ontvangen in de laatste %d uren (%d verwacht)</translation> </message> @@ -2880,8 +3040,12 @@ <translation>Goedgekeurde peers die verbinden van het ingegeven netmask of IP adres. Kan meerdere keren gespecificeerd worden.</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool moet tenminste %d MB zijn</translation> + </message> + <message> <source><category> can be:</source> - <translation><category> kan zijn:</translation> + <translation><categorie> kan zijn:</translation> </message> <message> <source>Block creation options:</source> @@ -2912,6 +3076,22 @@ <translation>Wilt u de blokkendatabase nu herbouwen?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Sta toe om hashblok te publiceren in <adres></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Stat toe om hashtransactie te publiceren in <adres></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Sta toe rauw blok te publiceren in <adres></translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Sta toe ruwe transacties te publiceren in <adres></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Fout bij intialisatie blokkendatabase</translation> </message> @@ -2941,13 +3121,17 @@ </message> <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> - <translation>Incorrect of geen genesis-blok gevonden. Verkeerde datamap voor het netwerk?</translation> + <translation>Incorrect of geen genesisblok gevonden. Verkeerde datamap voor het netwerk?</translation> </message> <message> <source>Invalid -onion address: '%s'</source> <translation>Ongeldig -onion adres '%s'</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>De transactiegeheugenpool moet onder de <n> megabytes blijven (standaard: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>Niet genoeg file descriptors beschikbaar.</translation> </message> @@ -2956,6 +3140,14 @@ <translation>Verbind alleen met nodes in netwerk <net> (ipv4, ipv6 of onion)</translation> </message> <message> + <source>Prune cannot be configured with a negative value.</source> + <translation>Snoeien kan niet worden geconfigureerd met een negatieve waarde.</translation> + </message> + <message> + <source>Prune mode is incompatible with -txindex.</source> + <translation>Snoeimodus is niet-compatibel met -txindex</translation> + </message> + <message> <source>Set database cache size in megabytes (%d to %d, default: %d)</source> <translation>Zet database cache grootte in megabytes (%d tot %d, standaard: %d)</translation> </message> @@ -2968,10 +3160,26 @@ <translation>Specificeer het portemonnee bestand (vanuit de gegevensmap)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Niet-ondersteund argument -benchmark genegeerd, gebruik -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Niet-ondersteund argument -debugnet genegeerd, gebruik -debug=net</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Niet-ondersteund argument -tor gevonden, gebruik -onion.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Gebruik UPnP om de luisterende poort te mappen (standaard: %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>User Agentcommentaar (%s) bevat onveilige karakters.</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>Blokken aan het controleren...</translation> </message> @@ -2993,7 +3201,7 @@ </message> <message> <source>You need to rebuild the database using -reindex to change -txindex</source> - <translation>Om -txindex te kunnen veranderen dient u de database opnieuw te bouwen met gebruik van -reindex.</translation> + <translation>Om -txindex te kunnen veranderen dient u de database herbouwen met gebruik van -reindex.</translation> </message> <message> <source>Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times</source> @@ -3016,29 +3224,40 @@ <translation>Creër nieuwe bestanden met standaard systeem bestandsrechten in plaats van umask 077 (alleen effectief met uitgeschakelde portemonnee functionaliteit)</translation> </message> <message> + <source>Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)</source> + <translation>Ontdek eigen IP-adressen (standaard: 1 voor luisteren en geen -externalip of -proxy)</translation> + </message> + <message> <source>Error: Listening for incoming connections failed (listen returned error %s)</source> <translation>Fout: luisteren naar binnenkomende verbindingen mislukt (luisteren gaf foutmelding %s)</translation> </message> <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> - <translation>Voer commando uit zodra een waarschuwing is ontvangen of wanneer we een erg lange fork detecteren (%s in commando wordt vervangen door bericht)</translation> + <translation>Voer opdracht uit zodra een waarschuwing is ontvangen of wanneer we een erg lange fork detecteren (%s in opdracht wordt vervangen door bericht)</translation> + </message> + <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)</source> + <translation>Transactiekosten (in %s/kB) kleiner dan dit worden beschouw dat geen transactiekosten in rekening worden gebracht voor doorgeven, mijnen en transactiecreatie (standaard: %s)</translation> </message> <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> - <translation>Als paytxfee niet is ingesteld, het pakket voldoende vergoeding zodat transacties beginnen bevestiging gemiddeld binnen in blokken (default: %u)</translation> + <translation>Als paytxfee niet is ingesteld, voeg voldoende transactiekosten toe zodat transacties starten met bevestigingen binnen in n blokken (standaard: %u)</translation> </message> <message> <source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source> - <translation>ongeldig bedrag voor -maxtxfee=<amount>: '%s' (moet ten minste de minrelay vergoeding van %s het voorkomen geplakt transacties voorkomen)</translation> + <translation>ongeldig bedrag voor -maxtxfee=<bedrag>: '%s' (moet ten minste de minimale doorgeeftransactiekosten van %s het voorkomen geplakt transacties voorkomen)</translation> </message> <message> <source>Maximum size of data in data carrier transactions we relay and mine (default: %u)</source> - <translation>Maximale grootte va n de gegevens in gegevensdrager transacties we relais en de mijnen -(default: %u)</translation> + <translation>Maximale grootte va n de gegevens in gegevensdragertransacties die we doorgeven en mijnen (standaard: %u)</translation> </message> <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> - <translation>Query voor peer- adressen via DNS- lookup , als laag op adressen (default: 1 unless -connect)</translation> + <translation>Query voor peeradressen via DNS- lookup , als laag op adressen (standaard: 1 unless -connect)</translation> + </message> + <message> + <source>Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)</source> + <translation>Gebruik willekeurige inloggegevens voor elke proxyverbinding. Dit maakt streamislatie voor Tor mogelijk (standaard: %u)</translation> </message> <message> <source>Set maximum size of high-priority/low-fee transactions in bytes (default: %d)</source> @@ -3050,7 +3269,7 @@ </message> <message> <source>The transaction amount is too small to send after the fee has been deducted</source> - <translation>Het transactiebedrag is te klein om te versturen nadat de vergoeding in mindering is gebracht</translation> + <translation>Het transactiebedrag is te klein om te versturen nadat de transactiekosten in mindering zijn gebracht</translation> </message> <message> <source>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</source> @@ -3058,7 +3277,11 @@ </message> <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> - <translation>Goedgekeurde peers kunnen niet ge-DoS-banned worden en hun transacties worden altijd doorgestuurd, zelfs als ze reeds in de mempool aanwezig zijn, nuttig voor bijv. een gateway</translation> + <translation>Goedgekeurde peers kunnen niet ge-DoS-banned worden en hun transacties worden altijd doorgegeven, zelfs als ze reeds in de mempool aanwezig zijn, nuttig voor bijv. een gateway</translation> + </message> + <message> + <source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source> + <translation>U moet de database herbouwen met -reindex om terug te gaan naar de ongesnoeide modus. Dit zal de gehele blokkketen opnieuw downloaden.</translation> </message> <message> <source>(default: %u)</source> @@ -3066,13 +3289,25 @@ </message> <message> <source>Accept public REST requests (default: %u)</source> - <translation>Accepteer publieke REST-requests (standaard: %u)</translation> + <translation>Accepteer publieke REST-verzoeken (standaard: %u)</translation> </message> <message> <source>Activating best chain...</source> <translation>Beste reeks activeren...</translation> </message> <message> + <source>Always relay transactions received from whitelisted peers (default: %d)</source> + <translation>Geef transacties altijd door aan goedgekeurde peers (standaard: %d)</translation> + </message> + <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Probeer privésleutels te herstellen van een corrupte wallet.dat bij opstarten</translation> + </message> + <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Creëer automatisch verborgen dienst van Tor (standaard:%d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Kan -whitebind adres niet herleiden: '%s'</translation> </message> @@ -3093,6 +3328,10 @@ <translation>Fout bij het lezen van de database, afsluiten. </translation> </message> <message> + <source>Imports blocks from external blk000??.dat file on startup</source> + <translation>Importeer blokken van externe blk000??.dat-bestand bij opstarten</translation> + </message> + <message> <source>Information</source> <translation>Informatie</translation> </message> @@ -3102,7 +3341,7 @@ </message> <message> <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> - <translation>Ongeldig bedrag voor -maxtxfee=<amount>: '%s'</translation> + <translation>Ongeldig bedrag voor -maxtxfee=<bedrag>: '%s'</translation> </message> <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> @@ -3130,19 +3369,35 @@ </message> <message> <source>Node relay options:</source> - <translation>Node relay opties:</translation> + <translation>Nodedoorgeefopties:</translation> </message> <message> <source>RPC server options:</source> <translation>RPC server opties:</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Herbouwen blokketenindex vanuit huidige blk000??.dat-bestanden bij opstarten?</translation> + </message> + <message> + <source>Receive and display P2P network alerts (default: %u)</source> + <translation>Ontvang en toon P2P-netwerkwaarschuwingen (standaard: %u)</translation> + </message> + <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Verminder -maxconnections van %d naar %d, vanwege systeembeperkingen.</translation> + </message> + <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>Herscan de blokketen voor missende portemonneetransacties bij opstarten</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> - <translation>Stuur trace/debug-info naar de console in plaats van het debug.log bestand</translation> + <translation>Verzend trace/debug-info naar de console in plaats van het debug.log-bestand</translation> </message> <message> <source>Send transactions as zero-fee transactions if possible (default: %u)</source> - <translation>Verstuur transacties zonder verzendkosten indien mogelijk (standaard: %u)</translation> + <translation>Indien mogelijk, verstuur zonder transactiekosten (standaard: %u)</translation> </message> <message> <source>Show all debugging options (usage: --help -help-debug)</source> @@ -3158,13 +3413,21 @@ </message> <message> <source>The transaction amount is too small to pay the fee</source> - <translation>Het transactiebedrag is te klein om de vergoeding te betalen</translation> + <translation>Het transactiebedrag is te klein om transactiekosten in rekening te brengen</translation> </message> <message> <source>This is experimental software.</source> <translation>Dit is experimentele software.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>Tor bepaalt poortwachtwoord (standaard: empty)</translation> + </message> + <message> + <source>Tor control port to use if onion listening enabled (default: %s)</source> + <translation>Tor bepaalt welke poort te gebruiken als luisteren naar onion wordt gebruikt (standaard: %s)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Transactiebedrag te klein</translation> </message> @@ -3174,7 +3437,7 @@ </message> <message> <source>Transaction too large for fee policy</source> - <translation>De transactie is te groot voor het toeslagenbeleid</translation> + <translation>De transactie is te groot voor het transactiekostenbeleid</translation> </message> <message> <source>Transaction too large</source> @@ -3185,6 +3448,10 @@ <translation>Niet in staat om aan %s te binden op deze computer (bind gaf error %s)</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>Upgrade portemonee naar laatste formaat bij opstarten</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>Gebruikersnaam voor JSON-RPC-verbindingen</translation> </message> @@ -3197,10 +3464,18 @@ <translation>Waarschuwing</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>Om in alleen een blokmodus te opereren (standaard: %u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Bezig met het zappen van alle transacties van de portemonnee...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ notificatieopties:</translation> + </message> + <message> <source>wallet.dat corrupt, salvage failed</source> <translation>wallet.dat corrupt, veiligstellen mislukt</translation> </message> @@ -3210,7 +3485,7 @@ </message> <message> <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source> - <translation>Voer commando uit zodra het beste blok verandert (%s in cmd wordt vervangen door blockhash)</translation> + <translation>Voer opdracht uit zodra het beste blok verandert (%s in cmd wordt vervangen door blokhash)</translation> </message> <message> <source>This help message</source> @@ -3233,6 +3508,26 @@ <translation>(1 = behoudt tx meta data bijv. account eigenaar en betalingsverzoek informatie, 2. sla tx meta data niet op)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee staat zeer hoog! Transactiekosten van de grootte kunnen worden gebruikt in een enkele transactie.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee staat zeer hoog! Dit is de transactiekosten die u betaalt als u een transactie doet.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Bewaar transactie niet langer dan <n> uren in de geheugenpool (standaard: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Fout tijdens lezen van wallet.dat! Alle sleutels zijn correct te lezen, maar de transactiondatabase of adresboekingangen zijn mogelijk verdwenen of incorrect.</translation> + </message> + <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Transactiekosten (in %s/kB) kleiner dan dit worden beschouwd dat geen transactiekosten in rekening worden gebracht voor transactiecreatie (standaard: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Hoe grondig de blokverificatie van -checkblocks is (0-4, standaard: %u)</translation> </message> @@ -3246,11 +3541,35 @@ </message> <message> <source>Output debugging information (default: %u, supplying <category> is optional)</source> - <translation>Output extra debugginginformatie (standaard: %u, het leveren van <category> is optioneel)</translation> + <translation>Output extra debugginginformatie (standaard: %u, het leveren van <categorie> is optioneel)</translation> + </message> + <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Ondersteun filtering van blokken en transacties met bloomfilters (standaard: %u)</translation> + </message> + <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>Totale lengte van netwerkversiestring (%i) overschrijdt maximale lengte (%i). Verminder het aantal of grootte van uacomments.</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Pogingen om uitgaand verkeer onder een bepaald doel te houden (in MiB per 24u), 0 = geen limiet (standaard: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Niet-ondersteund argument -socks gevonden. Instellen van SOCKS-versie is niet meer mogelijk, alleen SOCKS5-proxies worden ondersteund.</translation> </message> <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> - <translation>Gebruik een aparte SOCKS5 proxy om 'Tor hidden services' te bereiken (standaard: %s)</translation> + <translation>Gebruik een aparte SOCKS5 proxy om verborgen diensten van Tor te bereiken (standaard: %s)</translation> + </message> + <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Gebruikersnaam en gehasht wachtwoord voor JSON-RPC-verbindingen. De velden <userpw> is in het formaat: <GEBRUIKERSNAAM>:<SALT>$<HASH>. Een kanoniek Pythonscript is inbegrepen in de share/rpcuser. Deze optie kan meerdere keren worden meegegeven</translation> + </message> + <message> + <source>(default: %s)</source> + <translation>(standaard: %s)</translation> </message> <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> @@ -3278,7 +3597,7 @@ </message> <message> <source>Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)</source> - <translation>Luister naar JSON-RPC-verbindingen op poort <port> (standaard: %u of testnet: %u)</translation> + <translation>Luister naar JSON-RPC-verbindingen op <poort> (standaard: %u of testnet: %u)</translation> </message> <message> <source>Listen for connections on <port> (default: %u or testnet: %u)</source> @@ -3298,7 +3617,7 @@ </message> <message> <source>Maximum per-connection send buffer, <n>*1000 bytes (default: %u)</source> - <translation>Maximum per-connectie zendbuffer, <n>*1000 bytes (standaard: %u)</translation> + <translation>Maximum per-connectie verstuurbuffer, <n>*1000 bytes (standaard: %u)</translation> </message> <message> <source>Prepend debug output with timestamp (default: %u)</source> @@ -3306,15 +3625,15 @@ </message> <message> <source>Relay and mine data carrier transactions (default: %u)</source> - <translation>Gegevensdrager transacties relay en de mijnen (default: %u)</translation> + <translation>Geef gegevensdragertransacties door en mijn ze ook (standaard: %u)</translation> </message> <message> <source>Relay non-P2SH multisig (default: %u)</source> - <translation>Relay non-P2SH multisig (default: %u)</translation> + <translation>Geef non-P2SH multisig door (standaard: %u)</translation> </message> <message> <source>Set key pool size to <n> (default: %u)</source> - <translation>Stel sleutelpoelgrootte in op <&> (standaard: %u)</translation> + <translation>Stel sleutelpoelgrootte in op <n> (standaard: %u)</translation> </message> <message> <source>Set minimum block size in bytes (default: %u)</source> @@ -3326,7 +3645,7 @@ </message> <message> <source>Specify configuration file (default: %s)</source> - <translation>Specificeer configuratie bestand (standaard: %s)</translation> + <translation>Specificeer configuratiebestand (standaard: %s)</translation> </message> <message> <source>Specify connection timeout in milliseconds (minimum: 1, default: %d)</source> @@ -3338,7 +3657,7 @@ </message> <message> <source>Spend unconfirmed change when sending transactions (default: %u)</source> - <translation>Besteed onbevestigd wisselgeld bij het versturen van transacties (standaard: %u)</translation> + <translation>Besteed onbevestigd wisselgeld bij het doen van transacties (standaard: %u)</translation> </message> <message> <source>Threshold for disconnecting misbehaving peers (default: %u)</source> @@ -3386,7 +3705,7 @@ </message> <message> <source>Rescanning...</source> - <translation>Blokketen aan het doorzoeken...</translation> + <translation>Blokketen aan het herscannen...</translation> </message> <message> <source>Done loading</source> diff --git a/src/qt/locale/bitcoin_pam.ts b/src/qt/locale/bitcoin_pam.ts index ec99a1f572..233918ff2b 100644 --- a/src/qt/locale/bitcoin_pam.ts +++ b/src/qt/locale/bitcoin_pam.ts @@ -250,6 +250,10 @@ <translation>&Alilan ing Passphrase...</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>Address king pamag-Tanggap</translation> + </message> + <message> <source>Send coins to a Bitcoin address</source> <translation>Magpadalang barya king Bitcoin address</translation> </message> @@ -310,6 +314,10 @@ <translation>Kapilubluban ning Bitcoin</translation> </message> <message> + <source>&Command-line options</source> + <translation>Pipamilian command-line</translation> + </message> + <message> <source>Last received block was generated %1 ago.</source> <translation>Ing tatauling block a metanggap, me-generate ya %1 ing milabas</translation> </message> @@ -364,6 +372,10 @@ <context> <name>CoinControlDialog</name> <message> + <source>Amount:</source> + <translation>Alaga:</translation> + </message> + <message> <source>Amount</source> <translation>Alaga</translation> </message> @@ -464,7 +476,7 @@ <source>command-line options</source> <translation>pipamilian command-line</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -640,6 +652,10 @@ <translation>&Impormasion</translation> </message> <message> + <source>Debug window</source> + <translation>I-Debug ing awang</translation> + </message> + <message> <source>Using OpenSSL version</source> <translation>Gagamit bersion na ning OpenSSL</translation> </message> @@ -718,6 +734,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Kopyan ing address</translation> + </message> + <message> <source>Address</source> <translation>Address</translation> </message> @@ -764,6 +784,18 @@ <translation>Magpadalang Barya</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Kulang a pondo</translation> + </message> + <message> + <source>Amount:</source> + <translation>Alaga:</translation> + </message> + <message> + <source>Transaction Fee:</source> + <translation>Bayad king Transaksion:</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Misanang magpadala kareng alialiuang tumanggap</translation> </message> @@ -842,6 +874,14 @@ <source>Alt+P</source> <translation>Alt+P</translation> </message> + <message> + <source>Message:</source> + <translation>Mensayi:</translation> + </message> + <message> + <source>Pay To:</source> + <translation>Ibayad kang:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1366,10 +1406,26 @@ <translation>Memali ya ing pamakiramdam kareng gang nanung port. Gamita me ini -listen=0 nung buri me ini.</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Eya me-resolve ing -whitebind address: '%s'</translation> + </message> + <message> <source>Information</source> <translation>&Impormasion</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Eya maliari ing alaga keng -maxtxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>Eya maliari ing alaga keng -minrelaytxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>Eya maliari ing alaga keng -mintxfee=<amount>: '%s'</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Magpadalang trace/debug info okeng console kesa keng debug.log file</translation> </message> diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts index a351552b63..8a8c377480 100644 --- a/src/qt/locale/bitcoin_pl.ts +++ b/src/qt/locale/bitcoin_pl.ts @@ -878,6 +878,34 @@ <source>command-line options</source> <translation>opcje konsoli</translation> </message> + <message> + <source>UI Options:</source> + <translation>Opcje interfejsu</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Katalog danych używany podczas uruchamiania programu (domyślny: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Wybierz język, na przykład "de_DE" (domyślnie: język systemowy)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Uruchom zminimalizowany</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Ustaw certyfikaty główne SSL dla żądań płatności (domyślnie: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Wyświetl okno powitalne podczas uruchamiania (domyślnie: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Ustaw jako domyślne wszystkie ustawienia interfejsu</translation> + </message> </context> <context> <name>Intro</name> @@ -1076,6 +1104,10 @@ <translation>Port proxy (np. 9050)</translation> </message> <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Pokazuje, czy wspierane domyślnie proxy SOCKS5 jest używane do łączenia się z peerami w tej sieci</translation> + </message> + <message> <source>IPv4</source> <translation>IPv4</translation> </message> @@ -1088,6 +1120,10 @@ <translation>Tor</translation> </message> <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Użyj oddzielnego prozy SOCKS5 aby osiągnąć węzły w ukrytych usługach Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Okno</translation> </message> @@ -1458,6 +1494,14 @@ <translation>Aktualna liczba bloków</translation> </message> <message> + <source>Current number of transactions</source> + <translation>Obecna liczba transakcji</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Zużycie pamięci</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Otwórz plik logowania debugowania Bitcoin Core z obecnego katalogu z danymi. Może to potrwać kilka sekund przy większych plikach.</translation> </message> @@ -1482,6 +1526,10 @@ <translation>Wybierz węzeł żeby zobaczyć szczegóły.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Biała lista</translation> + </message> + <message> <source>Direction</source> <translation>Kierunek</translation> </message> @@ -1490,6 +1538,18 @@ <translation>Wersja</translation> </message> <message> + <source>Starting Block</source> + <translation>Blok startowy</translation> + </message> + <message> + <source>Synced Headers</source> + <translation>Zsynchronizowane nagłówki</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>Zsynchronizowane bloki</translation> + </message> + <message> <source>User Agent</source> <translation>Aplikacja kliencka</translation> </message> @@ -1518,6 +1578,10 @@ <translation>Czas odpowiedzi</translation> </message> <message> + <source>Ping Wait</source> + <translation>Czas odpowiedzi</translation> + </message> + <message> <source>Time Offset</source> <translation>Przesunięcie czasu</translation> </message> @@ -1602,6 +1666,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(id węzła: %1)</translation> + </message> + <message> <source>via %1</source> <translation>przez %1</translation> </message> @@ -1649,6 +1717,10 @@ <translation>Użyj jednego z poprzednio użytych adresów odbiorczych. Podczas ponownego używania adresów występują problemy z bezpieczeństwem i prywatnością. Nie korzystaj z tej opcji, chyba że odtwarzasz żądanie płatności wykonane już wcześniej.</translation> </message> <message> + <source>R&euse an existing receiving address (not recommended)</source> + <translation>U&żyj ponownie istniejącego adresu odbiorczego (niepolecane)</translation> + </message> + <message> <source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source> <translation>Opcjonalna wiadomość do dołączenia do żądania płatności, która będzie wyświetlana, gdy żądanie zostanie otwarte. Uwaga: wiadomość ta nie zostanie wysłana wraz z płatnością w sieci Bitcoin.</translation> </message> @@ -1990,6 +2062,10 @@ <translation>Skopiuj resztę</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Łączna kwota %1</translation> + </message> + <message> <source>or</source> <translation>lub</translation> </message> @@ -2657,6 +2733,10 @@ <translation>Skopiuj ID transakcji</translation> </message> <message> + <source>Copy raw transaction</source> + <translation>Skopiuj surowe dane transakcji</translation> + </message> + <message> <source>Edit label</source> <translation>Zmień etykietę</translation> </message> @@ -2808,6 +2888,10 @@ <translation>Błąd: Wystąpił fatalny błąd wewnętrzny, sprawdź szczegóły w debug.log</translation> </message> <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Prowizja (w %s/kB) dodawana do wysyłanych transakcji (domyślnie: %s)</translation> + </message> + <message> <source>Pruning blockstore...</source> <translation>Przycinanie zapisu bloków...</translation> </message> @@ -2816,6 +2900,10 @@ <translation>Uruchom w tle jako daemon i przyjmuj polecenia</translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Uruchomienie serwera HTTP nie powiodło się. Zobacz dziennik debugowania, aby uzyskać więcej szczegółów.</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Akceptuj połączenia z zewnątrz (domyślnie: 1 jeśli nie ustawiono -proxy lub -connect)</translation> </message> @@ -2968,6 +3056,14 @@ <translation>Określ plik portfela (w obrębie folderu danych)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Niewspierany argument -benchmark zignorowany, użyj -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Niewspierany argument -debugnet zignorowany, użyj -debug=net.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Użyj UPnP do przekazania portu nasłuchu (domyślnie : %u)</translation> </message> @@ -3076,6 +3172,18 @@ <translation>Aktywuje najlepszy łańcuch</translation> </message> <message> + <source>Always relay transactions received from whitelisted peers (default: %d)</source> + <translation>Zawsze przekazuj informacje o transakcjach otrzymanych od osób z białej listy (domyślnie: %d)</translation> + </message> + <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Próbuj podczas uruchamiania programu odzyskać klucze prywatne z uszkodzonego pliku wallet.dat</translation> + </message> + <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Stwórz automatycznie ukrytą usługę Tora (domyślnie: %d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Nie można rozwiązać adresu -whitebind: '%s'</translation> </message> @@ -3096,6 +3204,10 @@ <translation>Błąd odczytu z bazy danych, wyłączam się.</translation> </message> <message> + <source>Imports blocks from external blk000??.dat file on startup</source> + <translation>Importuj bloki z zewnętrznego pliku blk000??.dat podczas uruchamiania programu</translation> + </message> + <message> <source>Information</source> <translation>Informacja</translation> </message> @@ -3128,6 +3240,10 @@ <translation>Przechowuj w pamięci maksymalnie <n> transakcji nie możliwych do połączenia (domyślnie: %u)</translation> </message> <message> + <source>Need to specify a port with -whitebind: '%s'</source> + <translation>Musisz określić port z -whitebind: '%s'</translation> + </message> + <message> <source>Node relay options:</source> <translation>Opcje przekaźnikowe węzła:</translation> </message> @@ -3144,6 +3260,10 @@ <translation>Odbieranie i wyświetlanie alertów sieci P2P (domyślnie: %u)</translation> </message> <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>Przeskanuj podczas ładowania programu łańcuch bloków w poszukiwaniu zaginionych transakcji portfela</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Wyślij informację/raport do konsoli zamiast do pliku debug.log.</translation> </message> @@ -3172,6 +3292,10 @@ <translation>To oprogramowanie eksperymentalne.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>Hasło zabezpieczające portu kontrolnego Tora (domyślnie: puste)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Zbyt niska kwota transakcji </translation> </message> @@ -3192,6 +3316,10 @@ <translation>Nie można przywiązać do %s na tym komputerze (bind zwrócił błąd %s)</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>Zaktualizuj portfel do najnowszego formatu podczas ładowania programu</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>Nazwa użytkownika dla połączeń JSON-RPC</translation> </message> @@ -3240,6 +3368,14 @@ <translation>(1 = zachowaj wysłane metadane np. właściciel konta i informacje o żądaniach płatności, 2 = porzuć wysłane metadane)</translation> </message> <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Nie trzymaj w pamięci transakcji starszych niż <n> godzin (domyślnie: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Ostrzeżenie: błąd odczytu wallet.dat! Wszystkie klucze zostały odczytane, ale może brakować pewnych danych transakcji lub wpisów w książce adresowej lub mogą one być nieprawidłowe.</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Jak dokładna jest weryfikacja bloków przy -checkblocks (0-4, domyślnie: %u)</translation> </message> @@ -3256,6 +3392,10 @@ <translation>Wypuść informacje debugowania (domyślnie: %u, podanie <category> jest opcjonalne)</translation> </message> <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Znaleziono niewspierany argument -socks. Wybieranie wersji SOCKS nie jest już możliwe, wsparcie programu obejmuje tylko proxy SOCKS5</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Użyj oddzielnego prozy SOCKS5 aby osiągnąć węzły w ukrytych usługach Tor (domyślnie: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts index bb6de064d4..5cea349fbc 100644 --- a/src/qt/locale/bitcoin_pt_BR.ts +++ b/src/qt/locale/bitcoin_pt_BR.ts @@ -442,6 +442,10 @@ <translation>Nenhum servidor disponível...</translation> </message> <message numerus="yes"> + <source>Processed %n block(s) of transaction history.</source> + <translation><numerusform>%n bloco processado do histórico de transações.</numerusform><numerusform>%n blocos processados do histórico de transações.</numerusform></translation> + </message> + <message numerus="yes"> <source>%n hour(s)</source> <translation><numerusform>%n hora</numerusform><numerusform>%n horas</numerusform></translation> </message> @@ -878,6 +882,34 @@ <source>command-line options</source> <translation>opções da linha de comando</translation> </message> + <message> + <source>UI Options:</source> + <translation>Opções de Interface:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Escolher diretório de dados na inicialização (padrão: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Definir idioma, por exemplo "de_DE" (padrão: idioma do sistema)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Iniciar minimizado</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Definir certificados de root SSL para requisições de pagamento (padrão: -sistema-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Exibir tela de abertura na inicialização (padrão: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Desfazer todas as mudanças de configuração feitas na interface</translation> + </message> </context> <context> <name>Intro</name> @@ -1080,6 +1112,10 @@ <translation>Usado para alcançar participantes via:</translation> </message> <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Exibe, caso o proxy padrão SOCKS5 fornecido seja usado para se conectar a peers através deste tipo de rede.</translation> + </message> + <message> <source>IPv4</source> <translation>IPv4</translation> </message> @@ -1470,6 +1506,18 @@ <translation>Quantidade atual de blocos</translation> </message> <message> + <source>Memory Pool</source> + <translation>Pool de Memória</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Número atual de transações</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Uso de memória</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Abrir o arquivo de log de depuração do Bitcoin na pasta de dados atual. Isso pode demorar para arquivos grandes.</translation> </message> @@ -2884,14 +2932,26 @@ <translation>Se <category> não for suprida ou se <category> = 1, mostrar toda informação de depuração.</translation> </message> <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Total máximo de comissão (em %s) que será usado em uma única transação; um valor muito baixo pode cancelar uma transação grande (padrão: %s)</translation> + </message> + <message> <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> <translation>Por favor verifique se a data e horário estão corretos no seu computador! Se o seu relógio estiver incorreto, a Carteira Bitcoin não irá funcionar corretamente.</translation> </message> <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>Corte configurado abaixo do nível mínimo de %d de MiB. Por favor use um número mais alto.</translation> + </message> + <message> <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> <translation>Corte: a ultima sincronização da carteira foi além do dado comprimido. Você precisa reindexar ( -reindex , faça o download de toda a blockchain novamente)</translation> </message> <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Reduza os requerimentos de armazenamento de dados (cortando) deletando blocos mais antigos. Esse modo é incompatível com -txindex e -rescan. Cuidado: Reverter essa configuração requer um novo download de toda a blockchain. (Padrão: 0 = desabilita o corte de blocos, >%u = tamanho alvo em MiB para o uso de blocos cortados)</translation> + </message> + <message> <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> <translation>Rescans não são possíveis no modo de corte. Você precisa usar -reindex, que irá fazer o download de toda a blockchain novamente.</translation> </message> @@ -3176,14 +3236,38 @@ <translation>Executa um comando quando um alerta relevante é recebido ou vemos uma longa segregação (%s em cmd é substituído pela mensagem)</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)</source> + <translation>Comissões (em %s/kB) menores serão consideradas como zero para relaying, mineração e criação de transação (padrão %s)</translation> + </message> + <message> + <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> + <translation>Se paytxfee não estiver definida, incluir comissão suficiente para que as transações comecem a ter confirmações em média dentro de N blocos (padrão %u)</translation> + </message> + <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source> + <translation>Valor inválido para -maxtxfee = <valor>: '%s'( precisa ser pelo menos a comissão mínima de %s para prevenir travamento de transações)</translation> + </message> + <message> + <source>Maximum size of data in data carrier transactions we relay and mine (default: %u)</source> + <translation>Tamanho máximo de dados em transações de dados de operadora (padrão %u)</translation> + </message> + <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Buscar por endereços de peers via busca DNS, se estiver baixo em endereços (padrão: 1 a não ser que -connect)</translation> </message> <message> + <source>Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)</source> + <translation>Gerar credenciais aleatórias para cada conexão por proxy. Isto habilita o isolamento de stream do Tor (padrão: %u)</translation> + </message> + <message> <source>Set maximum size of high-priority/low-fee transactions in bytes (default: %d)</source> <translation>Define o tamanho máximo de alta-prioridade por taxa baixa nas transações em bytes (padrão: %d)</translation> </message> <message> + <source>Set the number of threads for coin generation if enabled (-1 = all cores, default: %d)</source> + <translation>Determina o número de núcleos para a geração de moedas se ativado (-1 = todos os núcleos, padrão: %d)</translation> + </message> + <message> <source>The transaction amount is too small to send after the fee has been deducted</source> <translation>A quantia da transação é muito pequena para mandar </translation> </message> @@ -3192,6 +3276,10 @@ <translation>Esse produto inclui software desenvolvido pelo Open SSL Project para uso na OpenSSL Toolkit<https://www.openssl.org/> e software criptográfico escrito por Eric Young e software UPnP escrito por Thomas Bernard. </translation> </message> <message> + <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> + <translation>Peers permitidos não podem ser banidos do DoS e suas transações sempre são transmitidas, até mesmo se eles já estão no pool de memória, útil, por exemplo, para um gateway</translation> + </message> + <message> <source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source> <translation>Você precisa reconstruir o banco de dados usando -reindex para sair do modo prune. Isso irá rebaixar todo o blockchain.</translation> </message> @@ -3200,10 +3288,26 @@ <translation>(padrão: %u)</translation> </message> <message> + <source>Accept public REST requests (default: %u)</source> + <translation>Aceitar pedidos restantes públicas (padrão: %u)</translation> + </message> + <message> <source>Activating best chain...</source> <translation>Ativando a melhor sequência...</translation> </message> <message> + <source>Always relay transactions received from whitelisted peers (default: %d)</source> + <translation>Sempre transmitir transações recebidas de peers confiáveis (padrão: %d)</translation> + </message> + <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Tentar recuperar na inicialização chaves privadas de um arquivo wallet.dat corrompido</translation> + </message> + <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Criar automaticamente serviços ocultos do Tor (padrão: %d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Impossível resolver endereço -whitebind: '%s'</translation> </message> @@ -3224,10 +3328,18 @@ <translation>Erro ao ler o banco de dados. Finalizando.</translation> </message> <message> + <source>Imports blocks from external blk000??.dat file on startup</source> + <translation>Importar blocos a partir de arquivo externo blk000??.dat durante a inicialização</translation> + </message> + <message> <source>Information</source> <translation>Informação</translation> </message> <message> + <source>Initialization sanity check failed. Bitcoin Core is shutting down.</source> + <translation>O teste de integridade da inicialização falhou. O Core do Bitcoin está sendo desligado.</translation> + </message> + <message> <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> <translation>Quantidade inválida para -maxtxfee=<quantidade>: '%s'</translation> </message> @@ -3248,6 +3360,10 @@ <translation>Máscara de rede especificada em -whitelist: '%s' é inválida</translation> </message> <message> + <source>Keep at most <n> unconnectable transactions in memory (default: %u)</source> + <translation>Manter ao máximo <n> transações inconectáveis na memória (padrão: %u)</translation> + </message> + <message> <source>Need to specify a port with -whitebind: '%s'</source> <translation>Necessário informar uma porta com -whitebind: '%s'</translation> </message> @@ -3260,8 +3376,12 @@ <translation>Opções do servidor RPC:</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Reconstruir índice de cadeia de bloco a partir dos arquivos blk000??.dat atuais durante a inicialização</translation> + </message> + <message> <source>Receive and display P2P network alerts (default: %u)</source> - <translation>Receba e mostre P2P alerta de rede (default: %u)</translation> + <translation>Receba e mostre P2P alerta de rede (padrão: %u)</translation> </message> <message> <source>Send trace/debug info to console instead of debug.log file</source> @@ -3356,6 +3476,14 @@ <translation>Erro ao carregar wallet.dat: Carteira corrompida</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Comissões (em %s/kB) menores serão consideradas como zero para criação de transação (padrão %s)</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> + <translation>Use um proxy SOCKS5 separado para alcançar participantes da rede via serviços ocultos Tor (padrão: %s)</translation> + </message> + <message> <source>(default: %s)</source> <translation>(padrão: %s)</translation> </message> @@ -3400,12 +3528,20 @@ <translation>Fazer a carteira transmitir transações</translation> </message> <message> + <source>Maximum per-connection receive buffer, <n>*1000 bytes (default: %u)</source> + <translation>Buffer máximo de recebimento por conexão, <n>*1000 bytes (padrão: %u)</translation> + </message> + <message> <source>Prepend debug output with timestamp (default: %u)</source> - <translation>Adiciona timestamp como prefixo no debug (default: %u)</translation> + <translation>Adiciona timestamp como prefixo no debug (padrão: %u)</translation> </message> <message> <source>Relay non-P2SH multisig (default: %u)</source> - <translation>Retransmitir P2SH não multisig (default: %u)</translation> + <translation>Retransmitir P2SH não multisig (padrão: %u)</translation> + </message> + <message> + <source>Set key pool size to <n> (default: %u)</source> + <translation>Defina o tamanho da chave para piscina<n> (padrão: %u)</translation> </message> <message> <source>Set minimum block size in bytes (default: %u)</source> @@ -3425,7 +3561,7 @@ </message> <message> <source>Specify pid file (default: %s)</source> - <translation>Especificar aqrquivo pid (default: %s)</translation> + <translation>Especificar aqrquivo pid (padrão: %s)</translation> </message> <message> <source>Spend unconfirmed change when sending transactions (default: %u)</source> diff --git a/src/qt/locale/bitcoin_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts index b5ede206dd..ffed44a61c 100644 --- a/src/qt/locale/bitcoin_pt_PT.ts +++ b/src/qt/locale/bitcoin_pt_PT.ts @@ -874,7 +874,7 @@ <source>command-line options</source> <translation>opções da linha de comandos</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -2917,6 +2917,10 @@ <translation>(por defeito: %u)</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Não foi possível resolver o endereço -whitebind: '%s'</translation> + </message> + <message> <source>Copyright (C) 2009-%i The Bitcoin Core Developers</source> <translation>Copyright (C) 2009-%i Os Programadores do Bitcoin Core</translation> </message> @@ -2929,6 +2933,10 @@ <translation>Informação</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Quantia inválida para -maxtxfee=<quantidade>: '%s'</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Quantia inválida para -minrelaytxfee=<quantidade>: '%s'</translation> </message> @@ -3005,6 +3013,10 @@ <translation>Erro ao carregar wallet.dat: Carteira danificada</translation> </message> <message> + <source>(default: %s)</source> + <translation>(por defeito: %s)</translation> + </message> + <message> <source>Error loading wallet.dat</source> <translation>Erro ao carregar wallet.dat</translation> </message> diff --git a/src/qt/locale/bitcoin_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts index c88908263a..8bccf037a7 100644 --- a/src/qt/locale/bitcoin_ro_RO.ts +++ b/src/qt/locale/bitcoin_ro_RO.ts @@ -710,6 +710,10 @@ <translation>cea mai scăzută</translation> </message> <message> + <source>(%1 locked)</source> + <translation>(%1 blocat)</translation> + </message> + <message> <source>none</source> <translation>nimic</translation> </message> @@ -738,6 +742,10 @@ <translation>nu</translation> </message> <message> + <source>This means a fee of at least %1 per kB is required.</source> + <translation>Aceasta înseamnă o taxă de cel puţin %1 pe kB necesar.</translation> + </message> + <message> <source>Can vary +/- 1 byte per input.</source> <translation>Poate varia +/- 1 octet pentru fiecare intrare.</translation> </message> @@ -866,7 +874,7 @@ <source>command-line options</source> <translation>Opţiuni linie de comandă</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -882,6 +890,10 @@ <translation>Dacă aceasta este prima dată cînd programul este lansat, puteţi alege unde Nucleul Bitcoin va stoca datele.</translation> </message> <message> + <source>Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source> + <translation>Nucleul Bitcoin se va descărca şi va stoca o copie a lanţului blocului Bitcoin. Cel puţin %1GB de date vor fi stocate în acest dosar şi se va mări în timp. Portofelul va fi, de asemenea, stocat în acest dosar.</translation> + </message> + <message> <source>Use the default data directory</source> <translation>Foloseşte dosarul de date implicit</translation> </message> @@ -2335,6 +2347,10 @@ <source>, has not been successfully broadcast yet</source> <translation>, nu s-a propagat încă</translation> </message> + <message numerus="yes"> + <source>Open for %n more block(s)</source> + <translation><numerusform>Deschis pentru încă %n bloc</numerusform><numerusform>Deschis pentru încă %n blocuri</numerusform><numerusform>Deschis pentru încă %n de blocuri</numerusform></translation> + </message> <message> <source>unknown</source> <translation>necunoscut</translation> @@ -2365,6 +2381,10 @@ <source>Immature (%1 confirmations, will be available after %2)</source> <translation>Imatur (%1 confirmări, va fi disponibil după %2)</translation> </message> + <message numerus="yes"> + <source>Open for %n more block(s)</source> + <translation><numerusform>Deschis pentru încă %n bloc</numerusform><numerusform>Deschis pentru încă %n blocuri</numerusform><numerusform>Deschis pentru încă %n de blocuri</numerusform></translation> + </message> <message> <source>Open until %1</source> <translation>Deschis până la %1</translation> @@ -2848,10 +2868,18 @@ <translation>Acest produs include programe dezvoltate de către Proiectul OpenSSL pentru a fi folosite în OpenSSL Toolkit <https://www.openssl.org/> şi programe criptografice scrise de către Eric Young şi programe UPnP scrise de către Thomas Bernard.</translation> </message> <message> + <source>(default: %u)</source> + <translation>(implicit: %u)</translation> + </message> + <message> <source>Accept public REST requests (default: %u)</source> <translation>Acceptă cererile publice REST (implicit: %u)</translation> </message> <message> + <source>Cannot resolve -whitebind address: '%s'</source> + <translation>Nu se poate rezolva adresa -whitebind: '%s'</translation> + </message> + <message> <source>Connect through SOCKS5 proxy</source> <translation>Conectare prin proxy SOCKS5</translation> </message> diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts index ea577694ac..00dfd833ab 100644 --- a/src/qt/locale/bitcoin_ru.ts +++ b/src/qt/locale/bitcoin_ru.ts @@ -93,7 +93,11 @@ <source>Exporting Failed</source> <translation>Экспорт не удался</translation> </message> - </context> + <message> + <source>There was an error trying to save the address list to %1. Please try again.</source> + <translation>Произошла ошибка при попытке сохранить список адресов, %1. Пожалуйста, попробуйте еще раз.</translation> + </message> +</context> <context> <name>AddressTableModel</name> <message> @@ -878,6 +882,34 @@ <source>command-line options</source> <translation>параметры командной строки</translation> </message> + <message> + <source>UI Options:</source> + <translation>Настройки интерфейса:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Выбрать каталог данных при запуске (по умолчанию: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Выберите язык, например "de_DE" (по умолчанию: как в системе)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Запускать свёрнутым</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Указать корневые SSL-сертификаты для запроса платежа (по умолчанию: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Показывать экран-заставку при запуске (по умолчанию: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Сбросить все настройки сделанные через графический интерфейс</translation> + </message> </context> <context> <name>Intro</name> @@ -1474,6 +1506,18 @@ <translation>Текущее число блоков</translation> </message> <message> + <source>Memory Pool</source> + <translation>Пул памяти</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Текущее число транзакций</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Использование памяти</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Открыть отладочный лог-файл Bitcoin Core из текущего каталога данных. Это может занять несколько секунд для больших лог-файлов.</translation> </message> @@ -2094,6 +2138,14 @@ <translation>Запрос платежа просрочен.</translation> </message> <message> + <source>Pay only the required fee of %1</source> + <translation>Заплатить только обязательную комиссию %1</translation> + </message> + <message numerus="yes"> + <source>Estimated to begin confirmation within %n block(s).</source> + <translation><numerusform>Подтверждение ожидается через %n блок.</numerusform><numerusform>Подтверждение ожидается через %n блока.</numerusform><numerusform>Подтверждение ожидается через %n блоков.</numerusform><numerusform>Подтверждение ожидается через %n блоков.</numerusform></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Адрес получателя неверный. Пожалуйста, перепроверьте.</translation> </message> @@ -2590,6 +2642,10 @@ <translation>Неподтверждено</translation> </message> <message> + <source>Confirming (%1 of %2 recommended confirmations)</source> + <translation>Подтверждено(%1 подтверждений, рекомендуется %2 подтверждений)</translation> + </message> + <message> <source>Conflicted</source> <translation>В противоречии</translation> </message> @@ -3468,6 +3524,10 @@ <translation>Ошибка чтения wallet.dat! Все ключи прочитаны верно, но данные транзакций или записи адресной книги могут отсутствовать или быть неправильными.</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Комиссии (в %s/Кб) меньшие этого значения считаются нулевыми при создании транзакций (по умолчанию: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Насколько тщательна проверка контрольных блоков -checkblocks (0-4, по умолчанию: %u)</translation> </message> @@ -3484,6 +3544,10 @@ <translation>Выводить отладочную информацию (по умолчанию: %u, указание <category> необязательно)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Поддерживать фильтрацию блоков и транзакций с помощью фильтра Блума (по умолчанию: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>Текущая длина строки версии сети (%i) превышает максимальную длину (%i). Увеливается количество или размер uacomments.</translation> </message> @@ -3500,6 +3564,10 @@ <translation>Использовать отдельный прокси SOCKS5 для соединения с участниками через скрытые сервисы Tor (по умолчанию: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Имя пользователя и хэш пароля для JSON-RPC соединений. Поле <userpw> использует формат: <USERNAME>:<SALT>$<HASH>. Каноничный пример скрипта на питоне включен в "share/rpcuser". Эта опция может быть указана несколько раз</translation> + </message> + <message> <source>(default: %s)</source> <translation>(по умолчанию: %s)</translation> </message> @@ -3568,6 +3636,10 @@ <translation>Установить размер пула ключей в <n> (по умолчанию: %u)</translation> </message> <message> + <source>Set minimum block size in bytes (default: %u)</source> + <translation>Задать минимальный размер блока в байтах (по умолчанию: %u)</translation> + </message> + <message> <source>Set the number of threads to service RPC calls (default: %d)</source> <translation>Задать число потоков выполнения запросов RPC (по умолчанию: %d)</translation> </message> diff --git a/src/qt/locale/bitcoin_ru_RU.ts b/src/qt/locale/bitcoin_ru_RU.ts index fa42dfaaad..53a1c1d8a4 100644 --- a/src/qt/locale/bitcoin_ru_RU.ts +++ b/src/qt/locale/bitcoin_ru_RU.ts @@ -18,6 +18,14 @@ <translation>Bitcoin Core</translation> </message> <message> + <source>&About Bitcoin Core</source> + <translation>О Bitcoin Core</translation> + </message> + <message> + <source>&Command-line options</source> + <translation>Опции командной строки</translation> + </message> + <message> <source>Error</source> <translation>Ошибка</translation> </message> @@ -88,6 +96,10 @@ <source>Command-line options</source> <translation>Опции командной строки</translation> </message> + <message> + <source>command-line options</source> + <translation>Опции командной строки</translation> + </message> </context> <context> <name>Intro</name> @@ -131,6 +143,10 @@ </context> <context> <name>RPCConsole</name> + <message> + <source>&Information</source> + <translation>Информация</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts index 0451b1485e..8c779cbe98 100644 --- a/src/qt/locale/bitcoin_sk.ts +++ b/src/qt/locale/bitcoin_sk.ts @@ -874,7 +874,7 @@ <source>command-line options</source> <translation>voľby príkazového riadku</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -1072,6 +1072,10 @@ <translation>Port proxy (napr. 9050)</translation> </message> <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Použiť samostatný SOCKS5 proxy server na dosiahnutie počítačov cez skryté služby Tor:</translation> + </message> + <message> <source>&Window</source> <translation>Okno</translation> </message> @@ -3162,6 +3166,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Chyba načítania wallet.dat</translation> </message> <message> + <source>Generate coins (default: %u)</source> + <translation>Generovať mince (predvolené: %u)</translation> + </message> + <message> <source>How many blocks to check at startup (default: %u, 0 = all)</source> <translation>Koľko blokov overiť pri spustení (predvolené: %u, 0 = všetky)</translation> </message> diff --git a/src/qt/locale/bitcoin_sl_SI.ts b/src/qt/locale/bitcoin_sl_SI.ts index f26e350545..c62c8cf273 100644 --- a/src/qt/locale/bitcoin_sl_SI.ts +++ b/src/qt/locale/bitcoin_sl_SI.ts @@ -874,7 +874,7 @@ <source>command-line options</source> <translation>možnosti ukazne vrstice</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -917,7 +917,11 @@ <source>%n GB of free space available</source> <translation><numerusform>%n GiB prostega prostora na voljo</numerusform><numerusform>%n GiB prostega prostora na voljo</numerusform><numerusform>%n GiB prostega prostora na voljo</numerusform><numerusform>%n GiB prostega prostora na voljo</numerusform></translation> </message> - </context> + <message numerus="yes"> + <source>(of %n GB needed)</source> + <translation><numerusform>(od potrebnih %n GiB)</numerusform><numerusform>(od potrebnih %n GiB)</numerusform><numerusform>(od potrebnih %n GiB)</numerusform><numerusform>(od potrebnih %n GiB)</numerusform></translation> + </message> +</context> <context> <name>OpenURIDialog</name> <message> @@ -1068,6 +1072,10 @@ <translation>Vrata posredniškega strežnika (npr. 9050)</translation> </message> <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Za dostop do soležnikov preko skritih storitev Tor uporabi drug posredniški strežnik SOCKS5:</translation> + </message> + <message> <source>&Window</source> <translation>O&kno</translation> </message> @@ -3020,6 +3028,18 @@ <translation>Informacije</translation> </message> <message> + <source>Invalid amount for -maxtxfee=<amount>: '%s'</source> + <translation>Neveljavna količina za -maxtxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> + <translation>Neveljavna količina za -minrelaytxfee=<amount>: '%s'</translation> + </message> + <message> + <source>Invalid amount for -mintxfee=<amount>: '%s'</source> + <translation>Neveljavna količina za -mintxfee=<amount>: '%s'</translation> + </message> + <message> <source>Need to specify a port with -whitebind: '%s'</source> <translation>Pri opciji -whitebind morate navesti vrata: %s</translation> </message> diff --git a/src/qt/locale/bitcoin_sq.ts b/src/qt/locale/bitcoin_sq.ts index 769b45b562..994b065994 100644 --- a/src/qt/locale/bitcoin_sq.ts +++ b/src/qt/locale/bitcoin_sq.ts @@ -202,6 +202,10 @@ <translation>&Opsione</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>Duke marr adresen</translation> + </message> + <message> <source>Change the passphrase used for wallet encryption</source> <translation>Ndrysho frazkalimin e përdorur per enkriptimin e portofolit</translation> </message> @@ -421,6 +425,10 @@ <source>Options</source> <translation>Opsionet</translation> </message> + <message> + <source>W&allet</source> + <translation>Portofol</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -448,6 +456,10 @@ <context> <name>RPCConsole</name> <message> + <source>&Information</source> + <translation>Informacion</translation> + </message> + <message> <source>&Open</source> <translation>&Hap</translation> </message> @@ -467,13 +479,25 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Shuma:</translation> + </message> + <message> <source>&Label:</source> <translation>&Etiketë:</translation> </message> + <message> + <source>Clear</source> + <translation>Pastro</translation> + </message> </context> <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Kopjo adresen</translation> + </message> + <message> <source>Address</source> <translation>Adresë</translation> </message> @@ -512,6 +536,10 @@ <translation>Dërgo Monedha</translation> </message> <message> + <source>Insufficient funds!</source> + <translation>Fonde te pamjaftueshme</translation> + </message> + <message> <source>Amount:</source> <translation>Shuma:</translation> </message> @@ -570,6 +598,10 @@ <source>Alt+P</source> <translation>Alt+P</translation> </message> + <message> + <source>Pay To:</source> + <translation>Paguaj drejt:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -622,6 +654,10 @@ <translation>Data</translation> </message> <message> + <source>Transaction</source> + <translation>transaksionit</translation> + </message> + <message> <source>Amount</source> <translation>Sasia</translation> </message> @@ -758,6 +794,10 @@ <context> <name>bitcoin-core</name> <message> + <source>Options:</source> + <translation>Opsionet:</translation> + </message> + <message> <source>Information</source> <translation>Informacion</translation> </message> diff --git a/src/qt/locale/bitcoin_sr.ts b/src/qt/locale/bitcoin_sr.ts index 425c077b2b..b6ba896b38 100644 --- a/src/qt/locale/bitcoin_sr.ts +++ b/src/qt/locale/bitcoin_sr.ts @@ -222,6 +222,10 @@ <translation>Трака са картицама</translation> </message> <message> + <source>&About Bitcoin Core</source> + <translation>O Bitcoin Coru</translation> + </message> + <message> <source>Up to date</source> <translation>Ажурно</translation> </message> @@ -338,6 +342,10 @@ <translation>Поставке</translation> </message> <message> + <source>W&allet</source> + <translation>новчаник</translation> + </message> + <message> <source>&Unit to show amounts in:</source> <translation>&Јединица за приказивање износа:</translation> </message> @@ -375,10 +383,18 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Iznos:</translation> + </message> + <message> <source>&Label:</source> <translation>&Етикета</translation> </message> <message> + <source>&Message:</source> + <translation>Poruka:</translation> + </message> + <message> <source>Copy label</source> <translation>kopiraj naziv</translation> </message> @@ -390,6 +406,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>Kopirajte adresu</translation> + </message> + <message> <source>Address</source> <translation>Адреса</translation> </message> @@ -401,6 +421,10 @@ <source>Label</source> <translation>Етикета</translation> </message> + <message> + <source>Message</source> + <translation>Poruka</translation> + </message> </context> <context> <name>RecentRequestsTableModel</name> @@ -413,6 +437,10 @@ <translation>Етикета</translation> </message> <message> + <source>Message</source> + <translation>Poruka</translation> + </message> + <message> <source>Amount</source> <translation>iznos</translation> </message> @@ -451,6 +479,10 @@ <context> <name>SendCoinsEntry</name> <message> + <source>A&mount:</source> + <translation>Iznos:</translation> + </message> + <message> <source>&Label:</source> <translation>&Етикета</translation> </message> @@ -514,6 +546,14 @@ <translation>етикета</translation> </message> <message> + <source>Message</source> + <translation>Poruka</translation> + </message> + <message> + <source>Transaction</source> + <translation>transakcije</translation> + </message> + <message> <source>Amount</source> <translation>iznos</translation> </message> diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts index 18f096b841..756114351f 100644 --- a/src/qt/locale/bitcoin_sv.ts +++ b/src/qt/locale/bitcoin_sv.ts @@ -739,6 +739,10 @@ Var vänlig och försök igen.</translation> <translation>Denna etikett blir röd om någon mottagare får ett belopp mindre än %1.</translation> </message> <message> + <source>Can vary +/- %1 satoshi(s) per input.</source> + <translation>Kan variera +/- %1 satoshi per inmatning.</translation> + </message> + <message> <source>yes</source> <translation>ja</translation> </message> @@ -879,6 +883,34 @@ Var vänlig och försök igen.</translation> <source>command-line options</source> <translation>kommandoradsalternativ</translation> </message> + <message> + <source>UI Options:</source> + <translation>UI-inställningar:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Välj datakatalog vid uppstart (standard: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Ange språk, till exempel "de_DE" (standard: systemspråk)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Starta minimerad</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Ange SSL rotcertifikat för betalningsansökan (standard: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Visa startbild vid uppstart (standard: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Återställ alla inställningar som gjorts över GUI</translation> + </message> </context> <context> <name>Intro</name> @@ -1475,6 +1507,18 @@ Var vänlig och försök igen.</translation> <translation>Aktuellt antal block</translation> </message> <message> + <source>Memory Pool</source> + <translation>Minnespool</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Nuvarande antal transaktioner</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Minnesåtgång</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Öppna felsökningsloggfilen för Bitcoin Core från den nuvarande datakatalogen. Detta kan ta några sekunder om loggfilen är stor.</translation> </message> @@ -1698,6 +1742,10 @@ Var vänlig och försök igen.</translation> <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>&Belopp:</translation> + </message> + <message> <source>&Label:</source> <translation>&Etikett:</translation> </message> @@ -2182,6 +2230,10 @@ Var vänlig och försök igen.</translation> <translation>Avgiften dras från beloppet som skickas. Mottagaren kommer att få mindre bitcoins än du angivit i belopp-fältet. Om flera mottagare valts kommer avgiften delas jämt.</translation> </message> <message> + <source>S&ubtract fee from amount</source> + <translation>S&ubtrahera avgiften från beloppet</translation> + </message> + <message> <source>Message:</source> <translation>Meddelande:</translation> </message> @@ -3213,6 +3265,10 @@ Var vänlig och försök igen.</translation> <translation>Sätt den maximala storleken av hög-prioriterade/låg-avgifts transaktioner i byte (förvalt: %d)</translation> </message> <message> + <source>Set the number of threads for coin generation if enabled (-1 = all cores, default: %d)</source> + <translation>Ange antalet trådar för myntgenerering om påslagen (-1= alla kärnor, förval: %d)</translation> + </message> + <message> <source>The transaction amount is too small to send after the fee has been deducted</source> <translation>Transaktionen är för liten att skicka efter det att avgiften har dragits</translation> </message> @@ -3469,6 +3525,10 @@ Var vänlig och försök igen.</translation> <translation>Fel vid läsning av wallet.dat! Alla nycklar lästes korrekt, men transaktionsdata eller adressbokens poster kanske saknas eller är felaktiga.</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Avgifter (i %s/kB) mindre än detta anses vara nollavgifter vid skapande av transaktion (standard: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Hur grundlig blockverifikationen vid -checkblocks är (0-4, förvalt: %u)</translation> </message> @@ -3485,6 +3545,10 @@ Var vänlig och försök igen.</translation> <translation>Skriv ut avlusningsinformation (förvalt: %u, att ange <category> är frivilligt)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Stöd filtrering av block och transaktioner med bloomfilter (standard: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>Total längd på strängen för nätverksversion (%i) överskrider maxlängden (%i). Minska numret eller storleken på uacomments.</translation> </message> @@ -3501,6 +3565,10 @@ Var vänlig och försök igen.</translation> <translation>Använd separat SOCKS5 proxy för att nå kollegor via dolda tjänster i Tor (förvalt: -%s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Användarnamn och hashat lösenord för JSON-RPC-anslutningar. Fältet <userpw> kommer i formatet: <USERNAME>:<SALT>$<HASH>. Ett kanoniskt pythonskript finns inkluderat i share/rpcuser. Detta alternativ kan anges flera gånger</translation> + </message> + <message> <source>(default: %s)</source> <translation>(förvalt: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_th_TH.ts b/src/qt/locale/bitcoin_th_TH.ts index 75fdfc5bdf..79a55cdd51 100644 --- a/src/qt/locale/bitcoin_th_TH.ts +++ b/src/qt/locale/bitcoin_th_TH.ts @@ -282,6 +282,10 @@ </context> <context> <name>ReceiveCoinsDialog</name> + <message> + <source>&Label:</source> + <translation>&ชื่อ:</translation> + </message> </context> <context> <name>ReceiveRequestDialog</name> @@ -318,6 +322,10 @@ </context> <context> <name>SendCoinsEntry</name> + <message> + <source>&Label:</source> + <translation>&ชื่อ:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -385,5 +393,9 @@ </context> <context> <name>bitcoin-core</name> + <message> + <source>Options:</source> + <translation>ตัวเลือก:</translation> + </message> </context> </TS>
\ No newline at end of file diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts index 36ca1ab6fe..96fca8bb24 100644 --- a/src/qt/locale/bitcoin_tr.ts +++ b/src/qt/locale/bitcoin_tr.ts @@ -222,7 +222,15 @@ </context> <context> <name>BanTableModel</name> - </context> + <message> + <source>IP/Netmask</source> + <translation>IP/Ağ maskesi</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Şu vakte kadar yasaklı:</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -874,6 +882,34 @@ <source>command-line options</source> <translation>komut satırı seçenekleri</translation> </message> + <message> + <source>UI Options:</source> + <translation>Arayüz Seçenekleri:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Başlangıçta veri klasörü seç (varsayılan: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Lisan belirt, mesela "de_De" (varsayılan: sistem dili)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Küçültülmüş olarak başlat</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Ödeme talebi için SSL kök sertifikalarını belirle (varsayılan: -system-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Başlatıldığında başlangıç ekranını göster (varsayılan: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Arayüzde yapılan tüm seçenek değişikliklerini sıfırla</translation> + </message> </context> <context> <name>Intro</name> @@ -1072,6 +1108,34 @@ <translation>Vekil sunucunun portu (mesela 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Eşlere ulaşmak için kullanılır, şu yoluyla:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Bu şebeke türü yoluyla eşlere bağlanmak için belirtilen varsayılan SOCKS5 vekil sunucusunun kullanılıp kullanılmadığını gösterir.</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Bitcoin şebekesine gizli Tor servisleri için ayrı bir SOCKS5 vekil sunucusu vasıtasıyla bağlan.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Eşlere gizli Tor servisleri ile ulaşmak için ayrı SOCKS5 vekil sunucusu kullan:</translation> + </message> + <message> <source>&Window</source> <translation>&Pencere</translation> </message> @@ -1442,6 +1506,18 @@ <translation>Güncel blok sayısı</translation> </message> <message> + <source>Memory Pool</source> + <translation>Bellek Alanı</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Güncel muamele sayısı</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Bellek kullanımı</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Güncel veri klasöründen Bitcoin Çekirdeği hata ayıklama kütük dosyasını açar. Büyük kütük dosyaları için bu birkaç saniye alabilir.</translation> </message> @@ -1458,10 +1534,18 @@ <translation>&Eşler</translation> </message> <message> + <source>Banned peers</source> + <translation>Yasaklı eşler</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Ayrıntılı bilgi görmek için bir eş seçin.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Beyaz listedekiler</translation> + </message> + <message> <source>Direction</source> <translation>Yön</translation> </message> @@ -1470,6 +1554,18 @@ <translation>Sürüm</translation> </message> <message> + <source>Starting Block</source> + <translation>Başlangıç Bloku</translation> + </message> + <message> + <source>Synced Headers</source> + <translation>Eşleşmiş Başlıklar</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>Eşleşmiş Bloklar</translation> + </message> + <message> <source>User Agent</source> <translation>Kullanıcı Yazılımı</translation> </message> @@ -1498,6 +1594,14 @@ <translation>Ping Süresi</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>Güncel olarak göze çarpan bir ping'in süresi.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Ping Beklemesi</translation> + </message> + <message> <source>Time Offset</source> <translation>Saat Farkı</translation> </message> @@ -1546,6 +1650,34 @@ <translation>Konsolu temizle</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>Düğümle Bağlantıyı &Kes</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Düğümü şu süre için yasakla:</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &saat</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &gün</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &hafta</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &yıl</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>Düğümün Yasağını Kald&ır</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Bitcoin Çekirdeği RPC konsoluna hoş geldiniz.</translation> </message> @@ -1574,6 +1706,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(düğüm kimliği: %1)</translation> + </message> + <message> <source>via %1</source> <translation>%1 vasıtasıyla</translation> </message> @@ -1966,6 +2102,10 @@ <translation>Para üstünü kopyala</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Toplam Meblağ %1</translation> + </message> + <message> <source>or</source> <translation>veya</translation> </message> @@ -1998,6 +2138,14 @@ <translation>Ödeme talebinin ömrü doldu.</translation> </message> <message> + <source>Pay only the required fee of %1</source> + <translation>Sadece gerekli ücret olan %1 tutarını öde</translation> + </message> + <message numerus="yes"> + <source>Estimated to begin confirmation within %n block(s).</source> + <translation><numerusform>Tahmini olarak %n blok içinde teyide başlanacaktır.</numerusform><numerusform>Tahmini olarak %n blok içinde teyide başlanacaktır.</numerusform></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Alıcı adresi geçerli değildir. Lütfen denetleyiniz.</translation> </message> @@ -2629,6 +2777,10 @@ <translation>Muamele kimliğini kopyala</translation> </message> <message> + <source>Copy raw transaction</source> + <translation>Ham muameleyi kopyala</translation> + </message> + <message> <source>Edit label</source> <translation>Etiketi düzenle</translation> </message> @@ -2776,10 +2928,54 @@ <translation>Komut satırı ve JSON-RPC komutlarını kabul et</translation> </message> <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Eğer <kategori> belirtilmemişse ya da <kategori> = 1 ise, tüm hata ayıklama verilerini dök.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Tek cüzdan muamelesinde kullanılacak azami toplam ücret (%s olarak); bunu çok düşük olarak ayarlamak büyük muameleleri iptal edebilir (varsayılan: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Lütfen bilgisayarınızın saat ve tarihinin doğru olduğunu kontol ediniz! Saatinizde gecikme varsa Bitcoin Çekirdeği doğru şekilde çalışamaz.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>Prune, asgari değer olan %d MiB'den düşük olarak ayarlanmıştır. Lütfen daha yüksek bir sayı kullanınız.</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Budama: son cüzdan eşleşmesi budanmış verilerin ötesine gitmektedir. -reindex kullanmanız gerekmektedir (Budanmış düğüm ise tüm blok zincirini tekrar indirmeniz gerekir.)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Depolama gerekliliğini eski blokları budayarak (silerek) düşür. Bu kip -txindex ve -rescan ile uyumsuzdur. İkaz: Bu ayarı geri almak tüm blok zincirini yeniden indirmeyi gerektirir. (varsayılan: 0 = blokları silmeyi devre dışı bırak, >%u = MiB olarak blok dosyaları için kullanılacak hedef boyut)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Tekrar taramalar budanmış kipte mümkün değildir. Tüm blok zincirini tekrar indirecek olan -reindex seçeneğini kullanmanız gerekecektir.</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Hata: Ölümcül dahili bir hata meydana geldi, ayrıntılar için debug.log dosyasına bakınız</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Yolladığınız muamelelere eklenecek ücret (%s/kB olarak) (varsayılan: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Blockstore budanıyor...</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>Arka planda daemon (servis) olarak çalış ve komutları kabul et</translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>HTTP sunucusu başlatılamadı. Ayrıntılar için debug.log dosyasına bakınız.</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Dışarıdan gelen bağlantıları kabul et (varsayılan: -proxy veya -connect yoksa 1)</translation> </message> @@ -2804,6 +3000,10 @@ <translation>Betik kontrolü iş parçacıklarının sayısını belirler (%u ilâ %d, 0 = otomatik, <0 = bu sayıda çekirdeği kullanma, varsayılan: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>Blok veritabanı gelecekten gibi görünen bir blok içermektedir. Bu, bilgisayarınızın saat ve tarihinin yanlış ayarlanmış olmasından kaynaklanabilir. Blok veritabanını sadece bilgisayarınızın tarih ve saatinin doğru olduğundan eminseniz yeniden derleyin.</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>Bu yayın öncesi bir deneme sürümüdür - tüm riski siz üstlenmiş olursunuz - bitcoin oluşturmak ya da ticari uygulamalar için kullanmayınız</translation> </message> @@ -2812,6 +3012,10 @@ <translation>Bu bilgisayarda %s unsuruna bağlanılamadı. Bitcoin Çekirdeği muhtemelen hâlihazırda çalışmaktadır.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Dinlenecek portu haritalamak için UPnP kullan (varsayılan: dinlenildiğinde ve -proxy olmadığında 1)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>İKAZ: anormal yüksek sayıda blok oluşturulmuştur, %d blok son %d saat içinde alınmıştır (%d bekleniyordu)</translation> </message> @@ -2836,6 +3040,10 @@ <translation>Belirtilen ağ maskesi ya da IP adresinden bağlanan eşleri beyaz listeye al. Birden fazla kez belirtilebilir.</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool asgari %d MB olmalıdır</translation> + </message> + <message> <source><category> can be:</source> <translation><kategori> şunlar olabilir:</translation> </message> @@ -2868,6 +3076,22 @@ <translation>Blok veritabanını şimdi yeniden inşa etmek istiyor musunuz?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Blok karma değerinin <adres>te yayınlanmasını etkinleştir</translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Karma değer muamelesinin <adres>te yayınlanmasını etkinleştir</translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Ham blokun <adres>te yayınlanmasını etkinleştir</translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Ham muamelenin <adres>te yayınlanmasını etkinleştir</translation> + </message> + <message> <source>Error initializing block database</source> <translation>Blok veritabanını başlatılırken bir hata meydana geldi</translation> </message> @@ -2904,6 +3128,10 @@ <translation>Geçersiz -onion adresi: '%s'</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>Muamele bellek alanını <n> megabayttan düşük tut (varsayılan: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>Kafi derecede dosya tanımlayıcıları mevcut değil.</translation> </message> @@ -2932,10 +3160,26 @@ <translation>Cüzdan dosyası belirtiniz (veri klasörünün içinde)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Desteklenmeyen -benchmark argümanı görmezden gelindi, -debug=bench kullanınız.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Desteklenmeyen -debugnet argümanı görmezden gelindi, debug=net kullanınız.</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Deskteklenmeyen -tor argümanı bulundu, -onion kullanınız.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Dinleme portunu haritalamak için UPnP kullan (varsayılan: %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>Kullanıcı Aracı açıklaması (%s) güvensiz karakterler içermektedir.</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>Bloklar kontrol ediliyor...</translation> </message> @@ -2992,6 +3236,10 @@ <translation>İlgili bir uyarı alındığında ya da gerçekten uzun bir çatallama gördüğümüzde komutu çalıştır (komuttaki %s mesaj ile değiştirilir)</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)</source> + <translation>Bundan düşük ücretler (%s/kB olarak) aktarma, oluşturma ve muamele yaratma için sıfır değerinde ücret olarak kabul edilir (varsayılan: %s)</translation> + </message> + <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Eğer paytxfee ayarlanmadıysa kafi derecede ücret ekleyin ki muameleler teyite vasati n blok içinde başlasın (varsayılan: %u)</translation> </message> @@ -3048,6 +3296,18 @@ <translation>En iyi zincir etkinleştiriliyor...</translation> </message> <message> + <source>Always relay transactions received from whitelisted peers (default: %d)</source> + <translation>Beyaz listedeki eşlerden gelen muameleleri daima aktar (varsayılan: %d)</translation> + </message> + <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Başlangıçta bozuk bir wallet.dat dosyasından özel anahtarları geri kazanmayı dene</translation> + </message> + <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Otomatik olarak gizli Tor servisi oluştur (varsayılan: %d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>-whitebind adresi çözümlenemedi: '%s'</translation> </message> @@ -3068,6 +3328,10 @@ <translation>Veritabanından okumada hata, kapatılıyor.</translation> </message> <message> + <source>Imports blocks from external blk000??.dat file on startup</source> + <translation>Başlangıçta harici blk000??.dat dosyasından blokları içe aktarır</translation> + </message> + <message> <source>Information</source> <translation>Bilgi</translation> </message> @@ -3120,6 +3384,14 @@ <translation>P2P ağından gelen önemli uyarıları alın ve gösterin (önseçili değer: %u)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Sistem sınırlamaları sebebiyle -maxconnections %d değerinden %d değerine düşürülmüştür.</translation> + </message> + <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>Başlangıçta blok zincirini eksik cüzdan muameleleri için tekrar tara</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Trace/hata ayıklama verilerini debug.log dosyası yerine konsola gönder</translation> </message> @@ -3148,6 +3420,14 @@ <translation>Bu, deneysel bir yazılımdır.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>Tor kontrol portu parolası (varsayılan: boş)</translation> + </message> + <message> + <source>Tor control port to use if onion listening enabled (default: %s)</source> + <translation>Eğer onion dinlenmesi etkinse kullanılacak Tor kontrol portu (varsayılan: %s)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Muamele meblağı çok düşük</translation> </message> @@ -3168,6 +3448,10 @@ <translation>Bu bilgisayarda %s unsuruna bağlanılamadı (bağlanma %s hatasını verdi)</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>Başlangıçta cüzdanı en yeni biçime güncelle</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC bağlantıları için kullanıcı ismi</translation> </message> @@ -3180,10 +3464,18 @@ <translation>Uyarı</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>Salt blok kipinde çalışılıp çalışılmayacağı (varsayılan: %u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Cüzdandaki tüm muameleler kaldırılıyor...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ bildirim seçenekleri:</translation> + </message> + <message> <source>wallet.dat corrupt, salvage failed</source> <translation>wallet.dat bozuk, geri kazanım başarısız oldu</translation> </message> @@ -3216,6 +3508,26 @@ <translation>(1 = tx meta verilerini tut mesela hesap sahibi ve ödeme talebi bilgileri, 2 = tx meta verilerini at)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee çok yüksek bir değere ayarlanmış! Bu denli yüksek ücretler tek bir muamelede ödenebilir.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee çok yüksek bir değere ayarlanmış! Bu, muamele gönderirseniz ödeyeceğiniz muamele ücretidir.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Muameleleri bellek alanında <n> saatten fazla tutma (varsayılan: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>wallet.dat dosyasının okunması sırasında bir hata meydana geldi! Tüm anahtarlar doğru bir şekilde okundu, ancak muamele verileri ya da adres defteri unsurları hatalı veya eksik olabilir.</translation> + </message> + <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Bundan düşük ücretler (%s/kB olarak) muamele oluşturulması için sıfır değerinde ücret olarak kabul edilir (varsayılan: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>-checkblocks'un blok kontrolünün ne kadar kapsamlı olacağı (0 ilâ 4, varsayılan: %u)</translation> </message> @@ -3232,10 +3544,30 @@ <translation>Hata ayıklama bilgisi dök (varsayılan: %u, <kategori> sağlanması seçime dayalıdır)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Blokların ve muamelelerin bloom filtreleri ile süzülmesini destekle (varsayılan: %u)</translation> + </message> + <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>Şebeke sürümü zincirinin toplam boyutu (%i) azami boyutu geçmektedir (%i). Kullanıcı aracı açıklamasının sayısı veya boyutunu azaltınız.</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Giden trafiği belirtilen hedefin altında tutmaya çalışır (24 saat başı MiB olarak), 0 = sınırsız (varsayılan: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Desteklenmeyen -socks argümanı bulundu. SOCKS sürümünün ayarlanması artık mümkün değildir, sadece SOCKS5 vekilleri desteklenmektedir.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Eşlere gizli Tor servisleri ile ulaşmak için ayrı SOCKS5 vekil sunucusu kullan (varsayılan: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>JSON-RPC bağlantıları için kullanıcı ismi ve karmalanmış parola. <userpw> alanı şu biçimdedir: <USERNAME>:<SALT>$<HASH>. Kanonik bir Python betiği share/rpcuser klasöründe bulunabilir. Bu seçenek birden çok kez belirtilebilir.</translation> + </message> + <message> <source>(default: %s)</source> <translation>(varsayılan: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_tr_TR.ts b/src/qt/locale/bitcoin_tr_TR.ts index bca64ba05d..10866b011b 100644 --- a/src/qt/locale/bitcoin_tr_TR.ts +++ b/src/qt/locale/bitcoin_tr_TR.ts @@ -117,6 +117,10 @@ </context> <context> <name>BitcoinGUI</name> + <message> + <source>&Receiving addresses...</source> + <translation>Alış adresleri</translation> + </message> </context> <context> <name>ClientModel</name> @@ -130,6 +134,14 @@ </context> <context> <name>EditAddressDialog</name> + <message> + <source>&Label</source> + <translation>Etiket</translation> + </message> + <message> + <source>&Address</source> + <translation>Adres</translation> + </message> </context> <context> <name>FreespaceChecker</name> @@ -170,6 +182,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Adresi Kopyala</translation> + </message> + <message> <source>Address</source> <translation>Adres</translation> </message> diff --git a/src/qt/locale/bitcoin_uk.ts b/src/qt/locale/bitcoin_uk.ts index 5e2a06c731..ea783aa856 100644 --- a/src/qt/locale/bitcoin_uk.ts +++ b/src/qt/locale/bitcoin_uk.ts @@ -882,6 +882,34 @@ <source>command-line options</source> <translation>параметри командного рядка</translation> </message> + <message> + <source>UI Options:</source> + <translation>Параметри інтерфейсу:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>Обирати каталог даних під час запуску (типово: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>Встановити мову (наприклад: "de_DE") (типово: системна)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>Запускати згорнутим</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>Вказати кореневі SSL-сертифікати для запиту платежу (типово: -системні-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>Показувати заставку під час запуску (типово: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>Скинути налаштування, які було змінено через графічний інтерфейс користувача</translation> + </message> </context> <context> <name>Intro</name> @@ -1084,6 +1112,10 @@ <translation>Приєднуватися до учасників через:</translation> </message> <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Вказує на використання наявного типового проксі SOCKS5, що використувується задля встановлення зв'язку з пірами через мережу такого типу.</translation> + </message> + <message> <source>IPv4</source> <translation>IPv4</translation> </message> @@ -1474,6 +1506,18 @@ <translation>Поточне число блоків</translation> </message> <message> + <source>Memory Pool</source> + <translation>Пул пам'яті</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>Поточне число транзакцій</translation> + </message> + <message> + <source>Memory usage</source> + <translation>Використання пам'яті</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>Відкрити файл журналу налагодження Bitcoin Core з поточного каталогу даних. Це може зайняти кілька секунд для великих файлів журналів.</translation> </message> @@ -2058,6 +2102,10 @@ <translation>Копіювати решту</translation> </message> <message> + <source>Total Amount %1</source> + <translation>Всього %1</translation> + </message> + <message> <source>or</source> <translation>або</translation> </message> @@ -2089,6 +2137,10 @@ <source>Payment request expired.</source> <translation>Запит платежу прострочено.</translation> </message> + <message> + <source>Pay only the required fee of %1</source> + <translation>Сплатіть лише мінімальну комісію у розмірі %1</translation> + </message> <message numerus="yes"> <source>Estimated to begin confirmation within %n block(s).</source> <translation><numerusform>Перше підтвердження очікується протягом %n блоку.</numerusform><numerusform>Перше підтвердження очікується протягом %n блоків.</numerusform><numerusform>Перше підтвердження очікується протягом %n блоків.</numerusform></translation> @@ -2725,6 +2777,10 @@ <translation>Скопіювати ID транзакції </translation> </message> <message> + <source>Copy raw transaction</source> + <translation>Скопіювати RAW транзакцію</translation> + </message> + <message> <source>Edit label</source> <translation>Редагувати мітку</translation> </message> @@ -2888,6 +2944,10 @@ <translation>Встановлений розмір ланцюжка блоків є замалим (меншим за %d МіБ). Будь ласка, виберіть більше число.</translation> </message> <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Операція відсікання: остання синхронізація вмісту гаманцю не обмежується діями над скороченими данними. Вам необхідно зробити переіндексацію -reindex (заново завантажити веcь ланцюжок блоків в разі появи скороченого ланцюга)</translation> + </message> + <message> <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> <translation>Зменшити вимоги до наявного простору на носії даних за допомогою скорочення ланцюжка (видалення старих блоків). Цей режим несумісний з параметрами -txindex та -rescan. Увага: при поверненні до типового значення видалені частини ланцюжка буде повторно завантажено. (типово: 0 = вимкнути скорочення ланцюжка, >%u = очікуваний розмір файлів блоків в МіБ)</translation> </message> @@ -3016,6 +3076,22 @@ <translation>Ви хочете перебудувати базу даних блоків зараз?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Дозволено введення хеш блоку в рядок <address></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Дозволено введення хеш транзакції в рядок <address></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Дозволено введення RAW блоку в рядок <address></translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Дозволено введення RAW транзакції в рядок <address></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Помилка ініціалізації бази даних блоків</translation> </message> @@ -3160,6 +3236,10 @@ <translation>Виконати команду при надходженні важливого сповіщення або при спостереженні тривалого розгалуження ланцюжка (замість %s буде підставлено повідомлення)</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)</source> + <translation>Комісії (в %s/kB), що менші за вказану, вважатимуться нульовими для зміни, аналізу та створення транзакцій (типово: %s)</translation> + </message> + <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Якщо параметр paytxfee не встановлено, включити комісію для отримання перших підтверджень транзакцій протягом n блоків (типово: %u)</translation> </message> @@ -3216,6 +3296,18 @@ <translation>Активація найкращого ланцюжка...</translation> </message> <message> + <source>Always relay transactions received from whitelisted peers (default: %d)</source> + <translation>Завжди передавайте транзакції отримані від пірів з білого списку (типово: %d)</translation> + </message> + <message> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation>Спочатку спробуйте відновити приватні ключі в пошкодженому wallet.dat </translation> + </message> + <message> + <source>Automatically create Tor hidden service (default: %d)</source> + <translation>Автоматичне з'єднання з прихованим сервісом Tor (типово: %d)</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Не вдалося розпізнати адресу для -whitebind: «%s»</translation> </message> @@ -3236,6 +3328,10 @@ <translation>Помилка читання бази даних, припиняю роботу.</translation> </message> <message> + <source>Imports blocks from external blk000??.dat file on startup</source> + <translation>Спочатку імпортує блоки з зовнішнього файлу blk000??.dat </translation> + </message> + <message> <source>Information</source> <translation>Інформація</translation> </message> @@ -3292,6 +3388,10 @@ <translation>Зменшення значення -maxconnections з %d до %d із-за обмежень системи.</translation> </message> <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>Спочатку переглянте ланцюжок блоків на наявність втрачених транзакцій гаманця</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Відсилати налагоджувальну інформацію на консоль, а не у файл debug.log</translation> </message> @@ -3320,6 +3420,14 @@ <translation>Це програмне забезпечення є експериментальним.</translation> </message> <message> + <source>Tor control port password (default: empty)</source> + <translation>Пароль управління порт протоколом Tor (типово: empty)</translation> + </message> + <message> + <source>Tor control port to use if onion listening enabled (default: %s)</source> + <translation>Скористайтесь управлінням порт протоколом Tor, в разі перехоплення обміну цибулевої маршрутизації (типово: %s)</translation> + </message> + <message> <source>Transaction amount too small</source> <translation>Сума транзакції занадто мала</translation> </message> @@ -3340,6 +3448,10 @@ <translation>Неможливо прив'язатися до %s на цьому комп'ютері (bind повернув помилку: %s)</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>Спочатку оновіть гаманець до останньої версії</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>Ім'я користувача для JSON-RPC-з'єднань</translation> </message> @@ -3352,6 +3464,10 @@ <translation>Попередження</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>Чи слід працювати в режимі тільки блоки (типово: %u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Видалення всіх транзакцій з гаманця...</translation> </message> @@ -3408,6 +3524,10 @@ <translation>Помилка читання wallet.dat! Всі ключі прочитано коректно, але дані транзакцій чи записи адресної книги можуть бути пропущені або пошкоджені.</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>Комісії (в %s/kB), що менші за вказану, вважатимуться нульовими для створення транзакцій (типово: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Рівень ретельності перевірки блоків (0-4, типово: %u)</translation> </message> @@ -3424,10 +3544,18 @@ <translation>Виводити налагоджувальну інформацію (типово: %u, вказання <category> необов'язкове)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>Фільтрація блоків та транзакцій з допомогою фільтрів Блума (типово: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>Загальна довжина рядку мережевої версії (%i) перевищує максимально допустиму (%i). Зменшіть число чи розмір коментарів клієнта користувача.</translation> </message> <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Намагається зберегти вихідний трафік відповідно до зданого значення (в MIB за 24 години), 0 = без обмежень (типово: %d)</translation> + </message> + <message> <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> <translation>Параметр -socks не підтримується. Можливість вказувати версію SOCKS було видалено, так як підтримується лише SOCKS5.</translation> </message> @@ -3436,6 +3564,10 @@ <translation>Використовувати окремий SOCKS5-проксі для з'єднання з учасниками через приховані сервіси Tor (типово: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>Логін та хешований пароль для зв'язків JSON-RPC. Поле <userpw> має формат: <USERNAME>:<SALT>$<HASH>. Класичний Python script додано до share/rpcuser. Цей параметр може бути застосований декілька разів.</translation> + </message> + <message> <source>(default: %s)</source> <translation>(типово: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_ur_PK.ts b/src/qt/locale/bitcoin_ur_PK.ts index db5cca3cca..e37c87baa8 100644 --- a/src/qt/locale/bitcoin_ur_PK.ts +++ b/src/qt/locale/bitcoin_ur_PK.ts @@ -124,6 +124,10 @@ <context> <name>CoinControlDialog</name> <message> + <source>Amount:</source> + <translation>رقم:</translation> + </message> + <message> <source>Amount</source> <translation>رقم</translation> </message> @@ -138,6 +142,14 @@ </context> <context> <name>EditAddressDialog</name> + <message> + <source>&Label</source> + <translation>چٹ</translation> + </message> + <message> + <source>&Address</source> + <translation> پتہ</translation> + </message> </context> <context> <name>FreespaceChecker</name> @@ -186,6 +198,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>کاپی پتہ</translation> + </message> + <message> <source>Address</source> <translation> پتہ</translation> </message> @@ -220,6 +236,14 @@ <context> <name>SendCoinsDialog</name> <message> + <source>Insufficient funds!</source> + <translation>ناکافی فنڈز</translation> + </message> + <message> + <source>Amount:</source> + <translation>رقم:</translation> + </message> + <message> <source>Balance:</source> <translation>بیلنس:</translation> </message> diff --git a/src/qt/locale/bitcoin_uz@Cyrl.ts b/src/qt/locale/bitcoin_uz@Cyrl.ts index 4350d0ac8a..86724564ff 100644 --- a/src/qt/locale/bitcoin_uz@Cyrl.ts +++ b/src/qt/locale/bitcoin_uz@Cyrl.ts @@ -793,6 +793,10 @@ <translation>Bitcoin Core ҳақида</translation> </message> <message> + <source>Command-line options</source> + <translation>Буйруқлар сатри мосламалари</translation> + </message> + <message> <source>Usage:</source> <translation>Фойдаланиш:</translation> </message> @@ -800,7 +804,7 @@ <source>command-line options</source> <translation>буйруқлар қатори орқали мослаш</translation> </message> -</context> + </context> <context> <name>Intro</name> <message> @@ -906,6 +910,10 @@ <translation>Тармоқ</translation> </message> <message> + <source>W&allet</source> + <translation>Ҳамён</translation> + </message> + <message> <source>Proxy &IP:</source> <translation>Прокси &IP рақами:</translation> </message> @@ -1690,6 +1698,10 @@ <source>Message:</source> <translation>Хабар</translation> </message> + <message> + <source>Pay To:</source> + <translation>Тўлов олувчи:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -2019,6 +2031,10 @@ <translation>Ўтказмалар тарихини экспорт қилиш</translation> </message> <message> + <source>Watch-only</source> + <translation>Фақат кўришга</translation> + </message> + <message> <source>Exporting Failed</source> <translation>Экспорт қилиб бўлмади</translation> </message> @@ -2138,6 +2154,10 @@ <translation>Манзиллар юкланмоқда...</translation> </message> <message> + <source>Insufficient funds</source> + <translation>Кам миқдор</translation> + </message> + <message> <source>Loading block index...</source> <translation>Тўсиқ индекси юкланмоқда...</translation> </message> diff --git a/src/qt/locale/bitcoin_vi.ts b/src/qt/locale/bitcoin_vi.ts index 7a7c68c4b3..47745a3bc8 100644 --- a/src/qt/locale/bitcoin_vi.ts +++ b/src/qt/locale/bitcoin_vi.ts @@ -60,6 +60,10 @@ <context> <name>CoinControlDialog</name> <message> + <source>Amount:</source> + <translation>Số lượng:</translation> + </message> + <message> <source>Amount</source> <translation>Số lượng</translation> </message> @@ -70,6 +74,14 @@ </context> <context> <name>EditAddressDialog</name> + <message> + <source>&Label</source> + <translation>Nhãn dữ liệu</translation> + </message> + <message> + <source>&Address</source> + <translation>Địa chỉ</translation> + </message> </context> <context> <name>FreespaceChecker</name> @@ -114,6 +126,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>Sao chép địa chỉ</translation> + </message> + <message> <source>Address</source> <translation>Địa chỉ</translation> </message> @@ -144,6 +160,10 @@ <context> <name>SendCoinsDialog</name> <message> + <source>Amount:</source> + <translation>Số lượng:</translation> + </message> + <message> <source>(no label)</source> <translation>(chưa có nhãn)</translation> </message> diff --git a/src/qt/locale/bitcoin_vi_VN.ts b/src/qt/locale/bitcoin_vi_VN.ts index c55aecd82d..d55fa61885 100644 --- a/src/qt/locale/bitcoin_vi_VN.ts +++ b/src/qt/locale/bitcoin_vi_VN.ts @@ -166,6 +166,10 @@ <translation>Xem thông tin về Qt</translation> </message> <message> + <source>&Receiving addresses...</source> + <translation>Địa chỉ nhận</translation> + </message> + <message> <source>Open &URI...</source> <translation>Mở &URI...</translation> </message> @@ -354,6 +358,14 @@ </context> <context> <name>EditAddressDialog</name> + <message> + <source>&Label</source> + <translation>Nhãn</translation> + </message> + <message> + <source>&Address</source> + <translation>Địa chỉ</translation> + </message> </context> <context> <name>FreespaceChecker</name> @@ -418,6 +430,10 @@ <translation>MB</translation> </message> <message> + <source>W&allet</source> + <translation>Ví</translation> + </message> + <message> <source>&Display</source> <translation>&Hiển thị</translation> </message> @@ -468,6 +484,10 @@ <context> <name>RPCConsole</name> <message> + <source>&Information</source> + <translation>Thông tin</translation> + </message> + <message> <source>General</source> <translation>Nhìn Chung</translation> </message> @@ -491,6 +511,10 @@ <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>Lượng:</translation> + </message> + <message> <source>Copy label</source> <translation>Copy nhãn</translation> </message> @@ -502,6 +526,10 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>Copy &Address</source> + <translation>&Copy Địa Chỉ</translation> + </message> + <message> <source>Address</source> <translation>Địa chỉ</translation> </message> @@ -536,6 +564,10 @@ <context> <name>SendCoinsDialog</name> <message> + <source>Insufficient funds!</source> + <translation>Không đủ tiền</translation> + </message> + <message> <source>Quantity:</source> <translation>Lượng:</translation> </message> @@ -570,6 +602,10 @@ </context> <context> <name>SendCoinsEntry</name> + <message> + <source>A&mount:</source> + <translation>Lượng:</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -674,6 +710,14 @@ <context> <name>bitcoin-core</name> <message> + <source>Options:</source> + <translation>Lựa chọn:</translation> + </message> + <message> + <source>(default: %u)</source> + <translation>(mặc định: %u)</translation> + </message> + <message> <source>Information</source> <translation>Thông tin</translation> </message> diff --git a/src/qt/locale/bitcoin_zh.ts b/src/qt/locale/bitcoin_zh.ts index 288c1c5f25..aeb4faa712 100644 --- a/src/qt/locale/bitcoin_zh.ts +++ b/src/qt/locale/bitcoin_zh.ts @@ -88,6 +88,10 @@ <context> <name>SendCoinsDialog</name> <message> + <source>Insufficient funds!</source> + <translation>余额不足</translation> + </message> + <message> <source>Choose...</source> <translation>选择...</translation> </message> diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts index 778462e681..0ae2c95c62 100644 --- a/src/qt/locale/bitcoin_zh_CN.ts +++ b/src/qt/locale/bitcoin_zh_CN.ts @@ -23,7 +23,7 @@ </message> <message> <source>C&lose</source> - <translation>关闭(&C)</translation> + <translation>关闭(&l)</translation> </message> <message> <source>&Copy Address</source> @@ -133,7 +133,7 @@ </message> <message> <source>Encrypt wallet</source> - <translation>钱包加密</translation> + <translation>加密钱包</translation> </message> <message> <source>This operation needs your wallet passphrase to unlock the wallet.</source> @@ -226,7 +226,11 @@ <source>IP/Netmask</source> <translation>IP/网络掩码</translation> </message> - </context> + <message> + <source>Banned Until</source> + <translation>在此之前禁止:</translation> + </message> +</context> <context> <name>BitcoinGUI</name> <message> @@ -267,7 +271,7 @@ </message> <message> <source>About &Qt</source> - <translation>关于 &Qt</translation> + <translation>关于Qt(&Q)</translation> </message> <message> <source>Show information about Qt</source> @@ -303,7 +307,7 @@ </message> <message> <source>Bitcoin Core client</source> - <translation>比特币核心钱包</translation> + <translation>比特币核心钱包客户端</translation> </message> <message> <source>Importing blocks from disk...</source> @@ -311,7 +315,7 @@ </message> <message> <source>Reindexing blocks on disk...</source> - <translation>正在为数据块建立索引...</translation> + <translation>正在为数据块重建索引...</translation> </message> <message> <source>Send coins to a Bitcoin address</source> @@ -878,6 +882,34 @@ <source>command-line options</source> <translation>命令行选项</translation> </message> + <message> + <source>UI Options:</source> + <translation>界面选项:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>在启动时选择目录(默认%u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>设置语言, 例如“zh-CN”(默认:系统语言)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>启动时最小化</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>设置付款请求的SSL根证书(默认:-系统-)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>显示启动画面(默认:%u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>重置所有图形界面所做的更改</translation> + </message> </context> <context> <name>Intro</name> @@ -1076,6 +1108,14 @@ <translation>代理端口(例如 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>连接到同伴的方式:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>如果默认的SOCKS5代理被用于在该网络下连接同伴,则显示</translation> + </message> + <message> <source>IPv4</source> <translation>IPv4</translation> </message> @@ -1088,6 +1128,14 @@ <translation>Tor</translation> </message> <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>在Tor匿名网络下通过不同的SOCKS5代理连接比特币网络</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>通过Tor隐藏服务连接节点时 使用不同的SOCKS5代理</translation> + </message> + <message> <source>&Window</source> <translation>窗口(&W)</translation> </message> @@ -1458,6 +1506,18 @@ <translation>当前数据块数量</translation> </message> <message> + <source>Memory Pool</source> + <translation>资金池</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>当前交易数量</translation> + </message> + <message> + <source>Memory usage</source> + <translation>内存使用</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>从当前的数据目录打开比特币核心调试日志文件。对于较大的日志文件,这可能需要几秒钟。</translation> </message> @@ -1474,6 +1534,10 @@ <translation>同伴(&P)</translation> </message> <message> + <source>Banned peers</source> + <translation>节点黑名单</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>选择节点查看详细信息。</translation> </message> @@ -1490,6 +1554,10 @@ <translation>版本</translation> </message> <message> + <source>Starting Block</source> + <translation>正在启动数据块</translation> + </message> + <message> <source>Synced Headers</source> <translation>同步区块头</translation> </message> @@ -1526,6 +1594,10 @@ <translation>Ping 时间</translation> </message> <message> + <source>Ping Wait</source> + <translation>Ping等待</translation> + </message> + <message> <source>Time Offset</source> <translation>时间偏移</translation> </message> @@ -1574,6 +1646,14 @@ <translation>清空控制台</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>(&D)断开节点连接</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>禁止节点连接时长:</translation> + </message> + <message> <source>1 &hour</source> <translation>1 小时(&H)</translation> </message> @@ -1590,6 +1670,10 @@ <translation>1 年(&Y)</translation> </message> <message> + <source>&Unban Node</source> + <translation>(&U)允许节点连接</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>欢迎使用 比特币核心 RPC 控制台。</translation> </message> @@ -2014,6 +2098,10 @@ <translation>复制零钱</translation> </message> <message> + <source>Total Amount %1</source> + <translation>总金额 %1</translation> + </message> + <message> <source>or</source> <translation>或</translation> </message> @@ -2045,6 +2133,10 @@ <source>Payment request expired.</source> <translation>支付请求已过期。</translation> </message> + <message> + <source>Pay only the required fee of %1</source> + <translation>只支付必要费用 %1</translation> + </message> <message numerus="yes"> <source>Estimated to begin confirmation within %n block(s).</source> <translation><numerusform>预计 %n 个数据块后被确认。</numerusform></translation> @@ -2681,6 +2773,10 @@ <translation>复制交易编号</translation> </message> <message> + <source>Copy raw transaction</source> + <translation>复制原始交易</translation> + </message> + <message> <source>Edit label</source> <translation>编辑标签</translation> </message> @@ -2831,10 +2927,34 @@ </translation> </message> <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>如果<category>未提供或<category> = 1,输出所有调试信息。</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>最大单次转账费用(%s),设置太低可能导致大宗交易失败(默认:%s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>警请检查电脑的日期时间设置是否正确!时间错误可能会导致比特币客户端运行异常。</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>修剪值被设置为低于最小值%d MiB,请使用更大的数值。</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>无法在开启修剪的状态下重扫描,请使用 -reindex重新下载完整的区块链。</translation> + </message> + <message> <source>Error: A fatal internal error occurred, see debug.log for details</source> <translation>错误:发生了致命的内部错误,详情见 debug.log 文件</translation> </message> <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>为付款交易添加交易费 (%s/kB) (默认: %s) </translation> + </message> + <message> <source>Pruning blockstore...</source> <translation>正在修剪区块存储...</translation> </message> @@ -2845,6 +2965,10 @@ </translation> </message> <message> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>无法启动HTTP服务,查看日志获取更多信息</translation> + </message> + <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>接受来自外部的连接 (缺省: 如果不带 -proxy or -connect 参数设置为1)</translation> </message> @@ -2869,6 +2993,10 @@ <translation>设置脚本验证的程序 (%u 到 %d, 0 = 自动, <0 = 保留自由的核心, 默认值: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>区块数据库包含未来的交易,这可能是由本机错误的日期时间引起。若确认本机日期时间正确,请重新建立区块数据库。</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>这是测试用的预发布版本 - 请谨慎使用 - 不要用来挖矿,或者在正式商用环境下使用</translation> </message> @@ -2877,6 +3005,10 @@ <translation>无法 %s的绑定到电脑上,比特币核心钱包可能已经在运行。</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>使用UPnP暴露本机监听端口(默认:1 当正在监听且不使用代理)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>警告:数据块生成数量异常,最近 %d 小时收到了 %d 个数据块(预期为 %d 个)</translation> </message> @@ -2901,6 +3033,10 @@ <translation>节点白名单,网络掩码或IP址。可多次指定。</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool 最小为%d MB</translation> + </message> + <message> <source><category> can be:</source> <translation><category> 可能是:</translation> </message> @@ -2933,6 +3069,22 @@ <translation>你想现在就重建块数据库吗?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>允许在<address>广播哈希区块</translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>允许在<address>广播哈希交易</translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>允许在<address>广播原始区块</translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>允许在<address>广播原始交易</translation> + </message> + <message> <source>Error initializing block database</source> <translation>初始化数据块数据库出错</translation> </message> @@ -2969,6 +3121,10 @@ <translation>无效的 -onion 地址:“%s”</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>保持交易内存池大小低于<n>MB(默认:%u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>没有足够的文件描述符可用。</translation> </message> @@ -2997,6 +3153,18 @@ <translation>指定钱包文件(数据目录内)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>忽略不支持的选项 -benchmark,使用 -debug=bench</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>忽略不支持的选项 -debugnet,使用 -debug=net。</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>忽略不支持的选项 -tor,使用 -oinon</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>使用UPnp映射监听端口 (默认: %u) </translation> </message> @@ -3161,6 +3329,10 @@ <translation>-whitelist: '%s' 指定的网络掩码无效</translation> </message> <message> + <source>Keep at most <n> unconnectable transactions in memory (default: %u)</source> + <translation>内存中最多保留 <n> 笔孤立的交易 (默认: %u) </translation> + </message> + <message> <source>Need to specify a port with -whitebind: '%s'</source> <translation>-whitebind: '%s' 需要指定一个端口</translation> </message> @@ -3181,6 +3353,10 @@ <translation>收到并且显示P2P网络的告警(默认:%u)</translation> </message> <message> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation>重新扫描区块链以查找遗漏的钱包交易</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>跟踪/调试信息输出到控制台,不输出到 debug.log 文件</translation> </message> @@ -3229,6 +3405,10 @@ <translation>无法在此计算机上绑定 %s (绑定返回错误 %s)</translation> </message> <message> + <source>Upgrade wallet to latest format on startup</source> + <translation>程序启动时升级钱包到最新格式</translation> + </message> + <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC 连接用户名</translation> </message> @@ -3241,6 +3421,10 @@ <translation>警告</translation> </message> <message> + <source>Whether to operate in a blocks only mode (default: %u)</source> + <translation>是否用块方进行 (%u)</translation> + </message> + <message> <source>Zapping all transactions from wallet...</source> <translation>Zapping all transactions from wallet...</translation> </message> @@ -3299,6 +3483,10 @@ <translation>输出调试信息 (默认: %u, 提供 <category> 是可选项)</translation> </message> <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>尝试保持上传带宽低于(MiB/24h),0=无限制(默认:%d)</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>通过Tor隐藏服务连接节点时 使用不同的SOCKS5代理 (默认: %s)</translation> </message> @@ -3307,6 +3495,10 @@ <translation>(默认: %s) </translation> </message> <message> + <source>Always query for peer addresses via DNS lookup (default: %u)</source> + <translation>始终通过 DNS 查询节点地址 (默认: %u)</translation> + </message> + <message> <source>Error loading wallet.dat</source> <translation>wallet.dat 钱包文件加载出错</translation> </message> diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts index 67fb692ea1..4026095928 100644 --- a/src/qt/locale/bitcoin_zh_TW.ts +++ b/src/qt/locale/bitcoin_zh_TW.ts @@ -882,6 +882,34 @@ <source>command-line options</source> <translation>命令列選項</translation> </message> + <message> + <source>UI Options:</source> + <translation>使用介面選項:</translation> + </message> + <message> + <source>Choose data directory on startup (default: %u)</source> + <translation>啓動時選擇資料目錄(預設值: %u)</translation> + </message> + <message> + <source>Set language, for example "de_DE" (default: system locale)</source> + <translation>設定語言,比如說 de_DE (預設值: 系統語系)</translation> + </message> + <message> + <source>Start minimized</source> + <translation>啓動時縮到最小</translation> + </message> + <message> + <source>Set SSL root certificates for payment request (default: -system-)</source> + <translation>設定付款請求時所使用的 SSL 根憑證(預設值: 系統憑證庫)</translation> + </message> + <message> + <source>Show splash screen on startup (default: %u)</source> + <translation>顯示啓動畫面(預設值: %u)</translation> + </message> + <message> + <source>Reset all settings changes made over the GUI</source> + <translation>重置所有在使用界面更改的設定</translation> + </message> </context> <context> <name>Intro</name> @@ -1478,6 +1506,18 @@ <translation>目前區塊數</translation> </message> <message> + <source>Memory Pool</source> + <translation>記憶體暫存池</translation> + </message> + <message> + <source>Current number of transactions</source> + <translation>目前交易數目</translation> + </message> + <message> + <source>Memory usage</source> + <translation>記憶體使用量</translation> + </message> + <message> <source>Open the Bitcoin Core debug log file from the current data directory. This can take a few seconds for large log files.</source> <translation>從目前的資料目錄下開啓位元幣核心的除錯紀錄檔。當紀錄檔很大時,可能會花好幾秒的時間。</translation> </message> @@ -2101,6 +2141,10 @@ <source>Pay only the required fee of %1</source> <translation>只付必要的手續費 %1</translation> </message> + <message numerus="yes"> + <source>Estimated to begin confirmation within %n block(s).</source> + <translation><numerusform>預計可在 %n 個區塊內開始確認。</numerusform></translation> + </message> <message> <source>The recipient address is not valid. Please recheck.</source> <translation>收款位址無效。請再檢查看看。</translation> @@ -3129,6 +3173,10 @@ <translation>找到不再支援的 -tor 參數,請改用 -onion 參數。</translation> </message> <message> + <source>Use UPnP to map the listening port (default: %u)</source> + <translation>使用通用隨插即用 (UPnP) 協定來設定對應的服務連接埠(預設值: %u)</translation> + </message> + <message> <source>User Agent comment (%s) contains unsafe characters.</source> <translation>使用者代理註解(%s)中含有不安全的字元。</translation> </message> @@ -3230,7 +3278,7 @@ </message> <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> - <translation>在白名單中的節點不會因為偵測到阻斷服務攻擊而被停用。來自這些節點的交易也一定會被轉發,即使說交易本來就在記憶池裡了也一樣。適用於像是閘道伺服器。</translation> + <translation>在白名單中的節點不會因為偵測到阻斷服務攻擊(DoS)而被停用。來自這些節點的交易也一定會被轉發,即使說交易本來就在記憶池裡了也一樣。適用於像是閘道伺服器。</translation> </message> <message> <source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source> @@ -3470,13 +3518,17 @@ </message> <message> <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> - <translation>不要讓交易留在記憶體暫存池中超過 <n> 個小時(預設值: %u)</translation> + <translation>不要讓交易留在記憶池中超過 <n> 個小時(預設值: %u)</translation> </message> <message> <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> <translation>讀取錢包檔 wallet.dat 時發生錯誤!所有的密鑰都正確讀取了,但是交易資料或位址簿資料可能會缺少或不正確。</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)</source> + <translation>當製造交易時,如果每千位元組(kB)的手續費比這個值(單位是 %s)低,就視為沒付手續費(預設值: %s)</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>使用 -checkblocks 檢查區塊的仔細程度(0 到 4,預設值: %u)</translation> </message> @@ -3493,6 +3545,10 @@ <translation>輸出除錯資訊(預設值: %u, 不一定要指定 <category>)</translation> </message> <message> + <source>Support filtering of blocks and transaction with bloom filters (default: %u)</source> + <translation>支援用布倫過濾器來過濾區塊和交易(預設值: %u)</translation> + </message> + <message> <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> <translation>網路版本字串的總長度(%i)超過最大長度(%i)了。請減少 uacomment 參數的數目或長度。</translation> </message> @@ -3509,6 +3565,10 @@ <translation>使用另外的 SOCK5 代理伺服器,來透過 Tor 隱藏服務跟其他節點聯絡(預設值: %s)</translation> </message> <message> + <source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. This option can be specified multiple times</source> + <translation>JSON-RPC 連線要用的使用者名稱和雜湊密碼。<userpw> 的格式是:<使用者名稱>:<調味值>$<雜湊值>。在 share/rpcuser 目錄下有一個示範的 python 程式。這個選項可以給很多次。</translation> + </message> + <message> <source>(default: %s)</source> <translation>(預設值: %s)</translation> </message> diff --git a/src/qt/peertablemodel.cpp b/src/qt/peertablemodel.cpp index 5f7b3d97e7..84ad0052fd 100644 --- a/src/qt/peertablemodel.cpp +++ b/src/qt/peertablemodel.cpp @@ -147,7 +147,7 @@ int PeerTableModel::rowCount(const QModelIndex &parent) const int PeerTableModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent); - return columns.length();; + return columns.length(); } QVariant PeerTableModel::data(const QModelIndex &index, int role) const diff --git a/src/qt/receiverequestdialog.cpp b/src/qt/receiverequestdialog.cpp index 0c4a20cf92..75108e0a10 100644 --- a/src/qt/receiverequestdialog.cpp +++ b/src/qt/receiverequestdialog.cpp @@ -144,7 +144,7 @@ void ReceiveRequestDialog::update() html += "<a href=\""+uri+"\">" + GUIUtil::HtmlEscape(uri) + "</a><br>"; html += "<b>"+tr("Address")+"</b>: " + GUIUtil::HtmlEscape(info.address) + "<br>"; if(info.amount) - html += "<b>"+tr("Amount")+"</b>: " + BitcoinUnits::formatWithUnit(model->getDisplayUnit(), info.amount) + "<br>"; + html += "<b>"+tr("Amount")+"</b>: " + BitcoinUnits::formatHtmlWithUnit(model->getDisplayUnit(), info.amount) + "<br>"; if(!info.label.isEmpty()) html += "<b>"+tr("Label")+"</b>: " + GUIUtil::HtmlEscape(info.label) + "<br>"; if(!info.message.isEmpty()) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index dace70982f..31c9028c4b 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -373,8 +373,6 @@ SendCoinsEntry *SendCoinsDialog::addEntry() connect(entry, SIGNAL(payAmountChanged()), this, SLOT(coinControlUpdateLabels())); connect(entry, SIGNAL(subtractFeeFromAmountChanged()), this, SLOT(coinControlUpdateLabels())); - updateTabsAndLabels(); - // Focus the field, so that entry can start immediately entry->clear(); entry->setFocus(); @@ -383,6 +381,8 @@ SendCoinsEntry *SendCoinsDialog::addEntry() QScrollBar* bar = ui->scrollArea->verticalScrollBar(); if(bar) bar->setSliderPosition(bar->maximum()); + + updateTabsAndLabels(); return entry; } @@ -808,7 +808,7 @@ void SendCoinsDialog::coinControlUpdateLabels() for(int i = 0; i < ui->entries->count(); ++i) { SendCoinsEntry *entry = qobject_cast<SendCoinsEntry*>(ui->entries->itemAt(i)->widget()); - if(entry) + if(entry && !entry->isHidden()) { SendCoinsRecipient rcp = entry->getValue(); CoinControlDialog::payAmounts.append(rcp.amount); diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp index eb4b12202a..5cb4cd5af7 100644 --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -35,9 +35,11 @@ QString TransactionDesc::FormatTxStatus(const CWalletTx& wtx) { int nDepth = wtx.GetDepthInMainChain(); if (nDepth < 0) - return tr("conflicted"); + return tr("conflicted with a transaction with %1 confirmations").arg(-nDepth); else if (GetAdjustedTime() - wtx.nTimeReceived > 2 * 60 && wtx.GetRequestCount() == 0) return tr("%1/offline").arg(nDepth); + else if (nDepth == 0) + return tr("0/unconfirmed, %1").arg((wtx.InMempool() ? tr("in memory pool") : tr("not in memory pool"))); else if (nDepth < 6) return tr("%1/unconfirmed").arg(nDepth); else diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp index 5e73451448..75ab9c4c3a 100644 --- a/src/qt/utilitydialog.cpp +++ b/src/qt/utilitydialog.cpp @@ -84,7 +84,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) : strUsage += HelpMessageOpt("-min", tr("Start minimized").toStdString()); strUsage += HelpMessageOpt("-rootcertificates=<file>", tr("Set SSL root certificates for payment request (default: -system-)").toStdString()); strUsage += HelpMessageOpt("-splash", strprintf(tr("Show splash screen on startup (default: %u)").toStdString(), DEFAULT_SPLASHSCREEN)); - strUsage += HelpMessageOpt("-resetguisettings", tr("Reset all settings changes made over the GUI").toStdString()); + strUsage += HelpMessageOpt("-resetguisettings", tr("Reset all settings changed in the GUI").toStdString()); if (showDebug) { strUsage += HelpMessageOpt("-uiplatform", strprintf("Select platform to customize UI for (one of windows, macosx, other; default: %s)", BitcoinGUI::DEFAULT_UIPLATFORM)); } diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 797157ce78..edaa71e79f 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -197,7 +197,7 @@ UniValue mempoolToJSON(bool fVerbose = false) info.push_back(Pair("currentpriority", e.GetPriority(chainActive.Height()))); info.push_back(Pair("descendantcount", e.GetCountWithDescendants())); info.push_back(Pair("descendantsize", e.GetSizeWithDescendants())); - info.push_back(Pair("descendantfees", e.GetFeesWithDescendants())); + info.push_back(Pair("descendantfees", e.GetModFeesWithDescendants())); const CTransaction& tx = e.GetTx(); set<string> setDepends; BOOST_FOREACH(const CTxIn& txin, tx.vin) @@ -255,7 +255,7 @@ UniValue getrawmempool(const UniValue& params, bool fHelp) " \"currentpriority\" : n, (numeric) transaction priority now\n" " \"descendantcount\" : n, (numeric) number of in-mempool descendant transactions (including this one)\n" " \"descendantsize\" : n, (numeric) size of in-mempool descendants (including this one)\n" - " \"descendantfees\" : n, (numeric) fees of in-mempool descendants (including this one)\n" + " \"descendantfees\" : n, (numeric) modified fees (see above) of in-mempool descendants (including this one)\n" " \"depends\" : [ (array) unconfirmed transactions used as inputs for this transaction\n" " \"transactionid\", (string) parent transaction id\n" " ... ]\n" diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 779e7fbc6a..b61e7c5f13 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -111,6 +111,14 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp) " n, (numeric) The heights of blocks we're currently asking from this peer\n" " ...\n" " ]\n" + " \"bytessent_per_msg\": {\n" + " \"addr\": n, (numeric) The total bytes sent aggregated by message type\n" + " ...\n" + " }\n" + " \"bytesrecv_per_msg\": {\n" + " \"addr\": n, (numeric) The total bytes received aggregated by message type\n" + " ...\n" + " }\n" " }\n" " ,...\n" "]\n" @@ -165,6 +173,20 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp) } obj.push_back(Pair("whitelisted", stats.fWhitelisted)); + UniValue sendPerMsgCmd(UniValue::VOBJ); + BOOST_FOREACH(const mapMsgCmdSize::value_type &i, stats.mapSendBytesPerMsgCmd) { + if (i.second > 0) + sendPerMsgCmd.push_back(Pair(i.first, i.second)); + } + obj.push_back(Pair("bytessent_per_msg", sendPerMsgCmd)); + + UniValue recvPerMsgCmd(UniValue::VOBJ); + BOOST_FOREACH(const mapMsgCmdSize::value_type &i, stats.mapRecvBytesPerMsgCmd) { + if (i.second > 0) + recvPerMsgCmd.push_back(Pair(i.first, i.second)); + } + obj.push_back(Pair("bytesrecv_per_msg", recvPerMsgCmd)); + ret.push_back(obj); } diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index 1f2d77aef0..4947ad1f70 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -353,7 +353,6 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp) + HelpExampleRpc("createrawtransaction", "\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\", \"{\\\"data\\\":\\\"00010203\\\"}\"") ); - LOCK(cs_main); RPCTypeCheck(params, boost::assign::list_of(UniValue::VARR)(UniValue::VOBJ)(UniValue::VNUM), true); if (params[0].isNull() || params[1].isNull()) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, arguments 1 and 2 must be non-null"); diff --git a/src/script/script.cpp b/src/script/script.cpp index fa1307d618..9f2809e593 100644 --- a/src/script/script.cpp +++ b/src/script/script.cpp @@ -131,7 +131,7 @@ const char* GetOpName(opcodetype opcode) // expanson case OP_NOP1 : return "OP_NOP1"; - case OP_NOP2 : return "OP_NOP2"; + case OP_CHECKLOCKTIMEVERIFY : return "OP_CHECKLOCKTIMEVERIFY"; case OP_NOP3 : return "OP_NOP3"; case OP_NOP4 : return "OP_NOP4"; case OP_NOP5 : return "OP_NOP5"; diff --git a/src/script/script.h b/src/script/script.h index 2b95a4af81..6551eea30d 100644 --- a/src/script/script.h +++ b/src/script/script.h @@ -162,8 +162,8 @@ enum opcodetype // expansion OP_NOP1 = 0xb0, - OP_NOP2 = 0xb1, - OP_CHECKLOCKTIMEVERIFY = OP_NOP2, + OP_CHECKLOCKTIMEVERIFY = 0xb1, + OP_NOP2 = OP_CHECKLOCKTIMEVERIFY, OP_NOP3 = 0xb2, OP_NOP4 = 0xb3, OP_NOP5 = 0xb4, diff --git a/src/test/DoS_tests.cpp b/src/test/DoS_tests.cpp index 39fb532c5d..95342498fa 100644 --- a/src/test/DoS_tests.cpp +++ b/src/test/DoS_tests.cpp @@ -49,7 +49,7 @@ BOOST_AUTO_TEST_CASE(DoS_banning) CNode dummyNode1(INVALID_SOCKET, addr1, "", true); dummyNode1.nVersion = 1; Misbehaving(dummyNode1.GetId(), 100); // Should get banned - SendMessages(&dummyNode1, false); + SendMessages(&dummyNode1); BOOST_CHECK(CNode::IsBanned(addr1)); BOOST_CHECK(!CNode::IsBanned(ip(0xa0b0c001|0x0000ff00))); // Different IP, not banned @@ -57,11 +57,11 @@ BOOST_AUTO_TEST_CASE(DoS_banning) CNode dummyNode2(INVALID_SOCKET, addr2, "", true); dummyNode2.nVersion = 1; Misbehaving(dummyNode2.GetId(), 50); - SendMessages(&dummyNode2, false); + SendMessages(&dummyNode2); BOOST_CHECK(!CNode::IsBanned(addr2)); // 2 not banned yet... BOOST_CHECK(CNode::IsBanned(addr1)); // ... but 1 still should be Misbehaving(dummyNode2.GetId(), 50); - SendMessages(&dummyNode2, false); + SendMessages(&dummyNode2); BOOST_CHECK(CNode::IsBanned(addr2)); } @@ -73,13 +73,13 @@ BOOST_AUTO_TEST_CASE(DoS_banscore) CNode dummyNode1(INVALID_SOCKET, addr1, "", true); dummyNode1.nVersion = 1; Misbehaving(dummyNode1.GetId(), 100); - SendMessages(&dummyNode1, false); + SendMessages(&dummyNode1); BOOST_CHECK(!CNode::IsBanned(addr1)); Misbehaving(dummyNode1.GetId(), 10); - SendMessages(&dummyNode1, false); + SendMessages(&dummyNode1); BOOST_CHECK(!CNode::IsBanned(addr1)); Misbehaving(dummyNode1.GetId(), 1); - SendMessages(&dummyNode1, false); + SendMessages(&dummyNode1); BOOST_CHECK(CNode::IsBanned(addr1)); mapArgs.erase("-banscore"); } @@ -95,7 +95,7 @@ BOOST_AUTO_TEST_CASE(DoS_bantime) dummyNode.nVersion = 1; Misbehaving(dummyNode.GetId(), 100); - SendMessages(&dummyNode, false); + SendMessages(&dummyNode); BOOST_CHECK(CNode::IsBanned(addr)); SetMockTime(nStartTime+60*60); diff --git a/src/test/data/script_invalid.json b/src/test/data/script_invalid.json index 7afa2abf49..7ce7e0879c 100644 --- a/src/test/data/script_invalid.json +++ b/src/test/data/script_invalid.json @@ -160,12 +160,12 @@ ["2 2 LSHIFT", "8 EQUAL", "P2SH,STRICTENC", "disabled"], ["2 1 RSHIFT", "1 EQUAL", "P2SH,STRICTENC", "disabled"], -["1","NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 2 EQUAL", "P2SH,STRICTENC"], -["'NOP_1_to_10' NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10","'NOP_1_to_11' EQUAL", "P2SH,STRICTENC"], +["1","NOP1 CHECKLOCKTIMEVERIFY NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 2 EQUAL", "P2SH,STRICTENC"], +["'NOP_1_to_10' NOP1 CHECKLOCKTIMEVERIFY NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10","'NOP_1_to_11' EQUAL", "P2SH,STRICTENC"], ["Ensure 100% coverage of discouraged NOPS"], ["1", "NOP1", "P2SH,DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP2", "P2SH,DISCOURAGE_UPGRADABLE_NOPS"], +["1", "CHECKLOCKTIMEVERIFY", "P2SH,DISCOURAGE_UPGRADABLE_NOPS"], ["1", "NOP3", "P2SH,DISCOURAGE_UPGRADABLE_NOPS"], ["1", "NOP4", "P2SH,DISCOURAGE_UPGRADABLE_NOPS"], ["1", "NOP5", "P2SH,DISCOURAGE_UPGRADABLE_NOPS"], diff --git a/src/test/data/script_valid.json b/src/test/data/script_valid.json index a4e15faeaf..e5f0d17b04 100644 --- a/src/test/data/script_valid.json +++ b/src/test/data/script_valid.json @@ -232,8 +232,8 @@ ["'abcdefghijklmnopqrstuvwxyz'", "HASH256 0x4c 0x20 0xca139bc10c2f660da42666f72e89a225936fc60f193c161124a672050c434671 EQUAL", "P2SH,STRICTENC"], -["1","NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 1 EQUAL", "P2SH,STRICTENC"], -["'NOP_1_to_10' NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10","'NOP_1_to_10' EQUAL", "P2SH,STRICTENC"], +["1","NOP1 CHECKLOCKTIMEVERIFY NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 1 EQUAL", "P2SH,STRICTENC"], +["'NOP_1_to_10' NOP1 CHECKLOCKTIMEVERIFY NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10","'NOP_1_to_10' EQUAL", "P2SH,STRICTENC"], ["1", "NOP", "P2SH,STRICTENC,DISCOURAGE_UPGRADABLE_NOPS", "Discourage NOPx flag allows OP_NOP"], @@ -442,7 +442,7 @@ ["NOP", "CODESEPARATOR 1", "P2SH,STRICTENC"], ["NOP", "NOP1 1", "P2SH,STRICTENC"], -["NOP", "NOP2 1", "P2SH,STRICTENC"], +["NOP", "CHECKLOCKTIMEVERIFY 1", "P2SH,STRICTENC"], ["NOP", "NOP3 1", "P2SH,STRICTENC"], ["NOP", "NOP4 1", "P2SH,STRICTENC"], ["NOP", "NOP5 1", "P2SH,STRICTENC"], diff --git a/src/test/data/tx_invalid.json b/src/test/data/tx_invalid.json index cc059e814f..9025841949 100644 --- a/src/test/data/tx_invalid.json +++ b/src/test/data/tx_invalid.json @@ -127,66 +127,66 @@ ["CHECKLOCKTIMEVERIFY tests"], ["By-height locks, with argument just beyond tx nLockTime"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], ["By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 CHECKLOCKTIMEVERIFY 1"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH,CHECKLOCKTIMEVERIFY"], ["Argument missing"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], [[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000001b1010000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["Argument negative with by-blockheight nLockTime=0"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["Argument negative with by-blocktime nLockTime=500,000,000"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKLOCKTIMEVERIFY 1"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], [[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000004005194b1010000000100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["Input locked"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], [[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1ffffffff0100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"] , +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"] , ["0000000000000000000000000000000000000000000000000000000000000200", 1, "1"]], "010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["Argument/tx height/time mismatch, both versions"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], [[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b100000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], ["Argument 2^32 with nLockTime=2^32-1"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], ["Same, but with nLockTime=2^31-1"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f", "P2SH,CHECKLOCKTIMEVERIFY"], ["6 byte non-minimally-encoded arguments are invalid even if their contents are valid"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"], diff --git a/src/test/data/tx_valid.json b/src/test/data/tx_valid.json index 0dfef73ae5..76d29bcf26 100644 --- a/src/test/data/tx_valid.json +++ b/src/test/data/tx_valid.json @@ -190,35 +190,35 @@ ["CHECKLOCKTIMEVERIFY tests"], ["By-height locks, with argument == 0 and == tx nLockTime"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], ["By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], ["Any non-maxint nSequence is fine"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["The argument can be calculated rather than created directly by a PUSHDATA"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 1ADD NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 1ADD CHECKLOCKTIMEVERIFY 1"]], "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], ["Perhaps even by an ADD producing a 5-byte result that is out of bounds for other opcodes"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483647 2147483647 ADD NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483647 2147483647 ADD CHECKLOCKTIMEVERIFY 1"]], "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH,CHECKLOCKTIMEVERIFY"], ["5 byte non-minimally-encoded arguments are valid"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x05 0x0000000000 NOP2 1"]], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x05 0x0000000000 CHECKLOCKTIMEVERIFY 1"]], "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], ["Valid CHECKLOCKTIMEVERIFY in scriptSig"], diff --git a/src/test/mruset_tests.cpp b/src/test/mruset_tests.cpp deleted file mode 100644 index 2b68f8899e..0000000000 --- a/src/test/mruset_tests.cpp +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) 2012-2013 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "mruset.h" - -#include "random.h" -#include "util.h" -#include "test/test_bitcoin.h" - -#include <set> - -#include <boost/test/unit_test.hpp> - -#define NUM_TESTS 16 -#define MAX_SIZE 100 - -using namespace std; - -BOOST_FIXTURE_TEST_SUITE(mruset_tests, BasicTestingSetup) - -BOOST_AUTO_TEST_CASE(mruset_test) -{ - // The mruset being tested. - mruset<int> mru(5000); - - // Run the test 10 times. - for (int test = 0; test < 10; test++) { - // Reset mru. - mru.clear(); - - // A deque + set to simulate the mruset. - std::deque<int> rep; - std::set<int> all; - - // Insert 10000 random integers below 15000. - for (int j=0; j<10000; j++) { - int add = GetRandInt(15000); - mru.insert(add); - - // Add the number to rep/all as well. - if (all.count(add) == 0) { - all.insert(add); - rep.push_back(add); - if (all.size() == 5001) { - all.erase(rep.front()); - rep.pop_front(); - } - } - - // Do a full comparison between mru and the simulated mru every 1000 and every 5001 elements. - if (j % 1000 == 0 || j % 5001 == 0) { - mruset<int> mru2 = mru; // Also try making a copy - - // Check that all elements that should be in there, are in there. - BOOST_FOREACH(int x, rep) { - BOOST_CHECK(mru.count(x)); - BOOST_CHECK(mru2.count(x)); - } - - // Check that all elements that are in there, should be in there. - BOOST_FOREACH(int x, mru) { - BOOST_CHECK(all.count(x)); - } - - // Check that all elements that are in there, should be in there. - BOOST_FOREACH(int x, mru2) { - BOOST_CHECK(all.count(x)); - } - - for (int t = 0; t < 10; t++) { - int r = GetRandInt(15000); - BOOST_CHECK(all.count(r) == mru.count(r)); - BOOST_CHECK(all.count(r) == mru2.count(r)); - } - } - } - } -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/src/test/rpc_tests.cpp b/src/test/rpc_tests.cpp index 9abae69b1e..cc52e3ea06 100644 --- a/src/test/rpc_tests.cpp +++ b/src/test/rpc_tests.cpp @@ -237,7 +237,7 @@ BOOST_AUTO_TEST_CASE(rpc_ban) UniValue o1 = ar[0].get_obj(); UniValue adr = find_value(o1, "address"); BOOST_CHECK_EQUAL(adr.get_str(), "127.0.0.0/32"); - BOOST_CHECK_NO_THROW(CallRPC(string("setban 127.0.0.0 remove")));; + BOOST_CHECK_NO_THROW(CallRPC(string("setban 127.0.0.0 remove"))); BOOST_CHECK_NO_THROW(r = CallRPC(string("listbanned"))); ar = r.get_array(); BOOST_CHECK_EQUAL(ar.size(), 0); @@ -267,7 +267,7 @@ BOOST_AUTO_TEST_CASE(rpc_ban) // must throw an exception because 127.0.0.1 is in already banned suubnet range BOOST_CHECK_THROW(r = CallRPC(string("setban 127.0.0.1 add")), runtime_error); - BOOST_CHECK_NO_THROW(CallRPC(string("setban 127.0.0.0/24 remove")));; + BOOST_CHECK_NO_THROW(CallRPC(string("setban 127.0.0.0/24 remove"))); BOOST_CHECK_NO_THROW(r = CallRPC(string("listbanned"))); ar = r.get_array(); BOOST_CHECK_EQUAL(ar.size(), 0); diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp index 46959d5feb..10175ebe8e 100644 --- a/src/test/script_tests.cpp +++ b/src/test/script_tests.cpp @@ -985,10 +985,10 @@ BOOST_AUTO_TEST_CASE(script_IsPushOnly_on_invalid_scripts) BOOST_AUTO_TEST_CASE(script_GetScriptAsm) { - BOOST_CHECK_EQUAL("OP_NOP2", ScriptToAsmStr(CScript() << OP_NOP2, true)); - BOOST_CHECK_EQUAL("OP_NOP2", ScriptToAsmStr(CScript() << OP_CHECKLOCKTIMEVERIFY, true)); - BOOST_CHECK_EQUAL("OP_NOP2", ScriptToAsmStr(CScript() << OP_NOP2)); - BOOST_CHECK_EQUAL("OP_NOP2", ScriptToAsmStr(CScript() << OP_CHECKLOCKTIMEVERIFY)); + BOOST_CHECK_EQUAL("OP_CHECKLOCKTIMEVERIFY", ScriptToAsmStr(CScript() << OP_NOP2, true)); + BOOST_CHECK_EQUAL("OP_CHECKLOCKTIMEVERIFY", ScriptToAsmStr(CScript() << OP_CHECKLOCKTIMEVERIFY, true)); + BOOST_CHECK_EQUAL("OP_CHECKLOCKTIMEVERIFY", ScriptToAsmStr(CScript() << OP_NOP2)); + BOOST_CHECK_EQUAL("OP_CHECKLOCKTIMEVERIFY", ScriptToAsmStr(CScript() << OP_CHECKLOCKTIMEVERIFY)); string derSig("304502207fa7a6d1e0ee81132a269ad84e68d695483745cde8b541e3bf630749894e342a022100c1f7ab20e13e22fb95281a870f3dcf38d782e53023ee313d741ad0cfbc0c5090"); string pubKey("03b0da749730dc9b4b1f4a14d6902877a92541f5368778853d9c4a0cb7802dcfb2"); diff --git a/src/torcontrol.cpp b/src/torcontrol.cpp index 8eccc81e30..4ebcb9b667 100644 --- a/src/torcontrol.cpp +++ b/src/torcontrol.cpp @@ -618,7 +618,7 @@ void TorController::disconnected_cb(TorControlConnection& conn) if (!reconnect) return; - LogPrint("tor", "tor: Disconnected from Tor control port %s, trying to reconnect\n", target); + LogPrint("tor", "tor: Not connected to Tor control port %s, trying to reconnect\n", target); // Single-shot timer for reconnect. Use exponential backoff. struct timeval time = MillisToTimeval(int64_t(reconnect_timeout * 1000.0)); diff --git a/src/txmempool.cpp b/src/txmempool.cpp index 03a8e8eab0..f8e03c2533 100644 --- a/src/txmempool.cpp +++ b/src/txmempool.cpp @@ -33,7 +33,7 @@ CTxMemPoolEntry::CTxMemPoolEntry(const CTransaction& _tx, const CAmount& _nFee, nCountWithDescendants = 1; nSizeWithDescendants = nTxSize; - nFeesWithDescendants = nFee; + nModFeesWithDescendants = nFee; CAmount nValueIn = tx.GetValueOut()+nFee; assert(inChainInputValue <= nValueIn); @@ -57,6 +57,7 @@ CTxMemPoolEntry::GetPriority(unsigned int currentHeight) const void CTxMemPoolEntry::UpdateFeeDelta(int64_t newFeeDelta) { + nModFeesWithDescendants += newFeeDelta - feeDelta; feeDelta = newFeeDelta; } @@ -114,7 +115,7 @@ bool CTxMemPool::UpdateForDescendants(txiter updateIt, int maxDescendantsToVisit BOOST_FOREACH(txiter cit, setAllDescendants) { if (!setExclude.count(cit->GetTx().GetHash())) { modifySize += cit->GetTxSize(); - modifyFee += cit->GetFee(); + modifyFee += cit->GetModifiedFee(); modifyCount++; cachedDescendants[updateIt].insert(cit); } @@ -244,7 +245,7 @@ void CTxMemPool::UpdateAncestorsOf(bool add, txiter it, setEntries &setAncestors } const int64_t updateCount = (add ? 1 : -1); const int64_t updateSize = updateCount * it->GetTxSize(); - const CAmount updateFee = updateCount * it->GetFee(); + const CAmount updateFee = updateCount * it->GetModifiedFee(); BOOST_FOREACH(txiter ancestorIt, setAncestors) { mapTx.modify(ancestorIt, update_descendant_state(updateSize, updateFee, updateCount)); } @@ -304,7 +305,7 @@ void CTxMemPoolEntry::SetDirty() { nCountWithDescendants = 0; nSizeWithDescendants = nTxSize; - nFeesWithDescendants = nFee; + nModFeesWithDescendants = GetModifiedFee(); } void CTxMemPoolEntry::UpdateState(int64_t modifySize, CAmount modifyFee, int64_t modifyCount) @@ -312,8 +313,7 @@ void CTxMemPoolEntry::UpdateState(int64_t modifySize, CAmount modifyFee, int64_t if (!IsDirty()) { nSizeWithDescendants += modifySize; assert(int64_t(nSizeWithDescendants) > 0); - nFeesWithDescendants += modifyFee; - assert(nFeesWithDescendants >= 0); + nModFeesWithDescendants += modifyFee; nCountWithDescendants += modifyCount; assert(int64_t(nCountWithDescendants) > 0); } @@ -372,6 +372,17 @@ bool CTxMemPool::addUnchecked(const uint256& hash, const CTxMemPoolEntry &entry, indexed_transaction_set::iterator newit = mapTx.insert(entry).first; mapLinks.insert(make_pair(newit, TxLinks())); + // Update transaction for any feeDelta created by PrioritiseTransaction + // TODO: refactor so that the fee delta is calculated before inserting + // into mapTx. + std::map<uint256, std::pair<double, CAmount> >::const_iterator pos = mapDeltas.find(hash); + if (pos != mapDeltas.end()) { + const std::pair<double, CAmount> &deltas = pos->second; + if (deltas.second) { + mapTx.modify(newit, update_fee_delta(deltas.second)); + } + } + // Update cachedInnerUsage to include contained transaction's usage. // (When we update the entry for in-mempool parents, memory usage will be // further updated.) @@ -399,15 +410,6 @@ bool CTxMemPool::addUnchecked(const uint256& hash, const CTxMemPoolEntry &entry, } UpdateAncestorsOf(true, newit, setAncestors); - // Update transaction's score for any feeDelta created by PrioritiseTransaction - std::map<uint256, std::pair<double, CAmount> >::const_iterator pos = mapDeltas.find(hash); - if (pos != mapDeltas.end()) { - const std::pair<double, CAmount> &deltas = pos->second; - if (deltas.second) { - mapTx.modify(newit, update_fee_delta(deltas.second)); - } - } - nTransactionsUpdated++; totalTxSize += entry.GetTxSize(); minerPolicyEstimator->processTransaction(entry, fCurrentEstimate); @@ -644,27 +646,24 @@ void CTxMemPool::check(const CCoinsViewCache *pcoins) const CTxMemPool::setEntries setChildrenCheck; std::map<COutPoint, CInPoint>::const_iterator iter = mapNextTx.lower_bound(COutPoint(it->GetTx().GetHash(), 0)); int64_t childSizes = 0; - CAmount childFees = 0; + CAmount childModFee = 0; for (; iter != mapNextTx.end() && iter->first.hash == it->GetTx().GetHash(); ++iter) { txiter childit = mapTx.find(iter->second.ptx->GetHash()); assert(childit != mapTx.end()); // mapNextTx points to in-mempool transactions if (setChildrenCheck.insert(childit).second) { childSizes += childit->GetTxSize(); - childFees += childit->GetFee(); + childModFee += childit->GetModifiedFee(); } } assert(setChildrenCheck == GetMemPoolChildren(it)); - // Also check to make sure size/fees is greater than sum with immediate children. + // Also check to make sure size is greater than sum with immediate children. // just a sanity check, not definitive that this calc is correct... - // also check that the size is less than the size of the entire mempool. if (!it->IsDirty()) { assert(it->GetSizeWithDescendants() >= childSizes + it->GetTxSize()); - assert(it->GetFeesWithDescendants() >= childFees + it->GetFee()); } else { assert(it->GetSizeWithDescendants() == it->GetTxSize()); - assert(it->GetFeesWithDescendants() == it->GetFee()); + assert(it->GetModFeesWithDescendants() == it->GetModifiedFee()); } - assert(it->GetFeesWithDescendants() >= 0); if (fDependsWait) waitingOnDependants.push_back(&(*it)); @@ -788,6 +787,14 @@ void CTxMemPool::PrioritiseTransaction(const uint256 hash, const string strHash, txiter it = mapTx.find(hash); if (it != mapTx.end()) { mapTx.modify(it, update_fee_delta(deltas.second)); + // Now update all ancestors' modified fees with descendants + setEntries setAncestors; + uint64_t nNoLimit = std::numeric_limits<uint64_t>::max(); + std::string dummy; + CalculateMemPoolAncestors(*it, setAncestors, nNoLimit, nNoLimit, nNoLimit, nNoLimit, dummy, false); + BOOST_FOREACH(txiter ancestorIt, setAncestors) { + mapTx.modify(ancestorIt, update_descendant_state(0, nFeeDelta, 0)); + } } } LogPrintf("PrioritiseTransaction: %s priority += %f, fee += %d\n", strHash, dPriorityDelta, FormatMoney(nFeeDelta)); @@ -956,7 +963,7 @@ void CTxMemPool::TrimToSize(size_t sizelimit, std::vector<uint256>* pvNoSpendsRe // "minimum reasonable fee rate" (ie some value under which we consider txn // to have 0 fee). This way, we don't allow txn to enter mempool with feerate // equal to txn which were removed with no block in between. - CFeeRate removed(it->GetFeesWithDescendants(), it->GetSizeWithDescendants()); + CFeeRate removed(it->GetModFeesWithDescendants(), it->GetSizeWithDescendants()); removed += minReasonableRelayFee; trackPackageRemoved(removed); maxFeeRateRemoved = std::max(maxFeeRateRemoved, removed); diff --git a/src/txmempool.h b/src/txmempool.h index 28ec362ba3..386cb26d25 100644 --- a/src/txmempool.h +++ b/src/txmempool.h @@ -44,12 +44,12 @@ class CTxMemPool; * ("descendant" transactions). * * When a new entry is added to the mempool, we update the descendant state - * (nCountWithDescendants, nSizeWithDescendants, and nFeesWithDescendants) for + * (nCountWithDescendants, nSizeWithDescendants, and nModFeesWithDescendants) for * all ancestors of the newly added transaction. * * If updating the descendant state is skipped, we can mark the entry as - * "dirty", and set nSizeWithDescendants/nFeesWithDescendants to equal nTxSize/ - * nTxFee. (This can potentially happen during a reorg, where we limit the + * "dirty", and set nSizeWithDescendants/nModFeesWithDescendants to equal nTxSize/ + * nFee+feeDelta. (This can potentially happen during a reorg, where we limit the * amount of work we're willing to do to avoid consuming too much CPU.) * */ @@ -74,11 +74,11 @@ private: // Information about descendants of this transaction that are in the // mempool; if we remove this transaction we must remove all of these // descendants as well. if nCountWithDescendants is 0, treat this entry as - // dirty, and nSizeWithDescendants and nFeesWithDescendants will not be + // dirty, and nSizeWithDescendants and nModFeesWithDescendants will not be // correct. uint64_t nCountWithDescendants; //! number of descendant transactions uint64_t nSizeWithDescendants; //! ... and size - CAmount nFeesWithDescendants; //! ... and total fees (all including us) + CAmount nModFeesWithDescendants; //! ... and total fees (all including us) public: CTxMemPoolEntry(const CTransaction& _tx, const CAmount& _nFee, @@ -104,7 +104,8 @@ public: // Adjusts the descendant state, if this entry is not dirty. void UpdateState(int64_t modifySize, CAmount modifyFee, int64_t modifyCount); - // Updates the fee delta used for mining priority score + // Updates the fee delta used for mining priority score, and the + // modified fees with descendants. void UpdateFeeDelta(int64_t feeDelta); /** We can set the entry to be dirty if doing the full calculation of in- @@ -116,7 +117,7 @@ public: uint64_t GetCountWithDescendants() const { return nCountWithDescendants; } uint64_t GetSizeWithDescendants() const { return nSizeWithDescendants; } - CAmount GetFeesWithDescendants() const { return nFeesWithDescendants; } + CAmount GetModFeesWithDescendants() const { return nModFeesWithDescendants; } bool GetSpendsCoinbase() const { return spendsCoinbase; } }; @@ -163,27 +164,27 @@ struct mempoolentry_txid } }; -/** \class CompareTxMemPoolEntryByFee +/** \class CompareTxMemPoolEntryByDescendantScore * - * Sort an entry by max(feerate of entry's tx, feerate with all descendants). + * Sort an entry by max(score/size of entry's tx, score/size with all descendants). */ -class CompareTxMemPoolEntryByFee +class CompareTxMemPoolEntryByDescendantScore { public: bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) { - bool fUseADescendants = UseDescendantFeeRate(a); - bool fUseBDescendants = UseDescendantFeeRate(b); + bool fUseADescendants = UseDescendantScore(a); + bool fUseBDescendants = UseDescendantScore(b); - double aFees = fUseADescendants ? a.GetFeesWithDescendants() : a.GetFee(); + double aModFee = fUseADescendants ? a.GetModFeesWithDescendants() : a.GetModifiedFee(); double aSize = fUseADescendants ? a.GetSizeWithDescendants() : a.GetTxSize(); - double bFees = fUseBDescendants ? b.GetFeesWithDescendants() : b.GetFee(); + double bModFee = fUseBDescendants ? b.GetModFeesWithDescendants() : b.GetModifiedFee(); double bSize = fUseBDescendants ? b.GetSizeWithDescendants() : b.GetTxSize(); // Avoid division by rewriting (a/b > c/d) as (a*d > c*b). - double f1 = aFees * bSize; - double f2 = aSize * bFees; + double f1 = aModFee * bSize; + double f2 = aSize * bModFee; if (f1 == f2) { return a.GetTime() >= b.GetTime(); @@ -191,11 +192,11 @@ public: return f1 < f2; } - // Calculate which feerate to use for an entry (avoiding division). - bool UseDescendantFeeRate(const CTxMemPoolEntry &a) + // Calculate which score to use for an entry (avoiding division). + bool UseDescendantScore(const CTxMemPoolEntry &a) { - double f1 = (double)a.GetFee() * a.GetSizeWithDescendants(); - double f2 = (double)a.GetFeesWithDescendants() * a.GetTxSize(); + double f1 = (double)a.GetModifiedFee() * a.GetSizeWithDescendants(); + double f2 = (double)a.GetModFeesWithDescendants() * a.GetTxSize(); return f2 > f1; } }; @@ -350,7 +351,7 @@ public: // sorted by fee rate boost::multi_index::ordered_non_unique< boost::multi_index::identity<CTxMemPoolEntry>, - CompareTxMemPoolEntryByFee + CompareTxMemPoolEntryByDescendantScore >, // sorted by entry time boost::multi_index::ordered_non_unique< diff --git a/src/wallet/test/wallet_tests.cpp b/src/wallet/test/wallet_tests.cpp index e8001df509..f03cb4896c 100644 --- a/src/wallet/test/wallet_tests.cpp +++ b/src/wallet/test/wallet_tests.cpp @@ -328,4 +328,24 @@ BOOST_AUTO_TEST_CASE(coin_selection_tests) empty_wallet(); } +BOOST_AUTO_TEST_CASE(pruning_in_ApproximateBestSet) +{ + CoinSet setCoinsRet; + CAmount nValueRet; + + LOCK(wallet.cs_wallet); + + empty_wallet(); + for (int i = 0; i < 100; i++) + add_coin(10 * CENT); + for (int i = 0; i < 100; i++) + add_coin(1000 * CENT); + + BOOST_CHECK(wallet.SelectCoinsMinConf(100001 * CENT, 1, 6, vCoins, setCoinsRet, nValueRet)); + // We need all 100 larger coins and exactly one small coin. + // Superfluous small coins must be pruned: + BOOST_CHECK_EQUAL(nValueRet, 100010 * CENT); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 101); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index f6ff150e41..444bd88f8b 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1034,7 +1034,8 @@ void CWalletTx::GetAmounts(list<COutputEntry>& listReceived, // In either case, we need to get the destination address CTxDestination address; - if (!ExtractDestination(txout.scriptPubKey, address)) + + if (!ExtractDestination(txout.scriptPubKey, address) && !txout.scriptPubKey.IsUnspendable()) { LogPrintf("CWalletTx::GetAmounts: Unknown transaction type found, txid %s\n", this->GetHash().ToString()); @@ -1359,6 +1360,15 @@ CAmount CWalletTx::GetChange() const return nChangeCached; } +bool CWalletTx::InMempool() const +{ + LOCK(mempool.cs); + if (mempool.exists(GetHash())) { + return true; + } + return false; +} + bool CWalletTx::IsTrusted() const { // Quick answer in most cases @@ -1373,12 +1383,8 @@ bool CWalletTx::IsTrusted() const return false; // Don't trust unconfirmed transactions from us unless they are in the mempool. - { - LOCK(mempool.cs); - if (!mempool.exists(GetHash())) { - return false; - } - } + if (!InMempool()) + return false; // Trusted if all inputs are from us and are in the mempool: BOOST_FOREACH(const CTxIn& txin, vin) @@ -1632,6 +1638,16 @@ static void ApproximateBestSubset(vector<pair<CAmount, pair<const CWalletTx*,uns } } } + + //Reduces the approximate best subset by removing any inputs that are smaller than the surplus of nTotal beyond nTargetValue. + for (unsigned int i = 0; i < vValue.size(); i++) + { + if (vfBest[i] && (nBest - vValue[i].first) >= nTargetValue ) + { + vfBest[i] = false; + nBest -= vValue[i].first; + } + } } bool CWallet::SelectCoinsMinConf(const CAmount& nTargetValue, int nConfMine, int nConfTheirs, vector<COutput> vCoins, diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 33c339bba1..53a2b96690 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -384,6 +384,7 @@ public: // True if only scriptSigs are different bool IsEquivalentTo(const CWalletTx& tx) const; + bool InMempool() const; bool IsTrusted() const; bool WriteToDisk(CWalletDB *pwalletdb); |