Merge branch 'master' of git://github.com/bitcoin/bitcoin

This commit is contained in:
Jonas Schnelli 2013-04-02 21:53:41 +02:00
commit 6f21d15375
8 changed files with 304 additions and 146 deletions

View file

@ -763,7 +763,8 @@ void ThreadRPCServer2(void* parg)
else if (mapArgs.count("-daemon")) else if (mapArgs.count("-daemon"))
strWhatAmI = strprintf(_("To use the %s option"), "\"-daemon\""); strWhatAmI = strprintf(_("To use the %s option"), "\"-daemon\"");
uiInterface.ThreadSafeMessageBox(strprintf( uiInterface.ThreadSafeMessageBox(strprintf(
_("%s, you must set a rpcpassword in the configuration file:\n %s\n" _("%s, you must set a rpcpassword in the configuration file:\n"
"%s\n"
"It is recommended you use the following random password:\n" "It is recommended you use the following random password:\n"
"rpcuser=bitcoinrpc\n" "rpcuser=bitcoinrpc\n"
"rpcpassword=%s\n" "rpcpassword=%s\n"

View file

@ -1027,6 +1027,9 @@ bool AppInit2()
if (fServer) if (fServer)
NewThread(ThreadRPCServer, NULL); NewThread(ThreadRPCServer, NULL);
// Generate coins in the background
GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain);
// ********************************************************* Step 12: finished // ********************************************************* Step 12: finished
uiInterface.InitMessage(_("Done loading")); uiInterface.InitMessage(_("Done loading"));

View file

@ -4764,3 +4764,29 @@ uint64 CTxOutCompressor::DecompressAmount(uint64 x)
} }
return n; return n;
} }
class CMainCleanup
{
public:
CMainCleanup() {}
~CMainCleanup() {
// block headers
std::map<uint256, CBlockIndex*>::iterator it1 = mapBlockIndex.begin();
for (; it1 != mapBlockIndex.end(); it1++)
delete (*it1).second;
mapBlockIndex.clear();
// orphan blocks
std::map<uint256, CBlock*>::iterator it2 = mapOrphanBlocks.begin();
for (; it2 != mapOrphanBlocks.end(); it2++)
delete (*it2).second;
mapOrphanBlocks.clear();
// orphan transactions
std::map<uint256, CDataStream*>::iterator it3 = mapOrphanTransactions.begin();
for (; it3 != mapOrphanTransactions.end(); it3++)
delete (*it3).second;
mapOrphanTransactions.clear();
}
} instance_of_cmaincleanup;

View file

@ -775,12 +775,12 @@ void ThreadSocketHandler(void* parg)
printf("ThreadSocketHandler exited\n"); printf("ThreadSocketHandler exited\n");
} }
static list<CNode*> vNodesDisconnected;
void ThreadSocketHandler2(void* parg) void ThreadSocketHandler2(void* parg)
{ {
printf("ThreadSocketHandler started\n"); printf("ThreadSocketHandler started\n");
list<CNode*> vNodesDisconnected;
unsigned int nPrevNodeCount = 0; unsigned int nPrevNodeCount = 0;
loop loop
{ {
// //
@ -2047,9 +2047,6 @@ void StartNode(void* parg)
// Dump network addresses // Dump network addresses
if (!NewThread(ThreadDumpAddress, NULL)) if (!NewThread(ThreadDumpAddress, NULL))
printf("Error; NewThread(ThreadDumpAddress) failed\n"); printf("Error; NewThread(ThreadDumpAddress) failed\n");
// Generate coins in the background
GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain);
} }
bool StopNode() bool StopNode()
@ -2088,6 +2085,7 @@ bool StopNode()
Sleep(20); Sleep(20);
Sleep(50); Sleep(50);
DumpAddresses(); DumpAddresses();
return true; return true;
} }
@ -2108,6 +2106,18 @@ public:
if (closesocket(hListenSocket) == SOCKET_ERROR) if (closesocket(hListenSocket) == SOCKET_ERROR)
printf("closesocket(hListenSocket) failed with error %d\n", WSAGetLastError()); printf("closesocket(hListenSocket) failed with error %d\n", WSAGetLastError());
// clean up some globals (to help leak detection)
BOOST_FOREACH(CNode *pnode, vNodes)
delete pnode;
BOOST_FOREACH(CNode *pnode, vNodesDisconnected)
delete pnode;
vNodes.clear();
vNodesDisconnected.clear();
delete semOutbound;
semOutbound = NULL;
delete pnodeLocalHost;
pnodeLocalHost = NULL;
#ifdef WIN32 #ifdef WIN32
// Shutdown Windows Sockets // Shutdown Windows Sockets
WSACleanup(); WSACleanup();

View file

@ -167,14 +167,14 @@ void BitcoinGUI::createActions()
overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1)); overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1));
tabGroup->addAction(overviewAction); tabGroup->addAction(overviewAction);
sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send coins"), this); sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send"), this);
sendCoinsAction->setStatusTip(tr("Send coins to a Bitcoin address")); sendCoinsAction->setStatusTip(tr("Send coins to a Bitcoin address"));
sendCoinsAction->setToolTip(sendCoinsAction->statusTip()); sendCoinsAction->setToolTip(sendCoinsAction->statusTip());
sendCoinsAction->setCheckable(true); sendCoinsAction->setCheckable(true);
sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2)); sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
tabGroup->addAction(sendCoinsAction); tabGroup->addAction(sendCoinsAction);
receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive coins"), this); receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive"), this);
receiveCoinsAction->setStatusTip(tr("Show the list of addresses for receiving payments")); receiveCoinsAction->setStatusTip(tr("Show the list of addresses for receiving payments"));
receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip()); receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip());
receiveCoinsAction->setCheckable(true); receiveCoinsAction->setCheckable(true);
@ -188,7 +188,7 @@ void BitcoinGUI::createActions()
historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4)); historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4));
tabGroup->addAction(historyAction); tabGroup->addAction(historyAction);
addressBookAction = new QAction(QIcon(":/icons/address-book"), tr("&Address Book"), this); addressBookAction = new QAction(QIcon(":/icons/address-book"), tr("&Addresses"), this);
addressBookAction->setStatusTip(tr("Edit the list of stored addresses and labels")); addressBookAction->setStatusTip(tr("Edit the list of stored addresses and labels"));
addressBookAction->setToolTip(addressBookAction->statusTip()); addressBookAction->setToolTip(addressBookAction->statusTip());
addressBookAction->setCheckable(true); addressBookAction->setCheckable(true);

View file

@ -8,14 +8,16 @@
static const char UNUSED *bitcoin_strings[] = { static const char UNUSED *bitcoin_strings[] = {
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"%s, you must set a rpcpassword in the configuration file:\n" "%s, you must set a rpcpassword in the configuration file:\n"
" %s\n" "%s\n"
"It is recommended you use the following random password:\n" "It is recommended you use the following random password:\n"
"rpcuser=bitcoinrpc\n" "rpcuser=bitcoinrpc\n"
"rpcpassword=%s\n" "rpcpassword=%s\n"
"(you do not need to remember this password)\n" "(you do not need to remember this password)\n"
"The username and password MUST NOT be the same.\n" "The username and password MUST NOT be the same.\n"
"If the file does not exist, create it with owner-readable-only file " "If the file does not exist, create it with owner-readable-only file "
"permissions.\n"), "permissions.\n"
"It is also recommended to set alertnotify so you are notified of problems;\n"
"for example: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com\n"),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:" "Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:"
"@STRENGTH)"), "@STRENGTH)"),
@ -41,6 +43,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"Error: This transaction requires a transaction fee of at least %s because of " "Error: This transaction requires a transaction fee of at least %s because of "
"its amount, complexity, or use of recently received funds!"), "its amount, complexity, or use of recently received funds!"),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
"Execute command when a relevant alert is received (%s in cmd is replaced by "
"message)"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Execute command when a wallet transaction changes (%s in cmd is replaced by " "Execute command when a wallet transaction changes (%s in cmd is replaced by "
"TxID)"), "TxID)"),
QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", ""
@ -129,7 +134,6 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Failed to write transaction index"),
QT_TRANSLATE_NOOP("bitcoin-core", "Failed to write undo data"), QT_TRANSLATE_NOOP("bitcoin-core", "Failed to write undo data"),
QT_TRANSLATE_NOOP("bitcoin-core", "Fee per KB to add to transactions you send"), QT_TRANSLATE_NOOP("bitcoin-core", "Fee per KB to add to transactions you send"),
QT_TRANSLATE_NOOP("bitcoin-core", "Find peers using DNS lookup (default: 1 unless -connect)"), QT_TRANSLATE_NOOP("bitcoin-core", "Find peers using DNS lookup (default: 1 unless -connect)"),
QT_TRANSLATE_NOOP("bitcoin-core", "Find peers using internet relay chat (default: 0)"),
QT_TRANSLATE_NOOP("bitcoin-core", "Generate coins"), QT_TRANSLATE_NOOP("bitcoin-core", "Generate coins"),
QT_TRANSLATE_NOOP("bitcoin-core", "Get help for a command"), QT_TRANSLATE_NOOP("bitcoin-core", "Get help for a command"),
QT_TRANSLATE_NOOP("bitcoin-core", "How many blocks to check at startup (default: 288, 0 = all)"), QT_TRANSLATE_NOOP("bitcoin-core", "How many blocks to check at startup (default: 288, 0 = all)"),

View file

@ -160,8 +160,10 @@ void copyEntryData(QAbstractItemView *view, int column, int role)
if(!selection.isEmpty()) if(!selection.isEmpty())
{ {
// Copy first item // Copy first item (global clipboard)
QApplication::clipboard()->setText(selection.at(0).data(role).toString(),QClipboard::Selection); qApp->clipboard()->setText(selection.at(0).data(role).toString(), QClipboard::Clipboard);
// Copy first item (global mouse selection for e.g. X11 - NOP on Windows)
qApp->clipboard()->setText(selection.at(0).data(role).toString(), QClipboard::Selection);
} }
} }
@ -213,7 +215,7 @@ QString getSaveFileName(QWidget *parent, const QString &caption,
Qt::ConnectionType blockingGUIThreadConnection() Qt::ConnectionType blockingGUIThreadConnection()
{ {
if(QThread::currentThread() != QCoreApplication::instance()->thread()) if(QThread::currentThread() != qApp->thread())
{ {
return Qt::BlockingQueuedConnection; return Qt::BlockingQueuedConnection;
} }
@ -457,4 +459,3 @@ void HelpMessageBox::showOrPrint()
} }
} // namespace GUIUtil } // namespace GUIUtil

View file

@ -310,17 +310,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context> <context>
<name>BitcoinGUI</name> <name>BitcoinGUI</name>
<message> <message>
<location filename="../bitcoingui.cpp" line="+269"/> <location filename="../bitcoingui.cpp" line="+231"/>
<source>Sign &amp;message...</source> <source>Sign &amp;message...</source>
<translation>Sign &amp;message...</translation> <translation>Sign &amp;message...</translation>
</message> </message>
<message> <message>
<location line="+254"/> <location line="+299"/>
<source>Synchronizing with network...</source> <source>Synchronizing with network...</source>
<translation>Synchronizing with network...</translation> <translation>Synchronizing with network...</translation>
</message> </message>
<message> <message>
<location line="-322"/> <location line="-367"/>
<source>&amp;Overview</source> <source>&amp;Overview</source>
<translation>&amp;Overview</translation> <translation>&amp;Overview</translation>
</message> </message>
@ -340,32 +340,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Browse transaction history</translation> <translation>Browse transaction history</translation>
</message> </message>
<message> <message>
<location line="+6"/> <location line="+7"/>
<source>&amp;Address Book</source>
<translation>&amp;Address Book</translation>
</message>
<message>
<location line="+1"/>
<source>Edit the list of stored addresses and labels</source> <source>Edit the list of stored addresses and labels</source>
<translation>Edit the list of stored addresses and labels</translation> <translation>Edit the list of stored addresses and labels</translation>
</message> </message>
<message> <message>
<location line="-15"/> <location line="-14"/>
<source>&amp;Receive coins</source>
<translation>&amp;Receive coins</translation>
</message>
<message>
<location line="+1"/>
<source>Show the list of addresses for receiving payments</source> <source>Show the list of addresses for receiving payments</source>
<translation>Show the list of addresses for receiving payments</translation> <translation>Show the list of addresses for receiving payments</translation>
</message> </message>
<message> <message>
<location line="-8"/> <location line="+31"/>
<source>&amp;Send coins</source>
<translation>&amp;Send coins</translation>
</message>
<message>
<location line="+39"/>
<source>E&amp;xit</source> <source>E&amp;xit</source>
<translation>E&amp;xit</translation> <translation>E&amp;xit</translation>
</message> </message>
@ -410,7 +395,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>&amp;Change Passphrase...</translation> <translation>&amp;Change Passphrase...</translation>
</message> </message>
<message> <message>
<location line="+259"/> <location line="+304"/>
<source>Importing blocks from disk...</source> <source>Importing blocks from disk...</source>
<translation>Importing blocks from disk...</translation> <translation>Importing blocks from disk...</translation>
</message> </message>
@ -420,7 +405,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Reindexing blocks on disk...</translation> <translation>Reindexing blocks on disk...</translation>
</message> </message>
<message> <message>
<location line="-255"/> <location line="-300"/>
<source>&amp;Export...</source> <source>&amp;Export...</source>
<translation>&amp;Export...</translation> <translation>&amp;Export...</translation>
</message> </message>
@ -465,18 +450,33 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>&amp;Verify message...</translation> <translation>&amp;Verify message...</translation>
</message> </message>
<message> <message>
<location line="-198"/> <location line="-162"/>
<location line="+531"/> <location line="+540"/>
<source>Bitcoin</source> <source>Bitcoin</source>
<translation>Bitcoin</translation> <translation>Bitcoin</translation>
</message> </message>
<message> <message>
<location line="-531"/> <location line="-540"/>
<source>Wallet</source> <source>Wallet</source>
<translation>Wallet</translation> <translation>Wallet</translation>
</message> </message>
<message> <message>
<location line="+178"/> <location line="+99"/>
<source>&amp;Send</source>
<translation>&amp;Send</translation>
</message>
<message>
<location line="+7"/>
<source>&amp;Receive</source>
<translation>&amp;Receive</translation>
</message>
<message>
<location line="+14"/>
<source>&amp;Addresses</source>
<translation>&amp;Addresses</translation>
</message>
<message>
<location line="+22"/>
<source>&amp;About Bitcoin</source> <source>&amp;About Bitcoin</source>
<translation>&amp;About Bitcoin</translation> <translation>&amp;About Bitcoin</translation>
</message> </message>
@ -537,12 +537,12 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>[testnet]</translation> <translation>[testnet]</translation>
</message> </message>
<message> <message>
<location line="+63"/> <location line="+47"/>
<source>Bitcoin client</source> <source>Bitcoin client</source>
<translation>Bitcoin client</translation> <translation>Bitcoin client</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location line="+79"/> <location line="+140"/>
<source>%n active connection(s) to Bitcoin network</source> <source>%n active connection(s) to Bitcoin network</source>
<translation> <translation>
<numerusform>%n active connection to Bitcoin network</numerusform> <numerusform>%n active connection to Bitcoin network</numerusform>
@ -619,17 +619,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>This transaction is over the size limit. You can still send it for a fee of %1, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?</translation> <translation>This transaction is over the size limit. You can still send it for a fee of %1, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?</translation>
</message> </message>
<message> <message>
<location line="+213"/> <location line="-138"/>
<source>Backup Successful</source>
<translation>Backup Successful</translation>
</message>
<message>
<location line="+0"/>
<source>The wallet data was successfully saved to the new location.</source>
<translation>The wallet data was successfully saved to the new location.</translation>
</message>
<message>
<location line="-351"/>
<source>Up to date</source> <source>Up to date</source>
<translation>Up to date</translation> <translation>Up to date</translation>
</message> </message>
@ -644,7 +634,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Confirm transaction fee</translation> <translation>Confirm transaction fee</translation>
</message> </message>
<message> <message>
<location line="+23"/> <location line="+8"/>
<source>Sent transaction</source> <source>Sent transaction</source>
<translation>Sent transaction</translation> <translation>Sent transaction</translation>
</message> </message>
@ -667,14 +657,14 @@ Address: %4
</translation> </translation>
</message> </message>
<message> <message>
<location line="+102"/> <location line="+33"/>
<location line="+28"/> <location line="+23"/>
<source>URI handling</source> <source>URI handling</source>
<translation>URI handling</translation> <translation>URI handling</translation>
</message> </message>
<message> <message>
<location line="-28"/> <location line="-23"/>
<location line="+28"/> <location line="+23"/>
<source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source> <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
<translation>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</translation> <translation>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</translation>
</message> </message>
@ -688,26 +678,6 @@ Address: %4
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source> <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</translation> <translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</translation>
</message> </message>
<message>
<location line="+23"/>
<source>Backup Wallet</source>
<translation>Backup Wallet</translation>
</message>
<message>
<location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>Wallet Data (*.dat)</translation>
</message>
<message>
<location line="+3"/>
<source>Backup Failed</source>
<translation>Backup Failed</translation>
</message>
<message>
<location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation>There was an error trying to save the wallet data to the new location.</translation>
</message>
<message> <message>
<location filename="../bitcoin.cpp" line="+108"/> <location filename="../bitcoin.cpp" line="+108"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source> <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
@ -1052,23 +1022,18 @@ Address: %4
<translation>Form</translation> <translation>Form</translation>
</message> </message>
<message> <message>
<location line="+51"/> <location line="+50"/>
<location line="+183"/> <location line="+166"/>
<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> <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>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.</translation> <translation>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.</translation>
</message> </message>
<message> <message>
<location line="-141"/> <location line="-124"/>
<source>Balance:</source> <source>Balance:</source>
<translation>Balance:</translation> <translation>Balance:</translation>
</message> </message>
<message> <message>
<location line="+58"/> <location line="+29"/>
<source>Number of transactions:</source>
<translation>Number of transactions:</translation>
</message>
<message>
<location line="-29"/>
<source>Unconfirmed:</source> <source>Unconfirmed:</source>
<translation>Unconfirmed:</translation> <translation>Unconfirmed:</translation>
</message> </message>
@ -1078,7 +1043,7 @@ Address: %4
<translation>Wallet</translation> <translation>Wallet</translation>
</message> </message>
<message> <message>
<location line="+124"/> <location line="+107"/>
<source>Immature:</source> <source>Immature:</source>
<translation>Immature:</translation> <translation>Immature:</translation>
</message> </message>
@ -1093,7 +1058,7 @@ Address: %4
<translation>&lt;b&gt;Recent transactions&lt;/b&gt;</translation> <translation>&lt;b&gt;Recent transactions&lt;/b&gt;</translation>
</message> </message>
<message> <message>
<location line="-118"/> <location line="-101"/>
<source>Your current balance</source> <source>Your current balance</source>
<translation>Your current balance</translation> <translation>Your current balance</translation>
</message> </message>
@ -1102,11 +1067,6 @@ Address: %4
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source> <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</translation> <translation>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</translation>
</message> </message>
<message>
<location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Total number of transactions in wallet</translation>
</message>
<message> <message>
<location filename="../overviewpage.cpp" line="+115"/> <location filename="../overviewpage.cpp" line="+115"/>
<location line="+1"/> <location line="+1"/>
@ -2102,6 +2062,11 @@ Address: %4
<source>Copy amount</source> <source>Copy amount</source>
<translation>Copy amount</translation> <translation>Copy amount</translation>
</message> </message>
<message>
<location line="+1"/>
<source>Copy transaction ID</source>
<translation>Copy transaction ID</translation>
</message>
<message> <message>
<location line="+1"/> <location line="+1"/>
<source>Edit label</source> <source>Edit label</source>
@ -2113,7 +2078,7 @@ Address: %4
<translation>Show transaction details</translation> <translation>Show transaction details</translation>
</message> </message>
<message> <message>
<location line="+137"/> <location line="+139"/>
<source>Export Transaction Data</source> <source>Export Transaction Data</source>
<translation>Export Transaction Data</translation> <translation>Export Transaction Data</translation>
</message> </message>
@ -2168,7 +2133,7 @@ Address: %4
<translation>Could not write to file %1.</translation> <translation>Could not write to file %1.</translation>
</message> </message>
<message> <message>
<location line="+95"/> <location line="+100"/>
<source>Range:</source> <source>Range:</source>
<translation>Range:</translation> <translation>Range:</translation>
</message> </message>
@ -2178,15 +2143,158 @@ Address: %4
<translation>to</translation> <translation>to</translation>
</message> </message>
</context> </context>
<context>
<name>WalletView</name>
<message>
<location filename="../walletview.cpp" line="+95"/>
<source>&amp;Overview</source>
<translation>&amp;Overview</translation>
</message>
<message>
<location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Show general overview of wallet</translation>
</message>
<message>
<location line="+6"/>
<source>&amp;Send coins</source>
<translation>&amp;Send coins</translation>
</message>
<message>
<location line="+1"/>
<source>Send coins to a Bitcoin address</source>
<translation>Send coins to a Bitcoin address</translation>
</message>
<message>
<location line="+6"/>
<source>&amp;Receive coins</source>
<translation>&amp;Receive coins</translation>
</message>
<message>
<location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Show the list of addresses for receiving payments</translation>
</message>
<message>
<location line="+6"/>
<source>&amp;Transactions</source>
<translation>&amp;Transactions</translation>
</message>
<message>
<location line="+1"/>
<source>Browse transaction history</source>
<translation>Browse transaction history</translation>
</message>
<message>
<location line="+6"/>
<source>&amp;Address Book</source>
<translation>&amp;Address Book</translation>
</message>
<message>
<location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Edit the list of stored addresses and labels</translation>
</message>
<message>
<location line="+12"/>
<source>&amp;Encrypt Wallet...</source>
<translation>&amp;Encrypt Wallet...</translation>
</message>
<message>
<location line="+1"/>
<source>Encrypt the private keys that belong to your wallet</source>
<translation>Encrypt the private keys that belong to your wallet</translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Backup Wallet...</source>
<translation>&amp;Backup Wallet...</translation>
</message>
<message>
<location line="+1"/>
<source>Backup wallet to another location</source>
<translation>Backup wallet to another location</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Change Passphrase...</source>
<translation>&amp;Change Passphrase...</translation>
</message>
<message>
<location line="+1"/>
<source>Change the passphrase used for wallet encryption</source>
<translation>Change the passphrase used for wallet encryption</translation>
</message>
<message>
<location line="+1"/>
<source>Sign &amp;message...</source>
<translation>Sign &amp;message...</translation>
</message>
<message>
<location line="+1"/>
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
<translation>Sign messages with your Bitcoin addresses to prove you own them</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Verify message...</source>
<translation>&amp;Verify message...</translation>
</message>
<message>
<location line="+1"/>
<source>Verify messages to ensure they were signed with specified Bitcoin addresses</source>
<translation>Verify messages to ensure they were signed with specified Bitcoin addresses</translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Export...</source>
<translation>&amp;Export...</translation>
</message>
<message>
<location line="+1"/>
<source>Export the data in the current tab to a file</source>
<translation>Export the data in the current tab to a file</translation>
</message>
<message>
<location line="+180"/>
<source>Backup Wallet</source>
<translation>Backup Wallet</translation>
</message>
<message>
<location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>Wallet Data (*.dat)</translation>
</message>
<message>
<location line="+3"/>
<source>Backup Failed</source>
<translation>Backup Failed</translation>
</message>
<message>
<location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation>There was an error trying to save the wallet data to the new location.</translation>
</message>
<message>
<location line="+4"/>
<source>Backup Successful</source>
<translation>Backup Successful</translation>
</message>
<message>
<location line="+0"/>
<source>The wallet data was successfully saved to the new location.</source>
<translation>The wallet data was successfully saved to the new location.</translation>
</message>
</context>
<context> <context>
<name>bitcoin-core</name> <name>bitcoin-core</name>
<message> <message>
<location filename="../bitcoinstrings.cpp" line="+91"/> <location filename="../bitcoinstrings.cpp" line="+96"/>
<source>Bitcoin version</source> <source>Bitcoin version</source>
<translation>Bitcoin version</translation> <translation>Bitcoin version</translation>
</message> </message>
<message> <message>
<location line="+99"/> <location line="+98"/>
<source>Usage:</source> <source>Usage:</source>
<translation>Usage:</translation> <translation>Usage:</translation>
</message> </message>
@ -2226,12 +2334,12 @@ Address: %4
<translation>Generate coins</translation> <translation>Generate coins</translation>
</message> </message>
<message> <message>
<location line="-29"/> <location line="-28"/>
<source>Don&apos;t generate coins</source> <source>Don&apos;t generate coins</source>
<translation>Don&apos;t generate coins</translation> <translation>Don&apos;t generate coins</translation>
</message> </message>
<message> <message>
<location line="+75"/> <location line="+74"/>
<source>Specify data directory</source> <source>Specify data directory</source>
<translation>Specify data directory</translation> <translation>Specify data directory</translation>
</message> </message>
@ -2251,12 +2359,12 @@ Address: %4
<translation>Maintain at most &lt;n&gt; connections to peers (default: 125)</translation> <translation>Maintain at most &lt;n&gt; connections to peers (default: 125)</translation>
</message> </message>
<message> <message>
<location line="-50"/> <location line="-49"/>
<source>Connect to a node to retrieve peer addresses, and disconnect</source> <source>Connect to a node to retrieve peer addresses, and disconnect</source>
<translation>Connect to a node to retrieve peer addresses, and disconnect</translation> <translation>Connect to a node to retrieve peer addresses, and disconnect</translation>
</message> </message>
<message> <message>
<location line="+81"/> <location line="+80"/>
<source>Specify your own public address</source> <source>Specify your own public address</source>
<translation>Specify your own public address</translation> <translation>Specify your own public address</translation>
</message> </message>
@ -2266,17 +2374,17 @@ Address: %4
<translation>Threshold for disconnecting misbehaving peers (default: 100)</translation> <translation>Threshold for disconnecting misbehaving peers (default: 100)</translation>
</message> </message>
<message> <message>
<location line="-133"/> <location line="-132"/>
<source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source> <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</translation> <translation>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</translation>
</message> </message>
<message> <message>
<location line="-29"/> <location line="-32"/>
<source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source> <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation>An error occurred while setting up the RPC port %u for listening on IPv4: %s</translation> <translation>An error occurred while setting up the RPC port %u for listening on IPv4: %s</translation>
</message> </message>
<message> <message>
<location line="+27"/> <location line="+30"/>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source> <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</translation> <translation>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</translation>
</message> </message>
@ -2286,7 +2394,7 @@ Address: %4
<translation>Accept command line and JSON-RPC commands</translation> <translation>Accept command line and JSON-RPC commands</translation>
</message> </message>
<message> <message>
<location line="+78"/> <location line="+77"/>
<source>Run in the background as a daemon and accept commands</source> <source>Run in the background as a daemon and accept commands</source>
<translation>Run in the background as a daemon and accept commands</translation> <translation>Run in the background as a daemon and accept commands</translation>
</message> </message>
@ -2296,32 +2404,37 @@ Address: %4
<translation>Use the test network</translation> <translation>Use the test network</translation>
</message> </message>
<message> <message>
<location line="-109"/> <location line="-108"/>
<source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation>Accept connections from outside (default: 1 if no -proxy or -connect)</translation> <translation>Accept connections from outside (default: 1 if no -proxy or -connect)</translation>
</message> </message>
<message> <message>
<location line="-77"/> <location line="-82"/>
<source>%s, you must set a rpcpassword in the configuration file: <source>%s, you must set a rpcpassword in the configuration file:
%s %s
It is recommended you use the following random password: It is recommended you use the following random password:
rpcuser=bitcoinrpc rpcuser=bitcoinrpc
rpcpassword=%s rpcpassword=%s
(you do not need to remember this password) (you do not need to remember this password)
The username and password MUST NOT be the same. The username and password MUST NOT be the same.
If the file does not exist, create it with owner-readable-only file permissions. If the file does not exist, create it with owner-readable-only file permissions.
It is also recommended to set alertnotify so you are notified of problems;
for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.com
</source> </source>
<translation>%s, you must set a rpcpassword in the configuration file: <translation>%s, you must set a rpcpassword in the configuration file:
%s %s
It is recommended you use the following random password: It is recommended you use the following random password:
rpcuser=bitcoinrpc rpcuser=bitcoinrpc
rpcpassword=%s rpcpassword=%s
(you do not need to remember this password) (you do not need to remember this password)
The username and password MUST NOT be the same. The username and password MUST NOT be the same.
If the file does not exist, create it with owner-readable-only file permissions.</translation> If the file does not exist, create it with owner-readable-only file permissions.
It is also recommended to set alertnotify so you are notified of problems;
for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.com
</translation>
</message> </message>
<message> <message>
<location line="+15"/> <location line="+17"/>
<source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source> <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</translation> <translation>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</translation>
</message> </message>
@ -2350,6 +2463,11 @@ If the file does not exist, create it with owner-readable-only file permissions.
<source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!</source> <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!</source>
<translation>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!</translation> <translation>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!</translation>
</message> </message>
<message>
<location line="+3"/>
<source>Execute command when a relevant alert is received (%s in cmd is replaced by message)</source>
<translation>Execute command when a relevant alert is received (%s in cmd is replaced by message)</translation>
</message>
<message> <message>
<location line="+3"/> <location line="+3"/>
<source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source>
@ -2526,7 +2644,7 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Find peers using DNS lookup (default: 1 unless -connect)</translation> <translation>Find peers using DNS lookup (default: 1 unless -connect)</translation>
</message> </message>
<message> <message>
<location line="+4"/> <location line="+3"/>
<source>How many blocks to check at startup (default: 288, 0 = all)</source> <source>How many blocks to check at startup (default: 288, 0 = all)</source>
<translation>How many blocks to check at startup (default: 288, 0 = all)</translation> <translation>How many blocks to check at startup (default: 288, 0 = all)</translation>
</message> </message>
@ -2538,7 +2656,7 @@ If the file does not exist, create it with owner-readable-only file permissions.
<message> <message>
<location line="+24"/> <location line="+24"/>
<source>Rebuild block chain index from current blk000??.dat files</source> <source>Rebuild block chain index from current blk000??.dat files</source>
<translation type="unfinished"></translation> <translation>Rebuild block chain index from current blk000??.dat files</translation>
</message> </message>
<message> <message>
<location line="+37"/> <location line="+37"/>
@ -2696,22 +2814,22 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Password for JSON-RPC connections</translation> <translation>Password for JSON-RPC connections</translation>
</message> </message>
<message> <message>
<location line="-69"/> <location line="-68"/>
<source>Allow JSON-RPC connections from specified IP address</source> <source>Allow JSON-RPC connections from specified IP address</source>
<translation>Allow JSON-RPC connections from specified IP address</translation> <translation>Allow JSON-RPC connections from specified IP address</translation>
</message> </message>
<message> <message>
<location line="+78"/> <location line="+77"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source> <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</translation> <translation>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</translation>
</message> </message>
<message> <message>
<location line="-121"/> <location line="-120"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source> <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation>Execute command when the best block changes (%s in cmd is replaced by block hash)</translation> <translation>Execute command when the best block changes (%s in cmd is replaced by block hash)</translation>
</message> </message>
<message> <message>
<location line="+143"/> <location line="+142"/>
<source>Upgrade wallet to latest format</source> <source>Upgrade wallet to latest format</source>
<translation>Upgrade wallet to latest format</translation> <translation>Upgrade wallet to latest format</translation>
</message> </message>
@ -2741,12 +2859,12 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Server private key (default: server.pem)</translation> <translation>Server private key (default: server.pem)</translation>
</message> </message>
<message> <message>
<location line="-152"/> <location line="-154"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source> <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation> <translation>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message> </message>
<message> <message>
<location line="+164"/> <location line="+166"/>
<source>This help message</source> <source>This help message</source>
<translation>This help message</translation> <translation>This help message</translation>
</message> </message>
@ -2756,7 +2874,7 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Unable to bind to %s on this computer (bind returned error %d, %s)</translation> <translation>Unable to bind to %s on this computer (bind returned error %d, %s)</translation>
</message> </message>
<message> <message>
<location line="-87"/> <location line="-86"/>
<source>Connect through socks proxy</source> <source>Connect through socks proxy</source>
<translation>Connect through socks proxy</translation> <translation>Connect through socks proxy</translation>
</message> </message>
@ -2766,12 +2884,12 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Allow DNS lookups for -addnode, -seednode and -connect</translation> <translation>Allow DNS lookups for -addnode, -seednode and -connect</translation>
</message> </message>
<message> <message>
<location line="+58"/> <location line="+57"/>
<source>Loading addresses...</source> <source>Loading addresses...</source>
<translation>Loading addresses...</translation> <translation>Loading addresses...</translation>
</message> </message>
<message> <message>
<location line="-36"/> <location line="-35"/>
<source>Error loading wallet.dat: Wallet corrupted</source> <source>Error loading wallet.dat: Wallet corrupted</source>
<translation>Error loading wallet.dat: Wallet corrupted</translation> <translation>Error loading wallet.dat: Wallet corrupted</translation>
</message> </message>
@ -2781,17 +2899,17 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Error loading wallet.dat: Wallet requires newer version of Bitcoin</translation> <translation>Error loading wallet.dat: Wallet requires newer version of Bitcoin</translation>
</message> </message>
<message> <message>
<location line="+88"/> <location line="+87"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source> <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation>Wallet needed to be rewritten: restart Bitcoin to complete</translation> <translation>Wallet needed to be rewritten: restart Bitcoin to complete</translation>
</message> </message>
<message> <message>
<location line="-90"/> <location line="-89"/>
<source>Error loading wallet.dat</source> <source>Error loading wallet.dat</source>
<translation>Error loading wallet.dat</translation> <translation>Error loading wallet.dat</translation>
</message> </message>
<message> <message>
<location line="+31"/> <location line="+30"/>
<source>Invalid -proxy address: &apos;%s&apos;</source> <source>Invalid -proxy address: &apos;%s&apos;</source>
<translation>Invalid -proxy address: &apos;%s&apos;</translation> <translation>Invalid -proxy address: &apos;%s&apos;</translation>
</message> </message>
@ -2806,7 +2924,7 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Unknown -socks proxy version requested: %i</translation> <translation>Unknown -socks proxy version requested: %i</translation>
</message> </message>
<message> <message>
<location line="-92"/> <location line="-91"/>
<source>Cannot resolve -bind address: &apos;%s&apos;</source> <source>Cannot resolve -bind address: &apos;%s&apos;</source>
<translation>Cannot resolve -bind address: &apos;%s&apos;</translation> <translation>Cannot resolve -bind address: &apos;%s&apos;</translation>
</message> </message>
@ -2816,17 +2934,17 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Cannot resolve -externalip address: &apos;%s&apos;</translation> <translation>Cannot resolve -externalip address: &apos;%s&apos;</translation>
</message> </message>
<message> <message>
<location line="+46"/> <location line="+45"/>
<source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source> <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
<translation>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation> <translation>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message> </message>
<message> <message>
<location line="-25"/> <location line="-24"/>
<source>Error: could not start node</source> <source>Error: could not start node</source>
<translation>Error: could not start node</translation> <translation>Error: could not start node</translation>
</message> </message>
<message> <message>
<location line="+26"/> <location line="+25"/>
<source>Invalid amount</source> <source>Invalid amount</source>
<translation>Invalid amount</translation> <translation>Invalid amount</translation>
</message> </message>
@ -2841,7 +2959,7 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Loading block index...</translation> <translation>Loading block index...</translation>
</message> </message>
<message> <message>
<location line="-60"/> <location line="-59"/>
<source>Add a node to connect to and attempt to keep the connection open</source> <source>Add a node to connect to and attempt to keep the connection open</source>
<translation>Add a node to connect to and attempt to keep the connection open</translation> <translation>Add a node to connect to and attempt to keep the connection open</translation>
</message> </message>
@ -2851,22 +2969,17 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Unable to bind to %s on this computer. Bitcoin is probably already running.</translation> <translation>Unable to bind to %s on this computer. Bitcoin is probably already running.</translation>
</message> </message>
<message> <message>
<location line="+70"/> <location line="+68"/>
<source>Find peers using internet relay chat (default: 0)</source>
<translation>Find peers using internet relay chat (default: 0)</translation>
</message>
<message>
<location line="-2"/>
<source>Fee per KB to add to transactions you send</source> <source>Fee per KB to add to transactions you send</source>
<translation>Fee per KB to add to transactions you send</translation> <translation>Fee per KB to add to transactions you send</translation>
</message> </message>
<message> <message>
<location line="+18"/> <location line="+17"/>
<source>Loading wallet...</source> <source>Loading wallet...</source>
<translation>Loading wallet...</translation> <translation>Loading wallet...</translation>
</message> </message>
<message> <message>
<location line="-55"/> <location line="-54"/>
<source>Cannot downgrade wallet</source> <source>Cannot downgrade wallet</source>
<translation>Cannot downgrade wallet</translation> <translation>Cannot downgrade wallet</translation>
</message> </message>
@ -2881,22 +2994,22 @@ If the file does not exist, create it with owner-readable-only file permissions.
<translation>Cannot write default address</translation> <translation>Cannot write default address</translation>
</message> </message>
<message> <message>
<location line="+65"/> <location line="+64"/>
<source>Rescanning...</source> <source>Rescanning...</source>
<translation>Rescanning...</translation> <translation>Rescanning...</translation>
</message> </message>
<message> <message>
<location line="-57"/> <location line="-56"/>
<source>Done loading</source> <source>Done loading</source>
<translation>Done loading</translation> <translation>Done loading</translation>
</message> </message>
<message> <message>
<location line="+80"/> <location line="+79"/>
<source>To use the %s option</source> <source>To use the %s option</source>
<translation>To use the %s option</translation> <translation>To use the %s option</translation>
</message> </message>
<message> <message>
<location line="-72"/> <location line="-71"/>
<source>Error</source> <source>Error</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>