diff options
Diffstat (limited to 'src')
50 files changed, 739 insertions, 233 deletions
diff --git a/src/init.cpp b/src/init.cpp index b44233d90f..dc9080fec3 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -39,7 +39,9 @@ #include <boost/algorithm/string/predicate.hpp> #include <boost/algorithm/string/replace.hpp> +#include <boost/bind.hpp> #include <boost/filesystem.hpp> +#include <boost/function.hpp> #include <boost/interprocess/sync/file_lock.hpp> #include <boost/thread.hpp> #include <openssl/crypto.h> @@ -1392,6 +1394,12 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) StartNode(threadGroup, scheduler); + // Monitor the chain, and alert if we get blocks much quicker or slower than expected + int64_t nPowTargetSpacing = Params().GetConsensus().nPowTargetSpacing; + CScheduler::Function f = boost::bind(&PartitionCheck, &IsInitialBlockDownload, + boost::ref(cs_main), boost::cref(chainActive), nPowTargetSpacing); + scheduler.scheduleEvery(f, nPowTargetSpacing); + #ifdef ENABLE_WALLET // Generate coins in the background if (pwalletMain) diff --git a/src/main.cpp b/src/main.cpp index d3956fafda..c30f29f824 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -28,6 +28,7 @@ #include <boost/algorithm/string/replace.hpp> #include <boost/filesystem.hpp> #include <boost/filesystem/fstream.hpp> +#include <boost/math/distributions/poisson.hpp> #include <boost/thread.hpp> using namespace std; @@ -153,8 +154,8 @@ namespace { uint256 hash; CBlockIndex *pindex; //! Optional. int64_t nTime; //! Time of "getdata" request in microseconds. - int nValidatedQueuedBefore; //! Number of blocks queued with validated headers (globally) at the time this one is requested. bool fValidatedHeaders; //! Whether this block has validated headers at the time of request. + int64_t nTimeDisconnect; //! The timeout for this block request (for disconnecting a slow peer) }; map<uint256, pair<NodeId, list<QueuedBlock>::iterator> > mapBlocksInFlight; @@ -215,6 +216,7 @@ struct CNodeState { int64_t nStallingSince; list<QueuedBlock> vBlocksInFlight; int nBlocksInFlight; + int nBlocksInFlightValidHeaders; //! Whether we consider this a preferred download peer. bool fPreferredDownload; @@ -228,6 +230,7 @@ struct CNodeState { fSyncStarted = false; nStallingSince = 0; nBlocksInFlight = 0; + nBlocksInFlightValidHeaders = 0; fPreferredDownload = false; } }; @@ -259,6 +262,12 @@ void UpdatePreferredDownload(CNode* node, CNodeState* state) nPreferredDownload += state->fPreferredDownload; } +// Returns time at which to timeout block request (nTime in microseconds) +int64_t GetBlockTimeout(int64_t nTime, int nValidatedQueuedBefore) +{ + return nTime + 500000 * Params().GetConsensus().nPowTargetSpacing * (4 + nValidatedQueuedBefore); +} + void InitializeNode(NodeId nodeid, const CNode *pnode) { LOCK(cs_main); CNodeState &state = mapNodeState.insert(std::make_pair(nodeid, CNodeState())).first->second; @@ -291,6 +300,7 @@ void MarkBlockAsReceived(const uint256& hash) { if (itInFlight != mapBlocksInFlight.end()) { CNodeState *state = State(itInFlight->second.first); nQueuedValidatedHeaders -= itInFlight->second.second->fValidatedHeaders; + state->nBlocksInFlightValidHeaders -= itInFlight->second.second->fValidatedHeaders; state->vBlocksInFlight.erase(itInFlight->second.second); state->nBlocksInFlight--; state->nStallingSince = 0; @@ -306,10 +316,12 @@ void MarkBlockAsInFlight(NodeId nodeid, const uint256& hash, CBlockIndex *pindex // Make sure it's not listed somewhere already. MarkBlockAsReceived(hash); - QueuedBlock newentry = {hash, pindex, GetTimeMicros(), nQueuedValidatedHeaders, pindex != NULL}; + int64_t nNow = GetTimeMicros(); + QueuedBlock newentry = {hash, pindex, nNow, pindex != NULL, GetBlockTimeout(nNow, nQueuedValidatedHeaders)}; nQueuedValidatedHeaders += newentry.fValidatedHeaders; list<QueuedBlock>::iterator it = state->vBlocksInFlight.insert(state->vBlocksInFlight.end(), newentry); state->nBlocksInFlight++; + state->nBlocksInFlightValidHeaders += newentry.fValidatedHeaders; mapBlocksInFlight[hash] = std::make_pair(nodeid, it); } @@ -1685,6 +1697,64 @@ void ThreadScriptCheck() { scriptcheckqueue.Thread(); } +// +// Called periodically asynchronously; alerts if it smells like +// we're being fed a bad chain (blocks being generated much +// too slowly or too quickly). +// +void PartitionCheck(bool (*initialDownloadCheck)(), CCriticalSection& cs, const CChain& chain, int64_t nPowTargetSpacing) +{ + if (initialDownloadCheck()) return; + + static int64_t lastAlertTime = 0; + int64_t now = GetAdjustedTime(); + if (lastAlertTime > now-60*60*24) return; // Alert at most once per day + + const int SPAN_HOURS=4; + const int SPAN_SECONDS=SPAN_HOURS*60*60; + int BLOCKS_EXPECTED = SPAN_SECONDS / nPowTargetSpacing; + + boost::math::poisson_distribution<double> poisson(BLOCKS_EXPECTED); + + std::string strWarning; + int64_t startTime = GetAdjustedTime()-SPAN_SECONDS; + + LOCK(cs); + int h = chain.Height(); + while (h > 0 && chain[h]->GetBlockTime() >= startTime) + --h; + int nBlocks = chain.Height()-h; + + // How likely is it to find that many by chance? + double p = boost::math::pdf(poisson, nBlocks); + + LogPrint("partitioncheck", "%s : Found %d blocks in the last %d hours\n", __func__, nBlocks, SPAN_HOURS); + LogPrint("partitioncheck", "%s : likelihood: %g\n", __func__, p); + + // Aim for one false-positive about every fifty years of normal running: + const int FIFTY_YEARS = 50*365*24*60*60; + double alertThreshold = 1.0 / (FIFTY_YEARS / SPAN_SECONDS); + + if (p <= alertThreshold && nBlocks < BLOCKS_EXPECTED) + { + // Many fewer blocks than expected: alert! + strWarning = strprintf(_("WARNING: check your network connection, %d blocks received in the last %d hours (%d expected)"), + nBlocks, SPAN_HOURS, BLOCKS_EXPECTED); + } + else if (p <= alertThreshold && nBlocks > BLOCKS_EXPECTED) + { + // Many more blocks than expected: alert! + strWarning = strprintf(_("WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)"), + nBlocks, SPAN_HOURS, BLOCKS_EXPECTED); + } + if (!strWarning.empty()) + { + strMiscWarning = strWarning; + CAlert::Notify(strWarning, true); + lastAlertTime = now; + } +} + static int64_t nTimeVerify = 0; static int64_t nTimeConnect = 0; static int64_t nTimeIndex = 0; @@ -4956,9 +5026,22 @@ bool SendMessages(CNode* pto, bool fSendTrickle) // timeout. We compensate for in-flight blocks to prevent killing off peers due to our own downstream link // being saturated. We only count validated in-flight blocks so peers can't advertise non-existing block hashes // to unreasonably increase our timeout. - if (!pto->fDisconnect && state.vBlocksInFlight.size() > 0 && state.vBlocksInFlight.front().nTime < nNow - 500000 * consensusParams.nPowTargetSpacing * (4 + state.vBlocksInFlight.front().nValidatedQueuedBefore)) { - LogPrintf("Timeout downloading block %s from peer=%d, disconnecting\n", state.vBlocksInFlight.front().hash.ToString(), pto->id); - pto->fDisconnect = true; + // We also compare the block download timeout originally calculated against the time at which we'd disconnect + // if we assumed the block were being requested now (ignoring blocks we've requested from this peer, since we're + // only looking at this peer's oldest request). This way a large queue in the past doesn't result in a + // permanently large window for this block to be delivered (ie if the number of blocks in flight is decreasing + // more quickly than once every 5 minutes, then we'll shorten the download window for this block). + if (!pto->fDisconnect && state.vBlocksInFlight.size() > 0) { + QueuedBlock &queuedBlock = state.vBlocksInFlight.front(); + int64_t nTimeoutIfRequestedNow = GetBlockTimeout(nNow, nQueuedValidatedHeaders - state.nBlocksInFlightValidHeaders); + if (queuedBlock.nTimeDisconnect > nTimeoutIfRequestedNow) { + LogPrint("net", "Reducing block download timeout for peer=%d block=%s, orig=%d new=%d\n", pto->id, queuedBlock.hash.ToString(), queuedBlock.nTimeDisconnect, nTimeoutIfRequestedNow); + queuedBlock.nTimeDisconnect = nTimeoutIfRequestedNow; + } + if (queuedBlock.nTimeDisconnect < nNow) { + LogPrintf("Timeout downloading block %s from peer=%d, disconnecting\n", queuedBlock.hash.ToString(), pto->id); + pto->fDisconnect = true; + } } // diff --git a/src/main.h b/src/main.h index 07a709b75c..6c380b104d 100644 --- a/src/main.h +++ b/src/main.h @@ -194,6 +194,8 @@ bool ProcessMessages(CNode* pfrom); bool SendMessages(CNode* pto, bool fSendTrickle); /** Run an instance of the script checking thread */ void ThreadScriptCheck(); +/** Try to detect Partition (network isolation) attacks against us */ +void PartitionCheck(bool (*initialDownloadCheck)(), CCriticalSection& cs, const CChain& chain, int64_t nPowTargetSpacing); /** Check whether we are doing an initial block download (synchronizing from disk or network) */ bool IsInitialBlockDownload(); /** Format a string that describes several potential problems detected by the core */ diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts index a2e4c376b8..235b22cd1f 100644 --- a/src/qt/locale/bitcoin_ar.ts +++ b/src/qt/locale/bitcoin_ar.ts @@ -765,11 +765,7 @@ <source>Your current total balance</source> <translation>رصيدك الكلي الحالي</translation> </message> - <message> - <source>out of sync</source> - <translation>خارج المزامنه</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> </context> diff --git a/src/qt/locale/bitcoin_be_BY.ts b/src/qt/locale/bitcoin_be_BY.ts index 6db3f58061..b727b75566 100644 --- a/src/qt/locale/bitcoin_be_BY.ts +++ b/src/qt/locale/bitcoin_be_BY.ts @@ -102,7 +102,7 @@ <name>AddressTableModel</name> <message> <source>Label</source> - <translation>Пазнака</translation> + <translation>Метка</translation> </message> <message> <source>Address</source> @@ -383,6 +383,10 @@ <translation>Дапамога</translation> </message> <message> + <source>Bitcoin Core</source> + <translation>Bitcoin Core</translation> + </message> + <message> <source>Request payments (generates QR codes and bitcoin: URIs)</source> <translation>Запатрабаваць плацёж (генеруецца QR-код для біткойн URI)</translation> </message> @@ -403,9 +407,17 @@ <translation>Паказаць спіс адрасоў і метак для прымання</translation> </message> <message> + <source>Open a bitcoin: URI or payment request</source> + <translation>Адкрыць біткойн: URI ці запыт плацяжу</translation> + </message> + <message> <source>&Command-line options</source> <translation>Опцыі каманднага радка</translation> </message> + <message> + <source>Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options</source> + <translation>Паказваць даведку Bitcoin Core каб атрымаць спіс магчымых опцый каманднага радка</translation> + </message> <message numerus="yes"> <source>%n active connection(s) to Bitcoin network</source> <translation><numerusform>%n актыўнае злучэнне з сецівам Bitcoin</numerusform><numerusform>%n актыўных злучэнняў з сецівам Bitcoin</numerusform><numerusform>%n актыўных злучэнняў з сецівам Bitcoin</numerusform><numerusform>%n актыўных злучэнняў з сецівам Bitcoin</numerusform></translation> @@ -430,6 +442,10 @@ <source>%n week(s)</source> <translation><numerusform>%n тыдзень</numerusform><numerusform>%n тыдні</numerusform><numerusform>%n тыдняў</numerusform><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><numerusform>%n гады</numerusform><numerusform>%n гадоў</numerusform><numerusform>%n гадоў</numerusform></translation> @@ -523,6 +539,10 @@ <context> <name>CoinControlDialog</name> <message> + <source>Quantity:</source> + <translation>Колькасць:</translation> + </message> + <message> <source>Bytes:</source> <translation>Байтаў:</translation> </message> @@ -547,6 +567,10 @@ <translation>Пасля камісіі:</translation> </message> <message> + <source>(un)select all</source> + <translation>(не)выбраць ўсё</translation> + </message> + <message> <source>Tree mode</source> <translation>Рэжым дрэва</translation> </message> @@ -559,6 +583,14 @@ <translation>Колькасць</translation> </message> <message> + <source>Received with label</source> + <translation>Прыняць праз метку</translation> + </message> + <message> + <source>Received with address</source> + <translation>Прыняць праз адрас</translation> + </message> + <message> <source>Date</source> <translation>Дата</translation> </message> @@ -591,6 +623,38 @@ <translation>Капіяваць ID транзакцыі</translation> </message> <message> + <source>Lock unspent</source> + <translation>Замкнуць непатрачанае</translation> + </message> + <message> + <source>Unlock unspent</source> + <translation>Адамкнуць непатрачанае</translation> + </message> + <message> + <source>Copy quantity</source> + <translation>Капіяваць колькасць</translation> + </message> + <message> + <source>Copy fee</source> + <translation>Капіяваць камісію</translation> + </message> + <message> + <source>Copy after fee</source> + <translation>Капіяваць з выняткам камісіі</translation> + </message> + <message> + <source>Copy bytes</source> + <translation>Капіяваць байты</translation> + </message> + <message> + <source>Copy priority</source> + <translation>Капіяваць прыярытэт</translation> + </message> + <message> + <source>Copy dust</source> + <translation>Капіяваць пыл</translation> + </message> + <message> <source>highest</source> <translation>найвышэйшы</translation> </message> @@ -635,6 +699,14 @@ <translation>не</translation> </message> <message> + <source>This means a fee of at least %1 per kB is required.</source> + <translation>Гэта значыць патрэбную камісію мінімум %1 на Кб.</translation> + </message> + <message> + <source>Transactions with higher priority are more likely to get included into a block.</source> + <translation>Транзакцыя большага прыярытэту больш прываблівая для ўключэння ў блок.</translation> + </message> + <message> <source>(no label)</source> <translation>непазначаны</translation> </message> @@ -647,7 +719,7 @@ </message> <message> <source>&Label</source> - <translation>Пазнака</translation> + <translation>Метка</translation> </message> <message> <source>&Address</source> @@ -684,10 +756,26 @@ </context> <context> <name>FreespaceChecker</name> + <message> + <source>A new data directory will be created.</source> + <translation>Будзе створаны новы каталог з данымі.</translation> + </message> + <message> + <source>name</source> + <translation>імя</translation> + </message> + <message> + <source>Directory already exists. Add %1 if you intend to create a new directory here.</source> + <translation>Каталог ужо існуе. Дадайце %1 калі вы збіраецеся стварыць тут новы каталог.</translation> + </message> </context> <context> <name>HelpMessageDialog</name> <message> + <source>Bitcoin Core</source> + <translation>Bitcoin Core</translation> + </message> + <message> <source>(%1-bit)</source> <translation>(%1-біт)</translation> </message> @@ -719,6 +807,10 @@ <translation>Вітаем у Bitcoin Core.</translation> </message> <message> + <source>Bitcoin Core</source> + <translation>Bitcoin Core</translation> + </message> + <message> <source>Error</source> <translation>Памылка</translation> </message> @@ -779,7 +871,7 @@ <name>ReceiveCoinsDialog</name> <message> <source>&Label:</source> - <translation>Пазнака:</translation> + <translation>Метка:</translation> </message> <message> <source>Copy label</source> @@ -802,7 +894,7 @@ </message> <message> <source>Label</source> - <translation>Пазнака</translation> + <translation>Метка</translation> </message> <message> <source>Message</source> @@ -817,7 +909,7 @@ </message> <message> <source>Label</source> - <translation>Пазнака</translation> + <translation>Метка</translation> </message> <message> <source>Message</source> @@ -839,6 +931,10 @@ <translation>Даслаць Манеты</translation> </message> <message> + <source>Quantity:</source> + <translation>Колькасць:</translation> + </message> + <message> <source>Bytes:</source> <translation>Байтаў:</translation> </message> @@ -879,10 +975,30 @@ <translation>Пацвердзіць дасыланне манет</translation> </message> <message> + <source>Copy quantity</source> + <translation>Капіяваць колькасць</translation> + </message> + <message> <source>Copy amount</source> <translation>Капіяваць колькасць</translation> </message> <message> + <source>Copy fee</source> + <translation>Капіяваць камісію</translation> + </message> + <message> + <source>Copy after fee</source> + <translation>Капіяваць з выняткам камісіі</translation> + </message> + <message> + <source>Copy bytes</source> + <translation>Капіяваць байты</translation> + </message> + <message> + <source>Copy priority</source> + <translation>Капіяваць прыярытэт</translation> + </message> + <message> <source>The amount to pay must be larger than 0.</source> <translation>Велічыня плацяжу мае быць больш за 0.</translation> </message> @@ -890,6 +1006,10 @@ <source>(no label)</source> <translation>непазначаны</translation> </message> + <message> + <source>Copy dust</source> + <translation>Капіяваць пыл</translation> + </message> </context> <context> <name>SendCoinsEntry</name> @@ -907,7 +1027,7 @@ </message> <message> <source>&Label:</source> - <translation>Пазнака:</translation> + <translation>Метка:</translation> </message> <message> <source>Alt+A</source> @@ -947,6 +1067,10 @@ <context> <name>SplashScreen</name> <message> + <source>Bitcoin Core</source> + <translation>Bitcoin Core</translation> + </message> + <message> <source>The Bitcoin Core developers</source> <translation>Распрацоўнікі Bitcoin Core</translation> </message> @@ -1044,7 +1168,7 @@ </message> <message> <source>Label</source> - <translation>Пазнака</translation> + <translation>Метка</translation> </message> <message> <source>Received with</source> @@ -1187,7 +1311,7 @@ </message> <message> <source>Label</source> - <translation>Пазнака</translation> + <translation>Метка</translation> </message> <message> <source>Address</source> diff --git a/src/qt/locale/bitcoin_bg.ts b/src/qt/locale/bitcoin_bg.ts index 2ef1c7160f..c86fdd42dd 100644 --- a/src/qt/locale/bitcoin_bg.ts +++ b/src/qt/locale/bitcoin_bg.ts @@ -1009,11 +1009,7 @@ <source>Recent transactions</source> <translation>Скорошни транзакции</translation> </message> - <message> - <source>out of sync</source> - <translation>несинхронизиран</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_ca.ts b/src/qt/locale/bitcoin_ca.ts index 37d1dfc9eb..f7d97eb061 100644 --- a/src/qt/locale/bitcoin_ca.ts +++ b/src/qt/locale/bitcoin_ca.ts @@ -1137,10 +1137,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Balanç total actual en adreces de només lectura</translation> </message> - <message> - <source>out of sync</source> - <translation>Fora de sincronia</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_ca@valencia.ts b/src/qt/locale/bitcoin_ca@valencia.ts index 0a52b1bc9a..c68cfb686a 100644 --- a/src/qt/locale/bitcoin_ca@valencia.ts +++ b/src/qt/locale/bitcoin_ca@valencia.ts @@ -1073,10 +1073,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Balanç total actual en adreces de només lectura</translation> </message> - <message> - <source>out of sync</source> - <translation>Fora de sincronia</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_ca_ES.ts b/src/qt/locale/bitcoin_ca_ES.ts index 3baa6e00cd..cd6aa96d34 100644 --- a/src/qt/locale/bitcoin_ca_ES.ts +++ b/src/qt/locale/bitcoin_ca_ES.ts @@ -1137,10 +1137,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Balanç total actual en adreces de només lectura</translation> </message> - <message> - <source>out of sync</source> - <translation>Fora de sincronia</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts index b4d9ca146d..47464b7a53 100644 --- a/src/qt/locale/bitcoin_cs.ts +++ b/src/qt/locale/bitcoin_cs.ts @@ -1137,10 +1137,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Aktuální stav účtu sledovaných adres</translation> </message> - <message> - <source>out of sync</source> - <translation>nesynchronizováno</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts index 6979124615..1467791047 100644 --- a/src/qt/locale/bitcoin_da.ts +++ b/src/qt/locale/bitcoin_da.ts @@ -1211,10 +1211,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Nuværende totalsaldo på kigge-adresser</translation> </message> - <message> - <source>out of sync</source> - <translation>ikke synkroniseret</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -2922,7 +2918,7 @@ </message> <message> <source>Do you want to rebuild the block database now?</source> - <translation>Ønsker du at genbygge blokdatabasen nu?</translation> + <translation>Ønsker du at genopbygge blokdatabasen nu?</translation> </message> <message> <source>Error initializing block database</source> @@ -3162,7 +3158,7 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </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>Du er nødt til at genbygge databasen ved hjælp af -reindex for at gå tilbage til ikke-beskåret tilstand. Dette vil downloade hele blokkæden igen</translation> + <translation>Du er nødt til at genopbygge databasen ved hjælp af -reindex for at gå tilbage til ikke-beskåret tilstand. Dette vil downloade hele blokkæden igen</translation> </message> <message> <source>(default: %u)</source> @@ -3281,6 +3277,10 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Slør tilfældigt 1 ud af hver <n> netværksbeskeder</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Genopbyg blokkædeindeks fra nuværende blk000??.dat-filer ved opstart</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Send sporings-/fejlsøgningsinformation til konsollen i stedet for debug.log filen</translation> </message> diff --git a/src/qt/locale/bitcoin_de.ts b/src/qt/locale/bitcoin_de.ts index 263852fad2..ab0367dbab 100644 --- a/src/qt/locale/bitcoin_de.ts +++ b/src/qt/locale/bitcoin_de.ts @@ -1215,10 +1215,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Aktueller Gesamtbetrag in beobachteten Adressen aus obigen Kategorien</translation> </message> - <message> - <source>out of sync</source> - <translation>nicht synchron</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -2164,6 +2160,10 @@ <translation>Nachricht &signieren</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>Sie können Nachrichten/Vereinbarungen mit Hilfe Ihrer Adressen signieren, um zu beweisen, dass Sie Bitcoins empfangen können, die an diese Adressen überwiesen werden. Seien Sie vorsichtig und signieren Sie nichts Vages oder Willkürliches, um Ihre Indentität vor Phishingangriffen zu schützen. Signieren Sie nur vollständig-detaillierte Aussagen, mit denen Sie auch einverstanden sind.</translation> + </message> + <message> <source>The Bitcoin address to sign the message with</source> <translation>Die Bitcoin-Adresse mit der die Nachricht signiert wird</translation> </message> @@ -2216,6 +2216,10 @@ <translation>Nachricht &verifizieren</translation> </message> <message> + <source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source> + <translation>Geben Sie die Zahlungsadresse des Empfängers, Nachricht (achten Sie darauf Zeilenumbrüche, Leerzeichen, Tabulatoren usw. exakt zu kopieren) und Signatur unten ein, um die Nachricht zu verifizieren. Vorsicht, interpretieren Sie nicht mehr in die Signatur hinein, als in der signierten Nachricht selber enthalten ist, um nicht von einem Man-in-the-middle-Angriff hinters Licht geführt zu werden. Beachten Sie dass dies nur beweißt, dass die signierende Partei über diese Adresse Überweisungen empfangen kann.</translation> + </message> + <message> <source>The Bitcoin address the message was signed with</source> <translation>Die Bitcoin-Adresse mit der die Nachricht signiert wurde</translation> </message> @@ -2841,6 +2845,10 @@ <translation>Maximale Gesamtgebühren je Wallet-Transaktion, ein zu niedriger Wert kann große Transaktionen abbrechen (Standard: %s)</translation> </message> <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. 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>Speicherplatzanforderung durch kürzen (löschen) alter Blöcke reduzieren. Dieser Modus deaktiviert die Wallet-Unterstützung und ist nicht mit -txindex kompatibel. Warnung: Die Umkehr dieser Einstellung erfordert das erneute Herunterladen der gesamten Blockkette. (Standard: 0 = deaktiviert das Kürzen von Blöcken, >%u = Zielgröße in MiB, die für Blockdateien verwendet werden darf)</translation> + </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>Maximale Anzahl an Skript-Verifizierungs-Threads festlegen (%u bis %d, 0 = automatisch, <0 = so viele Kerne frei lassen, Standard: %d)</translation> </message> @@ -2969,6 +2977,14 @@ <translation>Nur zu Knoten des Netzwerktyps <net> verbinden (ipv4, ipv6 oder onion)</translation> </message> <message> + <source>Prune cannot be configured with a negative value.</source> + <translation>Kürzungsmodus kann nicht mit einem negativen Wert konfiguriert werden.</translation> + </message> + <message> + <source>Prune mode is incompatible with -txindex.</source> + <translation>Kürzungsmodus ist nicht mit -txindex kompatibel.</translation> + </message> + <message> <source>Set database cache size in megabytes (%d to %d, default: %d)</source> <translation>Größe des Datenbankcaches in Megabyte festlegen (%d bis %d, Standard: %d)</translation> </message> @@ -3077,6 +3093,10 @@ <translation>Maximale Datengröße in "Data Carrier"-Transaktionen die weitergeleitet und erarbeitet werden (Standard: %u)</translation> </message> <message> + <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> + <translation>Kürzungsmodus wurde kleiner als das Minimum in Höhe von %d MiB konfiguriert. Bitte verwenden Sie einen größeren Wert.</translation> + </message> + <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Adressen von Gegenstellen via DNS-Namensauflösung finden, falls zu wenige Adressen verfügbar sind (Standard: 1, außer bei -connect)</translation> </message> @@ -3141,6 +3161,10 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Erlaubte Gegenstellen werden nicht für DoS-Attacken gesperrt und ihre Transkationen werden immer weitergeleitet, auch wenn sie sich bereits im Speicherpool befinden, was z.B. für Gateways sinnvoll ist.</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>Sie müssen die Datenbank mit Hilfe von -reindex neu aufbauen, um zum ungekürzten Modus zurückzukehren. Dies erfordert, dass die gesamte Blockkette erneut heruntergeladen wird.</translation> + </message> + <message> <source>(default: %u)</source> <translation>(Standard: %u)</translation> </message> @@ -3157,6 +3181,10 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Selbstunterschriebene Stammzertifikate erlauben (Standard: 0)</translation> </message> <message> + <source>Can't run with a wallet in prune mode.</source> + <translation>Eine Wallet kann im Kürzungsmodus nicht verwendet werden.</translation> + </message> + <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Kann Adresse in -whitebind nicht auflösen: '%s'</translation> </message> @@ -3253,6 +3281,10 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Zufällig eine von <n> Netzwerknachrichten verwürfeln</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Blockkettenindex aus aktuellen Dateien blk000??.dat beim Starten wiederaufbauen</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Rückverfolgungs- und Debuginformationen an die Konsole senden, anstatt sie in debug.log zu schreiben</translation> </message> diff --git a/src/qt/locale/bitcoin_el_GR.ts b/src/qt/locale/bitcoin_el_GR.ts index 5cabe43032..a4c95857ba 100644 --- a/src/qt/locale/bitcoin_el_GR.ts +++ b/src/qt/locale/bitcoin_el_GR.ts @@ -2,6 +2,10 @@ <context> <name>AddressBookPage</name> <message> + <source>Right-click to edit address or label</source> + <translation>Δεξί-κλικ για επεξεργασία της διεύθυνσης ή της ετικέτας</translation> + </message> + <message> <source>Create a new address</source> <translation>Δημιουργία νέας διεύθυνσης</translation> </message> @@ -881,10 +885,18 @@ <translation>Διεύθυνση IP του διαμεσολαβητή (π.χ. 127.0.0.1 / IPv6: ::1)</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>URLs από τρίτους (π.χ. ένας εξερευνητής μπλοκ) τα οποία εμφανίζονται στην καρτέλα συναλλαγών ως στοιχεία μενού. Το %s στα URL αντικαθιστάται από την τιμή της κατατεμαχισμένης συναλλαγής.</translation> + </message> + <message> <source>Third party transaction URLs</source> <translation>Διευθύνσεις τρίτων συναλλαγών.</translation> </message> <message> + <source>Active command-line options that override above options:</source> + <translation>Ενεργές επιλογές γραμμής-εντολών που παρακάμπτουν τις παραπάνω επιλογές:</translation> + </message> + <message> <source>Reset all client options to default.</source> <translation>Επαναφορα όλων των επιλογων του πελάτη σε default.</translation> </message> @@ -897,6 +909,10 @@ <translation>&Δίκτυο</translation> </message> <message> + <source>(0 = auto, <0 = leave that many cores free)</source> + <translation>(0 = αυτόματο, <0 = ελεύθεροι πυρήνες)</translation> + </message> + <message> <source>W&allet</source> <translation>Π&ορτοφόλι</translation> </message> @@ -909,6 +925,14 @@ <translation>Επιλογή κατα πόσο να αναδείχνονται οι δυνατότητες ελέγχου κερμάτων.</translation> </message> <message> + <source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source> + <translation>Εάν απενεργοποιήσετε το ξόδεμα μη επικυρωμένων ρέστων, τα ρέστα από μια συναλλαγή δεν μπορούν να χρησιμοποιηθούν έως ότου αυτή η συναλλαγή έχει έστω μια επικύρωση. Αυτό επίσης επηρεάζει το πως υπολογίζεται το υπόλοιπό σας.</translation> + </message> + <message> + <source>&Spend unconfirmed change</source> + <translation>&Ξόδεμα μη επικυρωμένων ρέστων</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>Αυτόματο άνοιγμα των θυρών Bitcoin στον δρομολογητή. Λειτουργεί μόνο αν ο δρομολογητής σας υποστηρίζει τη λειτουργία UPnP.</translation> </message> @@ -1057,6 +1081,10 @@ <translation>Το τρέχον συνολικό υπόλοιπο</translation> </message> <message> + <source>Your current balance in watch-only addresses</source> + <translation>Το τρέχον υπόλοιπο σας σε διευθύνσεις παρακολούθησης μόνο</translation> + </message> + <message> <source>Spendable:</source> <translation>Ξοδεμένα:</translation> </message> @@ -1065,8 +1093,16 @@ <translation>Πρόσφατες συναλλαγές</translation> </message> <message> - <source>out of sync</source> - <translation>εκτός συγχρονισμού</translation> + <source>Unconfirmed transactions to watch-only addresses</source> + <translation>Μη επικυρωμένες συναλλαγές σε διευθύνσεις παρακολούθησης μόνο</translation> + </message> + <message> + <source>Mined balance in watch-only addresses that has not yet matured</source> + <translation>Εξορυγμένο υπόλοιπο σε διευθύνσεις παρακολούθησης μόνο που δεν έχει ωριμάσει ακόμα</translation> + </message> + <message> + <source>Current total balance in watch-only addresses</source> + <translation>Το τρέχον συνολικό υπόλοιπο σε διευθύνσεις παρακολούθησης μόνο</translation> </message> </context> <context> @@ -1088,6 +1124,10 @@ <translation>Η αίτηση πληρωμής δεν έχει αρχίζει ακόμα.</translation> </message> <message> + <source>Requested payment amount of %1 is too small (considered dust).</source> + <translation>Το ζητούμενο ποσό πληρωμής του %1 είναι πολύ μικρό (θεωρείται σκόνη)</translation> + </message> + <message> <source>Payment request error</source> <translation>Σφάλμα αιτήματος πληρωμής</translation> </message> @@ -1108,6 +1148,18 @@ <translation>Επιστροφή ποσού από %1</translation> </message> <message> + <source>Error communicating with %1: %2</source> + <translation>Σφάλμα επικοινωνίας με %1: %2</translation> + </message> + <message> + <source>Payment request cannot be parsed!</source> + <translation>Η αίτηση πληρωμής δεν μπορεί να αναλυθεί!</translation> + </message> + <message> + <source>Bad response from server %1</source> + <translation>Κακή απάντηση από διακομιστή %1</translation> + </message> + <message> <source>Payment acknowledged</source> <translation>Πληρωμή αναγνωρίστηκε</translation> </message> @@ -1212,6 +1264,10 @@ <translation>Χρησιμοποιηση της OpenSSL εκδοσης</translation> </message> <message> + <source>Using BerkeleyDB version</source> + <translation>Χρήση BerkeleyDB έκδοσης</translation> + </message> + <message> <source>Startup time</source> <translation>Χρόνος εκκίνησης</translation> </message> @@ -1240,6 +1296,18 @@ <translation>Παραλήφθησαν</translation> </message> <message> + <source>Sent</source> + <translation>Αποστολή</translation> + </message> + <message> + <source>&Peers</source> + <translation>&Χρήστες</translation> + </message> + <message> + <source>Select a peer to view detailed information.</source> + <translation>Επιλέξτε ένα χρήστη για να δείτε αναλυτικές πληροφορίες.</translation> + </message> + <message> <source>Version</source> <translation>Έκδοση</translation> </message> @@ -1248,6 +1316,38 @@ <translation>Υπηρεσίες</translation> </message> <message> + <source>Starting Height</source> + <translation>Αρχικό ύψος</translation> + </message> + <message> + <source>Sync Height</source> + <translation>Ύψος συγχονισμού</translation> + </message> + <message> + <source>Ban Score</source> + <translation>Σκορ αποκλησμού</translation> + </message> + <message> + <source>Connection Time</source> + <translation>Χρόνος σύνδεσης</translation> + </message> + <message> + <source>Last Send</source> + <translation>Τελευταία αποστολή</translation> + </message> + <message> + <source>Last Receive</source> + <translation>Τελευταία λήψη</translation> + </message> + <message> + <source>Bytes Sent</source> + <translation>Σταλθέντα bytes</translation> + </message> + <message> + <source>Bytes Received</source> + <translation>Ληφθέντα bytes</translation> + </message> + <message> <source>Ping Time</source> <translation>Χρόνος καθυστέρησης</translation> </message> @@ -1339,7 +1439,11 @@ <source>Unknown</source> <translation>Άγνωστο(α)</translation> </message> - </context> + <message> + <source>Fetching...</source> + <translation>Ανάκτηση...</translation> + </message> +</context> <context> <name>ReceiveCoinsDialog</name> <message> @@ -1355,6 +1459,10 @@ <translation>&Μήνυμα:</translation> </message> <message> + <source>R&euse an existing receiving address (not recommended)</source> + <translation>Ε&παναχρησιμοποίηση υπάρχουσας διεύθυνσης λήψης (δεν συνιστάται)</translation> + </message> + <message> <source>Clear all fields of the form.</source> <translation>Καθαρισμός όλων των πεδίων της φόρμας.</translation> </message> @@ -1371,6 +1479,10 @@ <translation>Εμφάνιση</translation> </message> <message> + <source>Remove the selected entries from the list</source> + <translation>Αφαίρεση επιλεγμένων καταχωρίσεων από τη λίστα</translation> + </message> + <message> <source>Remove</source> <translation>Αφαίρεση</translation> </message> @@ -1398,10 +1510,18 @@ <translation>Αντιγραφη της επιλεγμενης διεύθυνσης στο πρόχειρο του συστηματος</translation> </message> <message> + <source>Copy &Address</source> + <translation>Αντιγραφή &Διεύθυνσης</translation> + </message> + <message> <source>&Save Image...</source> <translation>&Αποθήκευση εικόνας...</translation> </message> <message> + <source>Request payment to %1</source> + <translation>Αίτηση πληρωμής για %1</translation> + </message> + <message> <source>Payment information</source> <translation>Πληροφορίες πληρωμής</translation> </message> @@ -1476,6 +1596,10 @@ <translation>Χαρακτηρηστικά επιλογής κερμάτων</translation> </message> <message> + <source>Inputs...</source> + <translation>Εισροές...</translation> + </message> + <message> <source>automatically selected</source> <translation>επιλεγμένο αυτόματα</translation> </message> @@ -1512,6 +1636,14 @@ <translation>Ρέστα:</translation> </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>Όταν ενεργό, αλλά η διεύθυνση ρέστων είναι κενή ή άκυρη, τα ρέστα θα σταλούν σε μία πρόσφατα δημιουργημένη διεύθυνση.</translation> + </message> + <message> + <source>Custom change address</source> + <translation>Προσαρμοσμένη διεύθυνση ρέστων</translation> + </message> + <message> <source>Transaction Fee:</source> <translation>Τέλος συναλλαγής:</translation> </message> @@ -1520,10 +1652,34 @@ <translation>Επιλογή...</translation> </message> <message> + <source>per kilobyte</source> + <translation>ανά kilobyte</translation> + </message> + <message> + <source>Recommended:</source> + <translation>Προτεινόμενο: </translation> + </message> + <message> + <source>Custom:</source> + <translation>Προσαρμογή:</translation> + </message> + <message> + <source>Confirmation time:</source> + <translation>Χρόνος επικύρωσης:</translation> + </message> + <message> + <source>normal</source> + <translation>κανονικό</translation> + </message> + <message> <source>fast</source> <translation>Γρήγορο</translation> </message> <message> + <source>(confirmation may take longer)</source> + <translation>(η επικύρωση ίσως χρειαστεί περισσότερο χρόνο)</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Αποστολή σε πολλούς αποδέκτες ταυτόχρονα</translation> </message> @@ -1659,6 +1815,14 @@ <translation>Επιλογή διεύθυνσης που έχει ήδη χρησιμοποιηθεί</translation> </message> <message> + <source>This is a normal payment.</source> + <translation>Αυτή είναι μια απλή πληρωμή.</translation> + </message> + <message> + <source>The Bitcoin address to send the payment to</source> + <translation>Η διεύθυνση Bitcoin που θα σταλεί η πληρωμή</translation> + </message> + <message> <source>Alt+A</source> <translation>Alt+A</translation> </message> @@ -1679,6 +1843,10 @@ <translation>Μήνυμα:</translation> </message> <message> + <source>Enter a label for this address to add it to the list of used addresses</source> + <translation>Εισάγεται μία ετικέτα για αυτή την διεύθυνση για να προστεθεί στη λίστα με τις χρησιμοποιημένες διευθύνσεις</translation> + </message> + <message> <source>Pay To:</source> <translation>Πληρωμή σε:</translation> </message> @@ -2191,6 +2359,10 @@ <translation>Επιτυχής εξαγωγή</translation> </message> <message> + <source>The transaction history was successfully saved to %1.</source> + <translation>Το ιστορικό συναλλαγών αποθηκεύτηκε επιτυχώς στο %1.</translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Αρχείο οριοθετημένο με κόμματα (*.csv)</translation> </message> @@ -2229,7 +2401,11 @@ </context> <context> <name>UnitDisplayStatusBarControl</name> - </context> + <message> + <source>Unit to show amounts in. Click to select another unit.</source> + <translation>Μονάδα μέτρησης προβολής ποσών. Κάντε κλικ για επιλογή άλλης μονάδας.</translation> + </message> +</context> <context> <name>WalletFrame</name> <message> @@ -2267,6 +2443,10 @@ <translation>Αποτυχία κατά τη δημιουργία αντιγράφου</translation> </message> <message> + <source>There was an error trying to save the wallet data to %1.</source> + <translation>Παρουσιάστηκε σφάλμα κατά την αποθήκευση των δεδομένων πορτοφολιού στο %1.</translation> + </message> + <message> <source>The wallet data was successfully saved to %1.</source> <translation>Τα δεδομένα πορτοφολιού αποθηκεύτηκαν με επιτυχία στο %1.</translation> </message> @@ -2314,6 +2494,10 @@ <translation>Αποθηκευση σε συγκεκριμένη διεύθυνση. Χρησιμοποιήστε τα πλήκτρα [Host] : συμβολισμός θύρα για IPv6</translation> </message> <message> + <source>Enter regression test mode, which uses a special chain in which blocks can be solved instantly.</source> + <translation>Εισαγωγή δοκιμαστικής λειτουργίας παλινδρόμησης, που χρησιμοποιεί μια ειδική αλυσίδα στην οποία τα μπλοκ επιλύονται στιγμιαία.</translation> + </message> + <message> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> <translation>Εκτέλεσε την εντολή όταν το καλύτερο μπλοκ αλλάξει(%s στην εντολή αντικαθίσταται από το hash του μπλοκ)</translation> </message> @@ -2402,10 +2586,18 @@ <translation>Δεν ειναι αρκετες περιγραφες αρχείων διαθέσιμες.</translation> </message> <message> + <source>Only connect to nodes in network <net> (ipv4, ipv6 or onion)</source> + <translation>Μόνο σύνδεση σε κόμβους του δικτύου <net> (ipv4, ipv6 ή onion)</translation> + </message> + <message> <source>Specify wallet file (within data directory)</source> <translation>Επιλέξτε αρχείο πορτοφολιού (μέσα απο κατάλογο δεδομένων)</translation> </message> <message> + <source>This is intended for regression testing tools and app development.</source> + <translation>Αυτό προορίζεται για εργαλεία δοκιμών παλινδρόμησης και την ανάπτυξη εφαρμογών.</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>Επαλήθευση των μπλοκ... </translation> </message> @@ -2414,6 +2606,10 @@ <translation>Επαλήθευση πορτοφολιου... </translation> </message> <message> + <source>Wallet %s resides outside data directory %s</source> + <translation>Το πορτοφόλι %s βρίσκεται έξω από το φάκελο δεδομένων %s</translation> + </message> + <message> <source>Wallet options:</source> <translation>Επιλογές πορτοφολιού:</translation> </message> @@ -2426,6 +2622,10 @@ <translation>Αδυναμία κλειδώματος του φακέλου δεδομένων %s. Πιθανώς το Bitcoin να είναι ήδη ενεργό.</translation> </message> <message> + <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Προειδοποίηση: Παρακαλώ ελέγξτε ότι η ημερομηνία και ώρα του υπολογιστή σας είναι σωστά ρυθμισμένες! Εάν το ρολόι σας είναι λάθος το Bitcoin Core δεν θα λειτουργήσει σωστά. </translation> + </message> + <message> <source>Choose data directory on startup (default: 0)</source> <translation>Επιλογή φακέλου δεδομένων στην εκκίνηση (προεπιλεγμένο: 0)</translation> </message> @@ -2442,6 +2642,10 @@ <translation>Σφάλμα φόρτωσης wallet.dat: Το Πορτοφόλι απαιτεί μια νεότερη έκδοση του Bitcoin</translation> </message> <message> + <source>Error reading from database, shutting down.</source> + <translation>Σφάλμα ανάγνωσης από τη βάση δεδομένων, γίνεται τερματισμός.</translation> + </message> + <message> <source>Error: Unsupported argument -tor found, use -onion.</source> <translation>Σφάλμα: Μη συμβατή παράμετρος -tor. Χρησιμοποιήσε την παράμετρο -onion</translation> </message> @@ -2450,6 +2654,10 @@ <translation>Πληροφορία</translation> </message> <message> + <source>Initialization sanity check failed. Bitcoin Core is shutting down.</source> + <translation>Η εκκίνηση ελέγχου ορθότητας απέτυχε. Γίνεται τερματισμός του Bitcoin Core.</translation> + </message> + <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> <translation>Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s'</translation> </message> @@ -2458,10 +2666,18 @@ <translation>Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s'</translation> </message> <message> + <source>Node relay options:</source> + <translation>Επιλογές αναμετάδοσης κόμβου: </translation> + </message> + <message> <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> <translation>Ρυθμίσεις SSL: (ανατρέξτε στο Bitcoin Wiki για οδηγίες ρυθμίσεων SSL)</translation> </message> <message> + <source>RPC server options:</source> + <translation>Επιλογές διακομιστή RPC:</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Αποστολή πληροφοριών εντοπισμού σφαλμάτων στην κονσόλα αντί του αρχείου debug.log</translation> </message> @@ -2474,6 +2690,10 @@ <translation>Όρισε γλώσσα, για παράδειγμα "de_DE"(προεπιλογή:τοπικές ρυθμίσεις)</translation> </message> <message> + <source>Show all debugging options (usage: --help -help-debug)</source> + <translation>Προβολή όλων των επιλογών εντοπισμού σφαλμάτων (χρήση: --help -help-debug)</translation> + </message> + <message> <source>Show splash screen on startup (default: 1)</source> <translation>Εμφάνισε την οθόνη εκκίνησης κατά την εκκίνηση(προεπιλογή:1)</translation> </message> diff --git a/src/qt/locale/bitcoin_eo.ts b/src/qt/locale/bitcoin_eo.ts index fbfac8fc10..007acbc495 100644 --- a/src/qt/locale/bitcoin_eo.ts +++ b/src/qt/locale/bitcoin_eo.ts @@ -949,11 +949,7 @@ <source>Your current total balance</source> <translation>via aktuala totala saldo</translation> </message> - <message> - <source>out of sync</source> - <translation>nesinkronigita</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts index 2e1b7dd278..17ec4dca5d 100644 --- a/src/qt/locale/bitcoin_es.ts +++ b/src/qt/locale/bitcoin_es.ts @@ -1175,10 +1175,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Saldo total en las direcciones watch-only</translation> </message> - <message> - <source>out of sync</source> - <translation>desincronizado</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts index c3690480d8..f50aa49110 100644 --- a/src/qt/locale/bitcoin_es_CL.ts +++ b/src/qt/locale/bitcoin_es_CL.ts @@ -582,11 +582,7 @@ <source>Total:</source> <translation>Total:</translation> </message> - <message> - <source>out of sync</source> - <translation>desincronizado</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_es_DO.ts b/src/qt/locale/bitcoin_es_DO.ts index c5b1e41886..d2cdf87a0e 100644 --- a/src/qt/locale/bitcoin_es_DO.ts +++ b/src/qt/locale/bitcoin_es_DO.ts @@ -953,11 +953,7 @@ <source>Your current total balance</source> <translation>Su balance actual total</translation> </message> - <message> - <source>out of sync</source> - <translation>desincronizado</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_et.ts b/src/qt/locale/bitcoin_et.ts index 4a502f1a54..29a45960c9 100644 --- a/src/qt/locale/bitcoin_et.ts +++ b/src/qt/locale/bitcoin_et.ts @@ -755,11 +755,7 @@ <source>Recent transactions</source> <translation>Hiljutised tehingud</translation> </message> - <message> - <source>out of sync</source> - <translation>sünkimata</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts index 25d437668f..33f43f0c2d 100644 --- a/src/qt/locale/bitcoin_fa.ts +++ b/src/qt/locale/bitcoin_fa.ts @@ -757,11 +757,7 @@ <source>Your current total balance</source> <translation>تراز کل فعلی شما</translation> </message> - <message> - <source>out of sync</source> - <translation>ناهمگام</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_fa_IR.ts b/src/qt/locale/bitcoin_fa_IR.ts index 2dde67d3d5..da95f10474 100644 --- a/src/qt/locale/bitcoin_fa_IR.ts +++ b/src/qt/locale/bitcoin_fa_IR.ts @@ -390,11 +390,7 @@ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source> <translation>اطلاعات نمایش داده شده ممکن است روزآمد نباشد. wallet شما به صورت خودکار بعد از برقراری اتصال با شبکه bitcoin به روز می شود اما این فرایند هنوز تکمیل نشده است.</translation> </message> - <message> - <source>out of sync</source> - <translation>خارج از روزآمد سازی</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> </context> diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts index 0ca66e8b26..db59ea1751 100644 --- a/src/qt/locale/bitcoin_fi.ts +++ b/src/qt/locale/bitcoin_fi.ts @@ -1137,10 +1137,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Nykyinen tase seurantaosoitetteissa</translation> </message> - <message> - <source>out of sync</source> - <translation>Ei ajan tasalla</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts index fe4288467b..67d920fd5e 100644 --- a/src/qt/locale/bitcoin_fr.ts +++ b/src/qt/locale/bitcoin_fr.ts @@ -1207,10 +1207,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Solde total actuel dans des adresses juste-regarder</translation> </message> - <message> - <source>out of sync</source> - <translation>désynchronisé</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -3273,6 +3269,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Tester aléatoirement 1 message du réseau sur <n></translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Reconstruire au démarrage l'index de la chaîne de blocs à partir des fichiers blk000??.dat actuels</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> diff --git a/src/qt/locale/bitcoin_gl.ts b/src/qt/locale/bitcoin_gl.ts index 93ece390d1..2473260c84 100644 --- a/src/qt/locale/bitcoin_gl.ts +++ b/src/qt/locale/bitcoin_gl.ts @@ -869,11 +869,7 @@ <source>Your current total balance</source> <translation>O teu balance actual total</translation> </message> - <message> - <source>out of sync</source> - <translation>non sincronizado</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_he.ts b/src/qt/locale/bitcoin_he.ts index 0a4b2f7847..66dd05fca7 100644 --- a/src/qt/locale/bitcoin_he.ts +++ b/src/qt/locale/bitcoin_he.ts @@ -1073,10 +1073,6 @@ <source>Current total balance in watch-only addresses</source> <translation>המאזן הכולל הנוכחי בכתובות לצפייה בלבד</translation> </message> - <message> - <source>out of sync</source> - <translation>לא בסנכרון</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_hu.ts b/src/qt/locale/bitcoin_hu.ts index 0d9a57d3b4..c84d2c4e87 100644 --- a/src/qt/locale/bitcoin_hu.ts +++ b/src/qt/locale/bitcoin_hu.ts @@ -1001,11 +1001,7 @@ <source>Recent transactions</source> <translation>A legutóbbi tranzakciók</translation> </message> - <message> - <source>out of sync</source> - <translation>Nincs szinkronban.</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_id_ID.ts b/src/qt/locale/bitcoin_id_ID.ts index 7bc7ed4607..dec30dafb3 100644 --- a/src/qt/locale/bitcoin_id_ID.ts +++ b/src/qt/locale/bitcoin_id_ID.ts @@ -1005,11 +1005,7 @@ <source>Your current total balance</source> <translation>Jumlah saldo Anda sekarang</translation> </message> - <message> - <source>out of sync</source> - <translation>tidak tersinkron</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts index 6b52362b8a..c81f458e39 100644 --- a/src/qt/locale/bitcoin_it.ts +++ b/src/qt/locale/bitcoin_it.ts @@ -1208,10 +1208,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <source>Current total balance in watch-only addresses</source> <translation>Saldo corrente totale negli indirizzi di sola lettura</translation> </message> - <message> - <source>out of sync</source> - <translation>non sincronizzato</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts index d46d748ef2..376d36bed0 100644 --- a/src/qt/locale/bitcoin_ja.ts +++ b/src/qt/locale/bitcoin_ja.ts @@ -1215,10 +1215,6 @@ <source>Current total balance in watch-only addresses</source> <translation>監視限定アドレス内の現在の全残高</translation> </message> - <message> - <source>out of sync</source> - <translation>同期していない</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -3286,6 +3282,10 @@ rpcpassword=%s <translation><n>個のネットワークメッセージごとにひとつをランダムに改変する</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>起動時に現在の blk000??.dat ファイルからブロック チェーンのインデックスを再構築</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>トレース/デバッグ情報を debug.log ファイルの代わりにコンソールへ送る</translation> </message> diff --git a/src/qt/locale/bitcoin_ka.ts b/src/qt/locale/bitcoin_ka.ts index 0b96a18d18..b9e118a620 100644 --- a/src/qt/locale/bitcoin_ka.ts +++ b/src/qt/locale/bitcoin_ka.ts @@ -981,11 +981,7 @@ <source>Your current total balance</source> <translation>თქვენი სრული მიმდინარე ბალანსი</translation> </message> - <message> - <source>out of sync</source> - <translation>არ არის სინქრონიზებული</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts index d9ce8ea1be..42eb9eedbb 100644 --- a/src/qt/locale/bitcoin_ko_KR.ts +++ b/src/qt/locale/bitcoin_ko_KR.ts @@ -1025,11 +1025,7 @@ <source>Your current balance in watch-only addresses</source> <translation>모니터링 지갑의 현재 잔액</translation> </message> - <message> - <source>out of sync</source> - <translation>동기화 필요</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_ky.ts b/src/qt/locale/bitcoin_ky.ts index 7d4511b57d..8edee19c70 100644 --- a/src/qt/locale/bitcoin_ky.ts +++ b/src/qt/locale/bitcoin_ky.ts @@ -149,11 +149,7 @@ </context> <context> <name>OverviewPage</name> - <message> - <source>out of sync</source> - <translation>синхрондоштурулган эмес</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> </context> diff --git a/src/qt/locale/bitcoin_la.ts b/src/qt/locale/bitcoin_la.ts index 8f03a20cf6..3e25cf95b6 100644 --- a/src/qt/locale/bitcoin_la.ts +++ b/src/qt/locale/bitcoin_la.ts @@ -601,11 +601,7 @@ <source>Mined balance that has not yet matured</source> <translation>Fossum pendendum quod nondum maturum est</translation> </message> - <message> - <source>out of sync</source> - <translation>non synchronizato</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts index b96afbbcc9..01fa94bab3 100644 --- a/src/qt/locale/bitcoin_lt.ts +++ b/src/qt/locale/bitcoin_lt.ts @@ -737,11 +737,7 @@ <source>Your current total balance</source> <translation>Jūsų balansas</translation> </message> - <message> - <source>out of sync</source> - <translation>nesinchronizuota</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_lv_LV.ts b/src/qt/locale/bitcoin_lv_LV.ts index a46ab83c6b..25f92b6642 100644 --- a/src/qt/locale/bitcoin_lv_LV.ts +++ b/src/qt/locale/bitcoin_lv_LV.ts @@ -933,11 +933,7 @@ <source>Your current total balance</source> <translation>Jūsu kopējā tekošā bilance</translation> </message> - <message> - <source>out of sync</source> - <translation>nav sinhronizēts</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts index eddc61e56a..6e2b4e9fcc 100644 --- a/src/qt/locale/bitcoin_nb.ts +++ b/src/qt/locale/bitcoin_nb.ts @@ -1215,10 +1215,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Nåværende totale balanse i kun observerbare adresser</translation> </message> - <message> - <source>out of sync</source> - <translation>ute av synk</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -3285,6 +3281,10 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Slumpvis bland 1 av hver <n> nettverksmeldinger</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Gjenopprett blokkjedeindeks fra gjeldende blk000??.dat filer ved oppstart</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Send spor-/feilsøkingsinformasjon til konsollen istedenfor filen debug.log</translation> </message> diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts index c953c35404..385972845a 100644 --- a/src/qt/locale/bitcoin_nl.ts +++ b/src/qt/locale/bitcoin_nl.ts @@ -1207,10 +1207,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Huidige balans in alleen-bekijkbare adressen.</translation> </message> - <message> - <source>out of sync</source> - <translation>niet gesynchroniseerd</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_pam.ts b/src/qt/locale/bitcoin_pam.ts index 503528f4a7..54c30dfb6f 100644 --- a/src/qt/locale/bitcoin_pam.ts +++ b/src/qt/locale/bitcoin_pam.ts @@ -593,11 +593,7 @@ <source>Your current total balance</source> <translation>Ing kekang kasalungsungan kabuuang balanse</translation> </message> - <message> - <source>out of sync</source> - <translation>ali ya maka-sync</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> </context> diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts index aece2bfa1e..db49e20cf1 100644 --- a/src/qt/locale/bitcoin_pl.ts +++ b/src/qt/locale/bitcoin_pl.ts @@ -1097,10 +1097,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Łączna kwota na podglądanych adresach</translation> </message> - <message> - <source>out of sync</source> - <translation>nie zsynchronizowany</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts index 89467bae43..42a781de99 100644 --- a/src/qt/locale/bitcoin_pt_BR.ts +++ b/src/qt/locale/bitcoin_pt_BR.ts @@ -63,7 +63,7 @@ </message> <message> <source>Receiving addresses</source> - <translation>Endereços para receber</translation> + <translation>Endereços de recebimento</translation> </message> <message> <source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source> @@ -224,7 +224,7 @@ <name>BitcoinGUI</name> <message> <source>Sign &message...</source> - <translation>&Assinar Mensagem...</translation> + <translation>&Assinar mensagem...</translation> </message> <message> <source>Synchronizing with network...</source> @@ -284,11 +284,11 @@ </message> <message> <source>&Sending addresses...</source> - <translation>Enviando endereço&s...</translation> + <translation>Endereço&s de envio...</translation> </message> <message> <source>&Receiving addresses...</source> - <translation>&Receber endereços...</translation> + <translation>Endereços de &Recebimento...</translation> </message> <message> <source>Open &URI...</source> @@ -380,7 +380,7 @@ </message> <message> <source>&Help</source> - <translation>&Ajuda</translation> + <translation>A&juda</translation> </message> <message> <source>Tabs toolbar</source> @@ -1211,10 +1211,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Balanço total em endereços monitorados</translation> </message> - <message> - <source>out of sync</source> - <translation>fora de sincronia</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -1392,7 +1388,7 @@ </message> <message> <source>Debug window</source> - <translation>Janela de debug</translation> + <translation>Janela de depuração</translation> </message> <message> <source>General</source> @@ -2125,7 +2121,7 @@ </message> <message> <source>&Sign Message</source> - <translation>&Assinar Mensagem</translation> + <translation>&Assinar mensagem</translation> </message> <message> <source>The Bitcoin address to sign the message with</source> @@ -2165,7 +2161,7 @@ </message> <message> <source>Sign &Message</source> - <translation>Assinar &Mensagem</translation> + <translation>Assinar &mensagem</translation> </message> <message> <source>Reset all sign message fields</source> @@ -2177,7 +2173,7 @@ </message> <message> <source>&Verify Message</source> - <translation>&Verificar Mensagem</translation> + <translation>&Verificar mensagem</translation> </message> <message> <source>The Bitcoin address the message was signed with</source> @@ -2189,7 +2185,7 @@ </message> <message> <source>Verify &Message</source> - <translation>Verificar &Mensagem</translation> + <translation>Verificar &mensagem</translation> </message> <message> <source>Reset all verify message fields</source> @@ -2197,7 +2193,7 @@ </message> <message> <source>Click "Sign Message" to generate signature</source> - <translation>Clique em "Assinar Mensagem" para gerar a assinatura</translation> + <translation>Clique em "Assinar mensagem" para gerar a assinatura</translation> </message> <message> <source>The entered address is invalid.</source> @@ -2850,7 +2846,7 @@ </message> <message> <source>Debugging/Testing options:</source> - <translation>Opções de Debug/Teste:</translation> + <translation>Opções de depuração/teste:</translation> </message> <message> <source>Do not load the wallet and disable wallet RPC calls</source> @@ -2890,7 +2886,7 @@ </message> <message> <source>If <category> is not supplied, output all debugging information.</source> - <translation>Se <category> não for informada, logar toda informação de debug.</translation> + <translation>Se <category> não for informada, registrar toda informação de depuração.</translation> </message> <message> <source>Importing...</source> @@ -3118,7 +3114,7 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br </message> <message> <source>Show all debugging options (usage: --help -help-debug)</source> - <translation>Exibir todas opções de debug (uso: --help -help-debug)</translation> + <translation>Exibir todas opções de depuração (uso: --help -help-debug)</translation> </message> <message> <source>Show splash screen on startup (default: 1)</source> @@ -3246,7 +3242,7 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br </message> <message> <source>Include IP addresses in debug output (default: %u)</source> - <translation>Incluir endereço IP na saída de debug (padrão: %u)</translation> + <translation>Incluir endereço IP na saída de depuração (padrão: %u)</translation> </message> <message> <source>Invalid -proxy address: '%s'</source> diff --git a/src/qt/locale/bitcoin_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts index 30ac9fdf31..5012ff8d83 100644 --- a/src/qt/locale/bitcoin_pt_PT.ts +++ b/src/qt/locale/bitcoin_pt_PT.ts @@ -1138,10 +1138,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Saldo disponivél em enderços modo-verificação</translation> </message> - <message> - <source>out of sync</source> - <translation>fora de sincronia</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts index 8b029eeca1..11a29e86c9 100644 --- a/src/qt/locale/bitcoin_ro_RO.ts +++ b/src/qt/locale/bitcoin_ro_RO.ts @@ -168,6 +168,10 @@ <translation>Sigur doriţi să criptaţi portofelul dvs.?</translation> </message> <message> + <source>Bitcoin Core will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source> + <translation>Bitcoin se va închide acum pentru a termina procesul de criptare. Ţineţi minte că criptarea portofelului nu vă poate proteja în totalitate de furtul monedelor de către programe dăunătoare care vă infectează calculatorul.</translation> + </message> + <message> <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source> <translation>IMPORTANT: Orice copie de siguranţă făcută anterior portofelului dumneavoastră ar trebui înlocuită cu cea generată cel mai recent, fişier criptat al portofelului. Pentru siguranţă, copiile de siguranţă vechi ale portofelului ne-criptat vor deveni inutile imediat ce veţi începe folosirea noului fişier criptat al portofelului.</translation> </message> @@ -184,6 +188,10 @@ <translation>Introduceţi noua parolă a portofelului electronic.<br/>Vă rugăm să folosiţi o parolă de<b>minimum 10 caractere aleatoare</b>, sau <b>minimum 8 cuvinte</b>.</translation> </message> <message> + <source>Enter the old passphrase and new passphrase to the wallet.</source> + <translation>Introduceţi vechea şi noua parolă pentru portofel.</translation> + </message> + <message> <source>Wallet encryption failed</source> <translation>Criptarea portofelului nu a reuşit</translation> </message> @@ -391,6 +399,10 @@ <translation>&Despre Nucleul Bitcoin</translation> </message> <message> + <source>Modify configuration options for Bitcoin Core</source> + <translation>Modifică opţiunile de configurare pentru Bitcoin</translation> + </message> + <message> <source>Show the list of used sending addresses and labels</source> <translation>Arată lista de adrese trimise şi etichetele folosite.</translation> </message> @@ -419,6 +431,10 @@ <translation>Nici o sursă de bloc disponibilă...</translation> </message> <message numerus="yes"> + <source>Processed %n block(s) of transaction history.</source> + <translation><numerusform>S-a procesat %n bloc din istoricul tranzacţiilor.</numerusform><numerusform>S-au procesat %n blocuri din istoricul tranzacţiilor.</numerusform><numerusform>S-au procesat %n de blocuri din istoricul tranzacţiilor.</numerusform></translation> + </message> + <message numerus="yes"> <source>%n hour(s)</source> <translation><numerusform>%n oră</numerusform><numerusform>%n ore</numerusform><numerusform>%n ore</numerusform></translation> </message> @@ -471,6 +487,36 @@ <translation>Se actualizează...</translation> </message> <message> + <source>Date: %1 +</source> + <translation>Data: %1 +</translation> + </message> + <message> + <source>Amount: %1 +</source> + <translation>Sumă: %1 +</translation> + </message> + <message> + <source>Type: %1 +</source> + <translation>Tip: %1 +</translation> + </message> + <message> + <source>Label: %1 +</source> + <translation>Etichetă: %1 +</translation> + </message> + <message> + <source>Address: %1 +</source> + <translation>Adresă: %1 +</translation> + </message> + <message> <source>Sent transaction</source> <translation>Tranzacţie expediată</translation> </message> @@ -665,6 +711,18 @@ <translation>nimic</translation> </message> <message> + <source>This label turns red if the transaction size is greater than 1000 bytes.</source> + <translation>Această etichetă devine roşie în cazul în care dimensiunea tranzacţiei este mai mare de 1000 de octeţi.</translation> + </message> + <message> + <source>This label turns red if the priority is smaller than "medium".</source> + <translation>Această etichetă devine roşie dacă prioritatea e mai mică decît "medie".</translation> + </message> + <message> + <source>This label turns red if any recipient receives an amount smaller than %1.</source> + <translation>Această etichetă devine roşie, dacă orice beneficiar primeşte o sumă mai mică decât %1.</translation> + </message> + <message> <source>Can vary +/- %1 satoshi(s) per input.</source> <translation>Poate varia +/- %1 satoshi pentru fiecare intrare.</translation> </message> @@ -907,6 +965,14 @@ <translation>Adresa IP a serverului proxy (de exemplu: 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>Minimizează fereastra în locul părăsirii programului în momentul închiderii ferestrei. Cînd acestă opţiune e activă, aplicaţia se va opri doar în momentul selectării comenzii 'Închide aplicaţia' din menu.</translation> + </message> + <message> + <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin Core.</source> + <translation>Limba interfeţei utilizatorului poate fi setată aici. Această setare va avea efect după repornirea Nucleului Bitcoin.</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>URL-uri terţe părţi (de exemplu, un explorator de bloc), care apar în tab-ul tranzacţiilor ca elemente de meniu contextual. %s în URL este înlocuit cu hash de tranzacţie. URL-urile multiple sînt separate prin bară verticală |.</translation> </message> @@ -931,6 +997,10 @@ <translation>Reţea</translation> </message> <message> + <source>&Start Bitcoin Core on system login</source> + <translation>Porneşte Nucleul Bitcoin la pornirea sistemului</translation> + </message> + <message> <source>(0 = auto, <0 = leave that many cores free)</source> <translation>(0 = automat, <0 = lasă atîtea nuclee libere)</translation> </message> @@ -1043,6 +1113,10 @@ <translation>Este necesară repornirea clientului pentru a activa schimbările.</translation> </message> <message> + <source>Client will be shut down. Do you want to proceed?</source> + <translation>Clientul va fi închis. Doriţi să continuaţi?</translation> + </message> + <message> <source>This change would require a client restart.</source> <translation>Această schimbare necesită o repornire a clientului.</translation> </message> @@ -1125,10 +1199,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Soldul dvs. total în adresele doar-supraveghere</translation> </message> - <message> - <source>out of sync</source> - <translation>nesincronizat</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -1169,6 +1239,10 @@ <translation>URL-ul cererii de plată preluat nu este valid: %1</translation> </message> <message> + <source>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source> + <translation>URI nu poate fi analizat! Acest lucru poate fi cauzat de o adresă Bitcoin nevalidă sau parametri URI deformaţi.</translation> + </message> + <message> <source>Payment request file handling</source> <translation>Manipulare fişier cerere de plată</translation> </message> @@ -1177,10 +1251,18 @@ <translation>Fişierul cerere de plată nu poate fi citit! Cauza poate fi un fişier cerere de plată nevalid.</translation> </message> <message> + <source>Payment request expired.</source> + <translation>Cererea de plată a expirat.</translation> + </message> + <message> <source>Unverified payment requests to custom payment scripts are unsupported.</source> <translation>Cererile de plată neverificate prin script-uri personalizate de plată nu sînt suportate.</translation> </message> <message> + <source>Invalid payment request.</source> + <translation>Cerere de plată nevalidă.</translation> + </message> + <message> <source>Refund from %1</source> <translation>Rambursare de la %1</translation> </message> @@ -1441,6 +1523,10 @@ <translation>Curăţă consola</translation> </message> <message> + <source>Welcome to the Bitcoin Core RPC console.</source> + <translation>Bun venit la consola Nucleului Bitcoin RPC.</translation> + </message> + <message> <source>Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.</source> <translation>Folosiţi săgetile sus şi jos pentru a naviga în istoric şi <b>Ctrl-L</b> pentru a curăţa.</translation> </message> @@ -1729,6 +1815,10 @@ <translation>per kilooctet</translation> </message> <message> + <source>Hide</source> + <translation>Ascunde</translation> + </message> + <message> <source>total at least</source> <translation>total cel puţin</translation> </message> @@ -1857,10 +1947,18 @@ <translation>Tranzacţia a fost respinsă! Acest lucru se poate întîmpla dacă o parte din monedele tale din portofel au fost deja cheltuite, la fel ca şi cum aţi fi folosit o copie a wallet.dat şi monedele au fost cheltuite în copie, dar nu au fost marcate ca şi cheltuite şi aici.</translation> </message> <message> + <source>Payment request expired.</source> + <translation>Cererea de plată a expirat.</translation> + </message> + <message> <source>Pay only the minimum fee of %1</source> <translation>Plăteşte doar taxa minimă de %1</translation> </message> <message> + <source>The recipient address is not valid. Please recheck.</source> + <translation>Adresa destinatarului nu este validă, vă rugăm să o verificaţi.</translation> + </message> + <message> <source>Warning: Invalid Bitcoin address</source> <translation>Atenţie: Adresa bitcoin nevalidă!</translation> </message> diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts index 30d44b090f..c208b3e25e 100644 --- a/src/qt/locale/bitcoin_ru.ts +++ b/src/qt/locale/bitcoin_ru.ts @@ -1105,10 +1105,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Текущий общий баланс на адресах наблюдения</translation> </message> - <message> - <source>out of sync</source> - <translation>не синхронизировано</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts index 294eca4127..8e7d38be00 100644 --- a/src/qt/locale/bitcoin_sk.ts +++ b/src/qt/locale/bitcoin_sk.ts @@ -1081,11 +1081,7 @@ <source>Recent transactions</source> <translation>Nedávne transakcie</translation> </message> - <message> - <source>out of sync</source> - <translation>nesynchronizované</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_sl_SI.ts b/src/qt/locale/bitcoin_sl_SI.ts index 7a283bcca1..abbdba3760 100644 --- a/src/qt/locale/bitcoin_sl_SI.ts +++ b/src/qt/locale/bitcoin_sl_SI.ts @@ -929,11 +929,7 @@ <source>Your current total balance</source> <translation>Vaše trenutno skupno stanje</translation> </message> - <message> - <source>out of sync</source> - <translation>iz sinhronizacije</translation> - </message> -</context> + </context> <context> <name>PaymentServer</name> <message> diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts index 8a46ae8470..289074f134 100644 --- a/src/qt/locale/bitcoin_sv.ts +++ b/src/qt/locale/bitcoin_sv.ts @@ -1212,10 +1212,6 @@ Var vänlig och försök igen.</translation> <source>Current total balance in watch-only addresses</source> <translation>Nuvarande total balans i granska-bara adresser</translation> </message> - <message> - <source>out of sync</source> - <translation>osynkroniserad</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -3270,6 +3266,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Slupmässigt brus 1 gång varje <n> nätverksmeddelande</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Återskapa blockkedjans index från nuvarande blk000??.dat filer under uppstarten</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Skicka trace-/debuginformation till terminalen istället för till debug.log</translation> </message> diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts index ff398c5d2a..bf6f3f2791 100644 --- a/src/qt/locale/bitcoin_tr.ts +++ b/src/qt/locale/bitcoin_tr.ts @@ -1215,10 +1215,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Sadece izlenen adreslerdeki güncel toplam bakiye</translation> </message> - <message> - <source>out of sync</source> - <translation>eşleşme dışı</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -3101,6 +3097,10 @@ <translation>Adres sayısı azaldıysa DNS sorgulamasıyla eş adresleri ara (varsayılan: 1 -connect kullanılmadıysa)</translation> </message> <message> + <source>Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)</source> + <translation>Her vekil bağlantısı için kimlik verilerini rastgele yap. Bu, Tor akış izolasyonunu etkinleştirir (varsayılan: %u)</translation> + </message> + <message> <source>Require high priority for relaying free or low-fee transactions (default: %u)</source> <translation>Ücretsiz ya da düşük ücretli muamelelerin geçişi için yüksek öncelik iste (varsayılan: %u)</translation> </message> @@ -3277,6 +3277,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Her <n> şebeke mesajından rastgele birini bulanıklaştır</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>Başlangıçta blok zinciri indeksini güncel blk000??.dat dosyalarından tekrar inşa et</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> diff --git a/src/qt/locale/bitcoin_uk.ts b/src/qt/locale/bitcoin_uk.ts index b2e67e296e..92e0cc75c4 100644 --- a/src/qt/locale/bitcoin_uk.ts +++ b/src/qt/locale/bitcoin_uk.ts @@ -440,7 +440,7 @@ </message> <message> <source>%1 behind</source> - <translation>%1 позаду</translation> + <translation>%1 тому</translation> </message> <message> <source>Last received block was generated %1 ago.</source> @@ -1123,7 +1123,7 @@ </message> <message> <source>Recent transactions</source> - <translation>Недавні транзакції</translation> + <translation>Останні транзакції</translation> </message> <message> <source>Unconfirmed transactions to watch-only addresses</source> @@ -1137,10 +1137,6 @@ <source>Current total balance in watch-only addresses</source> <translation>Поточний сукупний баланс в адресах для спостереження</translation> </message> - <message> - <source>out of sync</source> - <translation>не синхронізовано</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts index 4c9f287e95..3bcce1faab 100644 --- a/src/qt/locale/bitcoin_zh_CN.ts +++ b/src/qt/locale/bitcoin_zh_CN.ts @@ -1215,10 +1215,6 @@ <source>Current total balance in watch-only addresses</source> <translation>观察地址(watch-only address)中的当前总余额 </translation> </message> - <message> - <source>out of sync</source> - <translation>数据同步中</translation> - </message> </context> <context> <name>PaymentServer</name> @@ -2018,6 +2014,10 @@ <source>Payment request expired.</source> <translation>支付请求已过期。</translation> </message> + <message numerus="yes"> + <source>Estimated to begin confirmation within %n block(s).</source> + <translation><numerusform>预计 %n 个数据块后被确认。</numerusform></translation> + </message> <message> <source>Pay only the minimum fee of %1</source> <translation>只支付最小费用 %1</translation> @@ -2208,6 +2208,10 @@ <translation>验证消息(&V)</translation> </message> <message> + <source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source> + <translation>请在下面输入接收者地址、消息(确保换行符、空格符、制表符等完全相同)和签名以验证消息。请仔细核对签名信息,以提防中间人攻击。请注意,这只是证明接收方签名的地址,它不能证明任何交易!</translation> + </message> + <message> <source>The Bitcoin address the message was signed with</source> <translation>消息使用的签名地址</translation> </message> @@ -2811,6 +2815,10 @@ <translation>绑定指定的IP地址开始监听。IPv6地址请使用[host]:port 格式</translation> </message> <message> + <source>Continuously rate-limit free transactions to <n>*1000 bytes per minute (default: %u)</source> + <translation>自由交易不断的速率限制为<n>*1000 字节每分钟(默认值: %u)</translation> + </message> + <message> <source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source> <translation>删除钱包的所有交易记录,且只有用 -rescan参数启动客户端才能重新取回交易记录 </translation> </message> @@ -3267,6 +3275,10 @@ rpcpassword=%s <translation>随机每1个模拟测试<n>网络信息</translation> </message> <message> + <source>Rebuild block chain index from current blk000??.dat files on startup</source> + <translation>启动时重新为当前的 blk000??.dat 文件建立索引</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>跟踪/调试信息输出到控制台,不输出到 debug.log 文件</translation> </message> diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts index 254b33d5a4..3792a76095 100644 --- a/src/qt/locale/bitcoin_zh_TW.ts +++ b/src/qt/locale/bitcoin_zh_TW.ts @@ -1137,10 +1137,6 @@ <source>Current total balance in watch-only addresses</source> <translation>所有只能看位址的目前全部餘額</translation> </message> - <message> - <source>out of sync</source> - <translation>還沒同步</translation> - </message> </context> <context> <name>PaymentServer</name> diff --git a/src/test/alert_tests.cpp b/src/test/alert_tests.cpp index 6b6df5199a..22cb475e02 100644 --- a/src/test/alert_tests.cpp +++ b/src/test/alert_tests.cpp @@ -7,10 +7,12 @@ // #include "alert.h" +#include "chain.h" +#include "chainparams.h" #include "clientversion.h" #include "data/alertTests.raw.h" -#include "chainparams.h" +#include "main.h" #include "serialize.h" #include "streams.h" #include "util.h" @@ -193,4 +195,65 @@ BOOST_AUTO_TEST_CASE(AlertNotify) SetMockTime(0); } +static bool falseFunc() { return false; } + +BOOST_AUTO_TEST_CASE(PartitionAlert) +{ + // Test PartitionCheck + CCriticalSection csDummy; + CChain chainDummy; + CBlockIndex indexDummy[100]; + CChainParams& params = Params(CBaseChainParams::MAIN); + int64_t nPowTargetSpacing = params.GetConsensus().nPowTargetSpacing; + + // Generate fake blockchain timestamps relative to + // an arbitrary time: + int64_t now = 1427379054; + SetMockTime(now); + for (int i = 0; i < 100; i++) + { + indexDummy[i].phashBlock = NULL; + if (i == 0) indexDummy[i].pprev = NULL; + else indexDummy[i].pprev = &indexDummy[i-1]; + indexDummy[i].nHeight = i; + indexDummy[i].nTime = now - (100-i)*nPowTargetSpacing; + // Other members don't matter, the partition check code doesn't + // use them + } + chainDummy.SetTip(&indexDummy[99]); + + // Test 1: chain with blocks every nPowTargetSpacing seconds, + // as normal, no worries: + PartitionCheck(falseFunc, csDummy, chainDummy, nPowTargetSpacing); + BOOST_CHECK(strMiscWarning.empty()); + + // Test 2: go 3.5 hours without a block, expect a warning: + now += 3*60*60+30*60; + SetMockTime(now); + PartitionCheck(falseFunc, csDummy, chainDummy, nPowTargetSpacing); + BOOST_CHECK(!strMiscWarning.empty()); + BOOST_TEST_MESSAGE(std::string("Got alert text: ")+strMiscWarning); + strMiscWarning = ""; + + // Test 3: test the "partition alerts only go off once per day" + // code: + now += 60*10; + SetMockTime(now); + PartitionCheck(falseFunc, csDummy, chainDummy, nPowTargetSpacing); + BOOST_CHECK(strMiscWarning.empty()); + + // Test 4: get 2.5 times as many blocks as expected: + now += 60*60*24; // Pretend it is a day later + SetMockTime(now); + int64_t quickSpacing = nPowTargetSpacing*2/5; + for (int i = 0; i < 100; i++) // Tweak chain timestamps: + indexDummy[i].nTime = now - (100-i)*quickSpacing; + PartitionCheck(falseFunc, csDummy, chainDummy, nPowTargetSpacing); + BOOST_CHECK(!strMiscWarning.empty()); + BOOST_TEST_MESSAGE(std::string("Got alert text: ")+strMiscWarning); + strMiscWarning = ""; + + SetMockTime(0); +} + BOOST_AUTO_TEST_SUITE_END() |