diff -Nru bitcoin-0.8.1/.gitignore bitcoin-0.8.5/.gitignore --- bitcoin-0.8.1/.gitignore 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/.gitignore 2013-09-12 03:35:18.000000000 +0000 @@ -15,6 +15,11 @@ *.qm Makefile bitcoin-qt +Bitcoin-Qt.app + +# Unit-tests +Makefile.test +bitcoin-qt_test # Resources cpp qrc_*.cpp diff -Nru bitcoin-0.8.1/README.md bitcoin-0.8.5/README.md --- bitcoin-0.8.1/README.md 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/README.md 2013-09-12 03:35:18.000000000 +0000 @@ -3,7 +3,7 @@ http://www.bitcoin.org -Copyright (c) 2009-2012 Bitcoin Developers +Copyright (c) 2009-2013 Bitcoin Developers What is Bitcoin? ---------------- @@ -60,18 +60,18 @@ Unit tests for the core code are in `src/test/`. To compile and run them: - cd src; make -f makefile.linux test + cd src; make -f makefile.unix test Unit tests for the GUI code are in `src/qt/test/`. To compile and run them: qmake BITCOIN_QT_TEST=1 -o Makefile.test bitcoin-qt.pro make -f Makefile.test - ./Bitcoin-Qt + ./bitcoin-qt_test Every pull request is built for both Windows and Linux on a dedicated server, and unit and sanity tests are automatically run. The binaries produced may be -used for manual QA testing -- a link to them will appear in a comment on the -pull request posted by 'BitcoinPullTester'. See `https://github.com/TheBlueMatt/test-scripts` +used for manual QA testing — a link to them will appear in a comment on the +pull request posted by [BitcoinPullTester](https://github.com/BitcoinPullTester). See https://github.com/TheBlueMatt/test-scripts for the build/test scripts. ### Manual Quality Assurance (QA) Testing @@ -79,4 +79,4 @@ Large changes should have a test plan, and should be tested by somebody other than the developer who wrote the code. -See `https://github.com/bitcoin/QA/` for how to create a test plan. +See https://github.com/bitcoin/QA/ for how to create a test plan. diff -Nru bitcoin-0.8.1/bitcoin-qt.pro bitcoin-0.8.5/bitcoin-qt.pro --- bitcoin-0.8.1/bitcoin-qt.pro 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/bitcoin-qt.pro 2013-09-12 03:35:18.000000000 +0000 @@ -1,7 +1,9 @@ TEMPLATE = app TARGET = bitcoin-qt -VERSION = 0.8.1 +macx:TARGET = "Bitcoin-Qt" +VERSION = 0.8.5 INCLUDEPATH += src src/json src/qt +QT += network DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE CONFIG += no_include_pwd CONFIG += thread @@ -28,10 +30,8 @@ macx:QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk !win32:!macx { - # Linux: static link + # Linux: static link and extra security (see: https://wiki.debian.org/Hardening) LIBS += -Wl,-Bstatic -Wl,-z,relro -Wl,-z,now - # for extra security (see: https://wiki.debian.org/Hardening) - QMAKE_CXXFLAGS *= -D_FORTIFY_SOURCE=2 } } @@ -42,6 +42,8 @@ # Exclude on Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable! # This can be enabled for Windows, when we switch to MinGW >= 4.4.x. } +# for extra security (see: https://wiki.debian.org/Hardening): this flag is GCC compiler-specific +QMAKE_CXXFLAGS *= -D_FORTIFY_SOURCE=2 # for extra security on Windows: enable ASLR and DEP via GCC linker flags win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat # on Windows: enable GCC large address aware linker flag @@ -99,14 +101,15 @@ INCLUDEPATH += src/leveldb/include src/leveldb/helpers LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a !win32 { - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a + # we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences + genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a } else { # make an educated guess about what the ranlib command is called isEmpty(QMAKE_RANLIB) { QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib) } LIBS += -lshlwapi - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a } genleveldb.target = $$PWD/src/leveldb/libleveldb.a genleveldb.depends = FORCE @@ -157,7 +160,6 @@ src/walletdb.h \ src/script.h \ src/init.h \ - src/irc.h \ src/bloom.h \ src/mruset.h \ src/checkqueue.h \ @@ -184,6 +186,9 @@ src/qt/transactionfilterproxy.h \ src/qt/transactionview.h \ src/qt/walletmodel.h \ + src/qt/walletview.h \ + src/qt/walletstack.h \ + src/qt/walletframe.h \ src/bitcoinrpc.h \ src/qt/overviewpage.h \ src/qt/csvmodelwriter.h \ @@ -195,7 +200,7 @@ src/qt/askpassphrasedialog.h \ src/protocol.h \ src/qt/notificator.h \ - src/qt/qtipcserver.h \ + src/qt/paymentserver.h \ src/allocators.h \ src/ui_interface.h \ src/qt/rpcconsole.h \ @@ -204,9 +209,12 @@ src/clientversion.h \ src/txdb.h \ src/leveldb.h \ - src/threadsafety.h + src/threadsafety.h \ + src/limitedmap.h \ + src/qt/splashscreen.h -SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ +SOURCES += src/qt/bitcoin.cpp \ + src/qt/bitcoingui.cpp \ src/qt/transactiontablemodel.cpp \ src/qt/addresstablemodel.cpp \ src/qt/optionsdialog.cpp \ @@ -227,7 +235,6 @@ src/main.cpp \ src/init.cpp \ src/net.cpp \ - src/irc.cpp \ src/bloom.cpp \ src/checkpoints.cpp \ src/addrman.cpp \ @@ -247,6 +254,9 @@ src/qt/transactionfilterproxy.cpp \ src/qt/transactionview.cpp \ src/qt/walletmodel.cpp \ + src/qt/walletview.cpp \ + src/qt/walletstack.cpp \ + src/qt/walletframe.cpp \ src/bitcoinrpc.cpp \ src/rpcdump.cpp \ src/rpcnet.cpp \ @@ -264,17 +274,16 @@ src/qt/askpassphrasedialog.cpp \ src/protocol.cpp \ src/qt/notificator.cpp \ - src/qt/qtipcserver.cpp \ + src/qt/paymentserver.cpp \ src/qt/rpcconsole.cpp \ src/noui.cpp \ src/leveldb.cpp \ - src/txdb.cpp + src/txdb.cpp \ + src/qt/splashscreen.cpp -RESOURCES += \ - src/qt/bitcoin.qrc +RESOURCES += src/qt/bitcoin.qrc -FORMS += \ - src/qt/forms/sendcoinsdialog.ui \ +FORMS += src/qt/forms/sendcoinsdialog.ui \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ @@ -300,6 +309,7 @@ QT += testlib TARGET = bitcoin-qt_test DEFINES += BITCOIN_QT_TEST + macx: CONFIG -= app_bundle } CODECFORTR = UTF-8 @@ -322,8 +332,14 @@ QMAKE_EXTRA_COMPILERS += TSQM # "Other files" to show in Qt Creator -OTHER_FILES += \ - doc/*.rst doc/*.txt doc/README README.md res/bitcoin-qt.rc src/test/*.cpp src/test/*.h src/qt/test/*.cpp src/qt/test/*.h +OTHER_FILES += README.md \ + doc/*.rst \ + doc/*.txt \ + src/qt/res/bitcoin-qt.rc \ + src/test/*.cpp \ + src/test/*.h \ + src/qt/test/*.cpp \ + src/qt/test/*.h # platform specific defaults, if not overridden on command line isEmpty(BOOST_LIB_SUFFIX) { @@ -381,10 +397,10 @@ macx:LIBS += -framework Foundation -framework ApplicationServices -framework AppKit macx:DEFINES += MAC_OSX MSG_NOSIGNAL=0 macx:ICON = src/qt/res/icons/bitcoin.icns -macx:TARGET = "Bitcoin-Qt" macx:QMAKE_CFLAGS_THREAD += -pthread macx:QMAKE_LFLAGS_THREAD += -pthread macx:QMAKE_CXXFLAGS_THREAD += -pthread +macx:QMAKE_INFO_PLIST = share/qt/Info.plist # Set libraries and includes at end, to use platform-defined defaults if not overridden INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH @@ -394,6 +410,7 @@ win32:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX win32:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX +macx:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX contains(RELEASE, 1) { !win32:!macx { @@ -402,4 +419,4 @@ } } -system($$QMAKE_LRELEASE -silent $$_PRO_FILE_) +system($$QMAKE_LRELEASE -silent $$TRANSLATIONS) diff -Nru bitcoin-0.8.1/contrib/debian/bin/bitcoind bitcoin-0.8.5/contrib/debian/bin/bitcoind --- bitcoin-0.8.1/contrib/debian/bin/bitcoind 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/bin/bitcoind 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -#!/bin/sh - -set -e - -umask 077 - -basedir=~/.bitcoin -cfgfile="$basedir/bitcoin.conf" - -[ -e "$basedir" ] || mkdir "$basedir" - -[ -e "$cfgfile" ] || perl -le 'print"rpcpassword=",map{(a..z,A..Z,0..9)[rand 62]}0..9' > "$cfgfile" - -exec /usr/lib/bitcoin/bitcoind "$@" diff -Nru bitcoin-0.8.1/contrib/debian/bitcoin-qt.desktop bitcoin-0.8.5/contrib/debian/bitcoin-qt.desktop --- bitcoin-0.8.1/contrib/debian/bitcoin-qt.desktop 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/bitcoin-qt.desktop 2013-09-12 03:35:18.000000000 +0000 @@ -4,9 +4,9 @@ Comment=Bitcoin P2P Cryptocurrency Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi -Exec=/usr/bin/bitcoin-qt +Exec=/usr/bin/bitcoin-qt %u Terminal=false Type=Application -Icon=/usr/share/pixmaps/bitcoin80.xpm +Icon=/usr/share/pixmaps/bitcoin128.png MimeType=x-scheme-handler/bitcoin; Categories=Office; diff -Nru bitcoin-0.8.1/contrib/debian/bitcoin-qt.install bitcoin-0.8.5/contrib/debian/bitcoin-qt.install --- bitcoin-0.8.1/contrib/debian/bitcoin-qt.install 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/bitcoin-qt.install 2013-09-12 03:35:18.000000000 +0000 @@ -1,5 +1,6 @@ bitcoin-qt usr/bin share/pixmaps/bitcoin32.xpm usr/share/pixmaps -share/pixmaps/bitcoin80.xpm usr/share/pixmaps +share/pixmaps/bitcoin16.xpm usr/share/pixmaps +share/pixmaps/bitcoin128.png usr/share/pixmaps debian/bitcoin-qt.desktop usr/share/applications debian/bitcoin-qt.protocol usr/share/kde4/services/ diff -Nru bitcoin-0.8.1/contrib/debian/bitcoind.install bitcoin-0.8.5/contrib/debian/bitcoind.install --- bitcoin-0.8.1/contrib/debian/bitcoind.install 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/bitcoind.install 2013-09-12 03:35:18.000000000 +0000 @@ -1,2 +1 @@ -debian/bin/bitcoind usr/bin -src/bitcoind usr/lib/bitcoin +src/bitcoind usr/bin diff -Nru bitcoin-0.8.1/contrib/debian/changelog bitcoin-0.8.5/contrib/debian/changelog --- bitcoin-0.8.1/contrib/debian/changelog 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/changelog 2013-09-12 03:35:18.000000000 +0000 @@ -1,3 +1,45 @@ +bitcoin (0.8.1-natty3) natty; urgency=low + + * New pixmaps + + -- Jonas Schnelli Mon, 13 May 2013 16:14:00 +0100 + +bitcoin (0.8.1-natty2) natty; urgency=low + + * Remove dumb broken launcher script + + -- Matt Corallo Sun, 24 Mar 2013 20:01:00 -0400 + +bitcoin (0.8.1-natty1) natty; urgency=low + + * New upstream release. + + -- Matt Corallo Tue, 19 Mar 2013 13:03:00 -0400 + +bitcoin (0.8.0-natty1) natty; urgency=low + + * New upstream release. + + -- Matt Corallo Sat, 23 Feb 2013 16:01:00 -0500 + +bitcoin (0.7.2-natty1) natty; urgency=low + + * New upstream release. + + -- Matt Corallo Sat, 15 Dec 2012 10:59:00 -0400 + +bitcoin (0.7.1-natty1) natty; urgency=low + + * New upstream release. + + -- Matt Corallo Wed, 24 Oct 2012 15:06:00 -0400 + +bitcoin (0.7.0-natty1) natty; urgency=low + + * New upstream release. + + -- Matt Corallo Mon, 17 Sep 2012 13:45:00 +0200 + bitcoin (0.6.3-natty1) natty; urgency=low * New upstream release. diff -Nru bitcoin-0.8.1/contrib/debian/control bitcoin-0.8.5/contrib/debian/control --- bitcoin-0.8.1/contrib/debian/control 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/control 2013-09-12 03:35:18.000000000 +0000 @@ -33,8 +33,6 @@ transact directly with each other, with the help of a P2P network to check for double-spending. . - By default connects to an IRC network to discover other peers. - . Full transaction history is stored locally at each client. This requires 2+ GB of space, slowly growing. . @@ -51,8 +49,6 @@ transact directly with each other, with the help of a P2P network to check for double-spending. . - By default connects to an IRC network to discover other peers. - . Full transaction history is stored locally at each client. This requires 2+ GB of space, slowly growing. . diff -Nru bitcoin-0.8.1/contrib/debian/examples/bitcoin.conf bitcoin-0.8.5/contrib/debian/examples/bitcoin.conf --- bitcoin-0.8.1/contrib/debian/examples/bitcoin.conf 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/examples/bitcoin.conf 2013-09-12 03:35:18.000000000 +0000 @@ -18,10 +18,6 @@ #connect=69.164.218.197 #connect=10.0.0.1:8333 -# Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to -# find other peers. -#noirc=1 - # Maximum number of inbound+outbound connections. #maxconnections= diff -Nru bitcoin-0.8.1/contrib/debian/manpages/bitcoin-qt.1 bitcoin-0.8.5/contrib/debian/manpages/bitcoin-qt.1 --- bitcoin-0.8.1/contrib/debian/manpages/bitcoin-qt.1 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/manpages/bitcoin-qt.1 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,206 @@ +.TH BITCOIN-QT "1" "April 2013" "bitcoin-qt 1" +.SH NAME +bitcoin-qt \- peer-to-peer network based digital currency +.SH DESCRIPTION +.SS "Usage:" +.IP +bitcoin\-qt [command\-line options] +.SH OPTIONS +.TP +\-? +This help message +.TP +\fB\-conf=\fR +Specify configuration file (default: bitcoin.conf) +.TP +\fB\-pid=\fR +Specify pid file (default: bitcoind.pid) +.TP +\fB\-gen\fR +Generate coins +.TP +\fB\-gen\fR=\fI0\fR +Don't generate coins +.TP +\fB\-datadir=\fR +Specify data directory +.TP +\fB\-dbcache=\fR +Set database cache size in megabytes (default: 25) +.TP +\fB\-timeout=\fR +Specify connection timeout in milliseconds (default: 5000) +.TP +\fB\-proxy=\fR +Connect through socks proxy +.TP +\fB\-socks=\fR +Select the version of socks proxy to use (4\-5, default: 5) +.TP +\fB\-tor=\fR +Use proxy to reach tor hidden services (default: same as \fB\-proxy\fR) +.TP +\fB\-dns\fR +Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR +.TP +\fB\-port=\fR +Listen for connections on (default: 8333 or testnet: 18333) +.TP +\fB\-maxconnections=\fR +Maintain at most connections to peers (default: 125) +.TP +\fB\-addnode=\fR +Add a node to connect to and attempt to keep the connection open +.TP +\fB\-connect=\fR +Connect only to the specified node(s) +.TP +\fB\-seednode=\fR +Connect to a node to retrieve peer addresses, and disconnect +.TP +\fB\-externalip=\fR +Specify your own public address +.TP +\fB\-onlynet=\fR +Only connect to nodes in network (IPv4, IPv6 or Tor) +.TP +\fB\-discover\fR +Discover own IP address (default: 1 when listening and no \fB\-externalip\fR) +.TP +\fB\-checkpoints\fR +Only accept block chain matching built\-in checkpoints (default: 1) +.TP +\fB\-listen\fR +Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR) +.TP +\fB\-bind=\fR +Bind to given address and always listen on it. Use [host]:port notation for IPv6 +.TP +\fB\-dnsseed\fR +Find peers using DNS lookup (default: 1 unless \fB\-connect\fR) +.TP +\fB\-banscore=\fR +Threshold for disconnecting misbehaving peers (default: 100) +.TP +\fB\-bantime=\fR +Number of seconds to keep misbehaving peers from reconnecting (default: 86400) +.TP +\fB\-maxreceivebuffer=\fR +Maximum per\-connection receive buffer, *1000 bytes (default: 5000) +.TP +\fB\-maxsendbuffer=\fR +Maximum per\-connection send buffer, *1000 bytes (default: 1000) +.TP +\fB\-upnp\fR +Use UPnP to map the listening port (default: 1 when listening) +.TP +\fB\-paytxfee=\fR +Fee per KB to add to transactions you send +.TP +\fB\-server\fR +Accept command line and JSON\-RPC commands +.TP +\fB\-testnet\fR +Use the test network +.TP +\fB\-debug\fR +Output extra debugging information. Implies all other \fB\-debug\fR* options +.TP +\fB\-debugnet\fR +Output extra network debugging information +.TP +\fB\-logtimestamps\fR +Prepend debug output with timestamp +.TP +\fB\-shrinkdebugfile\fR +Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR) +.TP +\fB\-printtoconsole\fR +Send trace/debug info to console instead of debug.log file +.TP +\fB\-rpcuser=\fR +Username for JSON\-RPC connections +.TP +\fB\-rpcpassword=\fR +Password for JSON\-RPC connections +.TP +\fB\-rpcport=\fR +Listen for JSON\-RPC connections on (default: 8332 or testnet: 18332) +.TP +\fB\-rpcallowip=\fR +Allow JSON\-RPC connections from specified IP address +.TP +\fB\-rpcthreads=\fR +Set the number of threads to service RPC calls (default: 4) +.TP +\fB\-blocknotify=\fR +Execute command when the best block changes (%s in cmd is replaced by block hash) +.TP +\fB\-walletnotify=\fR +Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) +.TP +\fB\-alertnotify=\fR +Execute command when a relevant alert is received (%s in cmd is replaced by message) +.TP +\fB\-upgradewallet\fR +Upgrade wallet to latest format +.TP +\fB\-keypool=\fR +Set key pool size to (default: 100) +.TP +\fB\-rescan\fR +Rescan the block chain for missing wallet transactions +.TP +\fB\-salvagewallet\fR +Attempt to recover private keys from a corrupt wallet.dat +.TP +\fB\-checkblocks=\fR +How many blocks to check at startup (default: 288, 0 = all) +.TP +\fB\-checklevel=\fR +How thorough the block verification is (0\-4, default: 3) +.TP +\fB\-txindex\fR +Maintain a full transaction index (default: 0) +.TP +\fB\-loadblock=\fR +Imports blocks from external blk000??.dat file +.TP +\fB\-reindex\fR +Rebuild block chain index from current blk000??.dat files +.TP +\fB\-par=\fR +Set the number of script verification threads (1\-16, 0=auto, default: 0) +.SS "Block creation options:" +.TP +\fB\-blockminsize=\fR +Set minimum block size in bytes (default: 0) +.TP +\fB\-blockmaxsize=\fR +Set maximum block size in bytes (default: 250000) +.HP +\fB\-blockprioritysize=\fR Set maximum size of high\-priority/low\-fee transactions in bytes (default: 27000) +.PP +SSL options: (see the Bitcoin Wiki for SSL setup instructions) +.TP +\fB\-rpcssl\fR +Use OpenSSL (https) for JSON\-RPC connections +.TP +\fB\-rpcsslcertificatechainfile=\fR +Server certificate file (default: server.cert) +.TP +\fB\-rpcsslprivatekeyfile=\fR +Server private key (default: server.pem) +.TP +\fB\-rpcsslciphers=\fR +Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) +.SS "UI options:" +.TP +\fB\-lang=\fR +Set language, for example "de_DE" (default: system locale) +.TP +\fB\-min\fR +Start minimized +.TP +\fB\-splash\fR +Show splash screen on startup (default: 1) diff -Nru bitcoin-0.8.1/contrib/debian/manpages/bitcoin.conf.5 bitcoin-0.8.5/contrib/debian/manpages/bitcoin.conf.5 --- bitcoin-0.8.1/contrib/debian/manpages/bitcoin.conf.5 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/manpages/bitcoin.conf.5 2013-09-12 03:35:18.000000000 +0000 @@ -2,11 +2,11 @@ .SH NAME bitcoin.conf \- bitcoin configuration file .SH SYNOPSIS -All command-line options (except for '-datadir' and '-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file. +All command-line options (except for '\-datadir' and '\-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file. .TP The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character. .TP -The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, bitcoind(1) will look for a file named bitcoin.conf(5) in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the '-datadir' and '-conf' command-line arguments. +The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, bitcoind(1) will look for a file named bitcoin.conf(5) in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the '\-datadir' and '\-conf' command-line arguments. .SH LOCATION bitcoin.conf should be located in $HOME/.bitcoin .SH NETWORK-RELATED SETTINGS @@ -24,9 +24,6 @@ \fBconnect=\fR\fI'10.0.0.1:8333'\fR Use as many *connect=* settings as you like to connect ONLY to specific peers. .TP -\fBnoirc=\fR[\fI'1'\fR|\fI'0'\fR] -Use or Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to find other peers. -.TP \fRmaxconnections=\fR\fI'value'\fR Maximum number of inbound+outbound connections. .SH JSON-RPC OPTIONS @@ -53,9 +50,10 @@ You can use *bitcoin* or *bitcoind(1)* to send commands to *bitcoin*/*bitcoind(1)* running on another host using this option. .TP \fBrpcssl=\fR\fI'1'\fR -Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate with *bitcoin* '-server' or *bitcoind(1)*. Example of OpenSSL settings used when *rpcssl*='1': +Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate with *bitcoin* '\-server' or *bitcoind(1)*. Example of OpenSSL settings used when *rpcssl*='1': .TP -\fBrpcsslciphers=\fR\fI'TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH'\fR +\fB\-rpcsslciphers=\fR +Acceptable ciphers (default: TLSv1+HIGH:\:!SSLv2:\:!aNULL:\:!eNULL:\:!AH:\:!3DES:\:@STRENGTH) .TP \fBrpcsslcertificatechainfile=\fR\fI'server.cert'\fR .TP diff -Nru bitcoin-0.8.1/contrib/debian/manpages/bitcoind.1 bitcoin-0.8.5/contrib/debian/manpages/bitcoind.1 --- bitcoin-0.8.1/contrib/debian/manpages/bitcoind.1 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/debian/manpages/bitcoind.1 2013-09-12 03:35:18.000000000 +0000 @@ -4,7 +4,7 @@ .SH SYNOPSIS bitcoin [options] [params] .TP -bitcoin [options] help - Get help for a command +bitcoin [options] help \- Get help for a command .SH DESCRIPTION This manual page documents the bitcoind program. Bitcoin is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages: @@ -75,7 +75,7 @@ Server private key (default: server.pem) .TP \fB\-rpcsslciphers=\fR -Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) +Acceptable ciphers (default: TLSv1+HIGH:\:!SSLv2:\:!aNULL:\:!eNULL:\:!AH:\:!3DES:\:@STRENGTH) .TP \-? This help message @@ -115,7 +115,7 @@ Returns boolean true if server is trying to generate bitcoins, false otherwise. .TP \fBsetgenerate 'generate' ['genproclimit']\fR -Generation is limited to ['genproclimit'] processors, -1 is unlimited. +Generation is limited to ['genproclimit'] processors, \-1 is unlimited. .TP \fBgethashespersec\fR Returns a recent hashes per second performance measurement while generating. @@ -166,7 +166,7 @@ "confirmations" : number of confirmations of the most recent transaction included. .TP \fBlisttransactions 'account' ['count=10']\fR -Returns a list of the last ['count'] transactions for 'account' - for all accounts if 'account' is not specified or is "*". Each entry in the list may contain: +Returns a list of the last ['count'] transactions for 'account' \- for all accounts if 'account' is not specified or is "*". Each entry in the list may contain: "category" : will be generate, send, receive, or move. "amount" : amount of transaction. diff -Nru bitcoin-0.8.1/contrib/gitian-descriptors/deps-win32.yml bitcoin-0.8.5/contrib/gitian-descriptors/deps-win32.yml --- bitcoin-0.8.1/contrib/gitian-descriptors/deps-win32.yml 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/gitian-descriptors/deps-win32.yml 2013-09-12 03:35:18.000000000 +0000 @@ -10,6 +10,7 @@ - "zip" - "faketime" - "wine" +- "psmisc" reference_datetime: "2011-01-30 00:00:00" remotes: [] files: diff -Nru bitcoin-0.8.1/contrib/gitian-descriptors/gitian.yml bitcoin-0.8.5/contrib/gitian-descriptors/gitian.yml --- bitcoin-0.8.1/contrib/gitian-descriptors/gitian.yml 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/gitian-descriptors/gitian.yml 2013-09-12 03:35:18.000000000 +0000 @@ -43,7 +43,7 @@ cd bitcoin mkdir -p $OUTDIR/src git archive HEAD | tar -x -C $OUTDIR/src - cp $OUTDIR/src/doc/README $OUTDIR + cp $OUTDIR/src/doc/README.md $OUTDIR cp $OUTDIR/src/COPYING $OUTDIR cd src make -f makefile.unix STATIC=1 OPENSSL_INCLUDE_PATH="$INSTDIR/include" OPENSSL_LIB_PATH="$INSTDIR/lib" $MAKEOPTS bitcoind USE_UPNP=0 DEBUGFLAGS= diff -Nru bitcoin-0.8.1/contrib/homebrew/bitcoin.qt.pro.patch bitcoin-0.8.5/contrib/homebrew/bitcoin.qt.pro.patch --- bitcoin-0.8.1/contrib/homebrew/bitcoin.qt.pro.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/homebrew/bitcoin.qt.pro.patch 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,32 @@ +diff --git a/bitcoin-qt.pro b/bitcoin-qt.pro +index d938c07..e1dd4ec 100644 +--- a/bitcoin-qt.pro ++++ b/bitcoin-qt.pro +@@ -353,7 +353,7 @@ + } + + isEmpty(BDB_LIB_PATH) { +- macx:BDB_LIB_PATH = /opt/local/lib/db48 ++ macx:BDB_LIB_PATH = /usr/local/opt/berkeley-db4/lib + } + + isEmpty(BDB_LIB_SUFFIX) { +@@ -361,15 +361,15 @@ + } + + isEmpty(BDB_INCLUDE_PATH) { +- macx:BDB_INCLUDE_PATH = /opt/local/include/db48 ++ macx:BDB_INCLUDE_PATH = /usr/local/opt/berkeley-db4/include + } + + isEmpty(BOOST_LIB_PATH) { +- macx:BOOST_LIB_PATH = /opt/local/lib ++ macx:BOOST_LIB_PATH = /usr/local/opt/boost/lib + } + + isEmpty(BOOST_INCLUDE_PATH) { +- macx:BOOST_INCLUDE_PATH = /opt/local/include ++ macx:BOOST_INCLUDE_PATH = /usr/local/opt/boost/include + } + + win32:DEFINES += WIN32 diff -Nru bitcoin-0.8.1/contrib/homebrew/makefile.osx.patch bitcoin-0.8.5/contrib/homebrew/makefile.osx.patch --- bitcoin-0.8.1/contrib/homebrew/makefile.osx.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/homebrew/makefile.osx.patch 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,47 @@ +diff --git a/src/makefile.osx b/src/makefile.osx +index 8b7c559..8a0560c 100644 +--- a/src/makefile.osx ++++ b/src/makefile.osx +@@ -7,17 +7,21 @@ + # Originally by Laszlo Hanyecz (solar@heliacal.net) + + CXX=llvm-g++ +-DEPSDIR=/opt/local ++DEPSDIR=/usr/local ++DB4DIR=/usr/local/opt/berkeley-db4 ++OPENSSLDIR=/usr/local/opt/openssl + + INCLUDEPATHS= \ + -I"$(CURDIR)" \ +- -I"$(CURDIR)"/obj \ ++ -I"$(CURDIR)/obj" \ + -I"$(DEPSDIR)/include" \ +- -I"$(DEPSDIR)/include/db48" ++ -I"$(DB4DIR)/include" \ ++ -I"$(OPENSSLDIR)/include" + + LIBPATHS= \ + -L"$(DEPSDIR)/lib" \ +- -L"$(DEPSDIR)/lib/db48" ++ -L"$(DB4DIR)/lib" \ ++ -L"$(OPENSSLDIR)/lib" + + USE_UPNP:=1 + USE_IPV6:=1 +@@ -31,13 +35,13 @@ ifdef STATIC + TESTLIBS += \ + $(DEPSDIR)/lib/libboost_unit_test_framework-mt.a + LIBS += \ +- $(DEPSDIR)/lib/db48/libdb_cxx-4.8.a \ ++ $(DB4DIR)/lib/libdb_cxx-4.8.a \ + $(DEPSDIR)/lib/libboost_system-mt.a \ + $(DEPSDIR)/lib/libboost_filesystem-mt.a \ + $(DEPSDIR)/lib/libboost_program_options-mt.a \ + $(DEPSDIR)/lib/libboost_thread-mt.a \ +- $(DEPSDIR)/lib/libssl.a \ +- $(DEPSDIR)/lib/libcrypto.a \ ++ $(OPENSSLDIR)/lib/libssl.a \ ++ $(OPENSSLDIR)/lib/libcrypto.a \ + -lz + else + TESTLIBS += \ diff -Nru bitcoin-0.8.1/contrib/test-patches/README bitcoin-0.8.5/contrib/test-patches/README --- bitcoin-0.8.1/contrib/test-patches/README 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/test-patches/README 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,4 @@ +These patches are applied when the automated pull-tester +tests each pull and when master is tested using jenkins. +You can find more information about the tests run at +http://jenkins.bluematt.me/pull-tester/files/ diff -Nru bitcoin-0.8.1/contrib/test-patches/bitcoind-comparison.patch bitcoin-0.8.5/contrib/test-patches/bitcoind-comparison.patch --- bitcoin-0.8.1/contrib/test-patches/bitcoind-comparison.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/test-patches/bitcoind-comparison.patch 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,196 @@ +diff --git a/contrib/test-patches/bitcoind-comparison.patch b/contrib/test-patches/bitcoind-comparison.patch +index 04a8618..519429a 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -31,8 +31,8 @@ CTxMemPool mempool; + unsigned int nTransactionsUpdated = 0; + + map mapBlockIndex; +-uint256 hashGenesisBlock("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"); +-static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); ++uint256 hashGenesisBlock("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206"); ++static CBigNum bnProofOfWorkLimit(~uint256(0) >> 1); + CBlockIndex* pindexGenesisBlock = NULL; + int nBestHeight = -1; + uint256 nBestChainWork = 0; +@@ -1055,7 +1055,7 @@ int64 static GetBlockValue(int nHeight, int64 nFees) + int64 nSubsidy = 50 * COIN; + + // Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years +- nSubsidy >>= (nHeight / 210000); ++ nSubsidy >>= (nHeight / 150); + + return nSubsidy + nFees; + } +@@ -2736,9 +2736,9 @@ bool InitBlockIndex() { + block.hashPrevBlock = 0; + block.hashMerkleRoot = block.BuildMerkleTree(); + block.nVersion = 1; +- block.nTime = 1231006505; +- block.nBits = 0x1d00ffff; +- block.nNonce = 2083236893; ++ block.nTime = 1296688602; ++ block.nBits = 0x207fffff; ++ block.nNonce = 2; + + if (fTestNet) + { +@@ -3024,7 +3024,7 @@ bool static AlreadyHave(const CInv& inv) + // The message start string is designed to be unlikely to occur in normal data. + // The characters are rarely used upper ASCII, not valid as UTF-8, and produce + // a large 4-byte int at any alignment. +-unsigned char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 }; ++unsigned char pchMessageStart[4] = { 0xfa, 0xbf, 0xb5, 0xda }; + + + void static ProcessGetData(CNode* pfrom) +diff --git a/src/test/miner_tests.cpp b/src/test/miner_tests.cpp +index af28465..ee9a4db 100644 +--- a/src/test/miner_tests.cpp ++++ b/src/test/miner_tests.cpp +@@ -15,34 +15,117 @@ struct { + unsigned char extranonce; + unsigned int nonce; + } blockinfo[] = { +- {4, 0xa4a3e223}, {2, 0x15c32f9e}, {1, 0x0375b547}, {1, 0x7004a8a5}, +- {2, 0xce440296}, {2, 0x52cfe198}, {1, 0x77a72cd0}, {2, 0xbb5d6f84}, +- {2, 0x83f30c2c}, {1, 0x48a73d5b}, {1, 0xef7dcd01}, {2, 0x6809c6c4}, +- {2, 0x0883ab3c}, {1, 0x087bbbe2}, {2, 0x2104a814}, {2, 0xdffb6daa}, +- {1, 0xee8a0a08}, {2, 0xba4237c1}, {1, 0xa70349dc}, {1, 0x344722bb}, +- {3, 0xd6294733}, {2, 0xec9f5c94}, {2, 0xca2fbc28}, {1, 0x6ba4f406}, +- {2, 0x015d4532}, {1, 0x6e119b7c}, {2, 0x43e8f314}, {2, 0x27962f38}, +- {2, 0xb571b51b}, {2, 0xb36bee23}, {2, 0xd17924a8}, {2, 0x6bc212d9}, +- {1, 0x630d4948}, {2, 0x9a4c4ebb}, {2, 0x554be537}, {1, 0xd63ddfc7}, +- {2, 0xa10acc11}, {1, 0x759a8363}, {2, 0xfb73090d}, {1, 0xe82c6a34}, +- {1, 0xe33e92d7}, {3, 0x658ef5cb}, {2, 0xba32ff22}, {5, 0x0227a10c}, +- {1, 0xa9a70155}, {5, 0xd096d809}, {1, 0x37176174}, {1, 0x830b8d0f}, +- {1, 0xc6e3910e}, {2, 0x823f3ca8}, {1, 0x99850849}, {1, 0x7521fb81}, +- {1, 0xaacaabab}, {1, 0xd645a2eb}, {5, 0x7aea1781}, {5, 0x9d6e4b78}, +- {1, 0x4ce90fd8}, {1, 0xabdc832d}, {6, 0x4a34f32a}, {2, 0xf2524c1c}, +- {2, 0x1bbeb08a}, {1, 0xad47f480}, {1, 0x9f026aeb}, {1, 0x15a95049}, +- {2, 0xd1cb95b2}, {2, 0xf84bbda5}, {1, 0x0fa62cd1}, {1, 0xe05f9169}, +- {1, 0x78d194a9}, {5, 0x3e38147b}, {5, 0x737ba0d4}, {1, 0x63378e10}, +- {1, 0x6d5f91cf}, {2, 0x88612eb8}, {2, 0xe9639484}, {1, 0xb7fabc9d}, +- {2, 0x19b01592}, {1, 0x5a90dd31}, {2, 0x5bd7e028}, {2, 0x94d00323}, +- {1, 0xa9b9c01a}, {1, 0x3a40de61}, {1, 0x56e7eec7}, {5, 0x859f7ef6}, +- {1, 0xfd8e5630}, {1, 0x2b0c9f7f}, {1, 0xba700e26}, {1, 0x7170a408}, +- {1, 0x70de86a8}, {1, 0x74d64cd5}, {1, 0x49e738a1}, {2, 0x6910b602}, +- {0, 0x643c565f}, {1, 0x54264b3f}, {2, 0x97ea6396}, {2, 0x55174459}, +- {2, 0x03e8779a}, {1, 0x98f34d8f}, {1, 0xc07b2b07}, {1, 0xdfe29668}, +- {1, 0x3141c7c1}, {1, 0xb3b595f4}, {1, 0x735abf08}, {5, 0x623bfbce}, +- {2, 0xd351e722}, {1, 0xf4ca48c9}, {1, 0x5b19c670}, {1, 0xa164bf0e}, +- {2, 0xbbbeb305}, {2, 0xfe1c810a}, ++{4, 2762203683}, ++{2, 365113248}, ++{1, 58045772}, ++{1, 1879353512}, ++{2, 3460563607}, ++{2, 1389355416}, ++{1, 2007444690}, ++{2, 3143462790}, ++{2, 2213743660}, ++{1, 1218919771}, ++{1, 4017999107}, ++{2, 1745471173}, ++{2, 142846780}, ++{1, 142326754}, ++{2, 553953301}, ++{2, 3757796778}, ++{1, 4002023946}, ++{2, 3124901826}, ++{1, 2802010589}, ++{1, 877077181}, ++{3, 3593029427}, ++{2, 3969866902}, ++{2, 3392125996}, ++{1, 1805972490}, ++{2, 22889779}, ++{1, 1846647676}, ++{2, 1139340052}, ++{2, 664153912}, ++{2, 3044128027}, ++{2, 3010194979}, ++{2, 3514377385}, ++{2, 1807880922}, ++{1, 1661815113}, ++{2, 2588692156}, ++{2, 1431037239}, ++{1, 3594379210}, ++{2, 2701839377}, ++{1, 1973060452}, ++{2, 4218620174}, ++{1, 3895224884}, ++{1, 3812528857}, ++{3, 1703867851}, ++{2, 3123904294}, ++{5, 36151564}, ++{1, 2846294357}, ++{5, 3499546633}, ++{1, 924279160}, ++{1, 2198572304}, ++{1, 3336802574}, ++{2, 2185182379}, ++{1, 2575632458}, ++{1, 1965161345}, ++{1, 2865408940}, ++{1, 3594887915}, ++{5, 2062161796}, ++{5, 2641251194}, ++{1, 1290342362}, ++{1, 2883355438}, ++{6, 1244984107}, ++{2, 4065479712}, ++{2, 465481866}, ++{1, 2907174016}, ++{1, 2667735788}, ++{1, 363417673}, ++{2, 3519780275}, ++{2, 4165713317}, ++{1, 262548689}, ++{1, 3764359529}, ++{1, 2027001003}, ++{5, 1043862655}, ++{5, 1937481940}, ++{1, 1664585233}, ++{1, 1834979792}, ++{2, 2288070330}, ++{2, 3915617412}, ++{1, 3086662813}, ++{2, 430970259}, ++{1, 1519443249}, ++{2, 1540874280}, ++{2, 2496660261}, ++{1, 2847522842}, ++{1, 977329763}, ++{1, 1458040519}, ++{5, 2241822454}, ++{1, 4253963824}, ++{1, 722247551}, ++{1, 3127905834}, ++{1, 1903207432}, ++{1, 1893631657}, ++{1, 1960201429}, ++{1, 1239890082}, ++{2, 1762702850}, ++{0, 1681675873}, ++{1, 1411795775}, ++{2, 2548720534}, ++{2, 1427588186}, ++{2, 65566621}, ++{1, 2566081936}, ++{1, 3229297415}, ++{1, 3756168812}, ++{1, 826394561}, ++{1, 3015022068}, ++{1, 1935326986}, ++{5, 1648098256}, ++{2, 3545360164}, ++{1, 4106897609}, ++{1, 1528415857}, ++{1, 2707734286}, ++{2, 3149837061}, ++{2, 4263280906}, ++ + }; + + // NOTE: These tests rely on CreateNewBlock doing its own self-validation! diff -Nru bitcoin-0.8.1/contrib/test-patches/temp-revert-1.patch bitcoin-0.8.5/contrib/test-patches/temp-revert-1.patch --- bitcoin-0.8.1/contrib/test-patches/temp-revert-1.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/test-patches/temp-revert-1.patch 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,21 @@ +commit 4dcc8701ac0eb09d8992d19fb411cee3c9aaf394 +Author: Matt Corallo +Date: Sun Mar 24 20:45:44 2013 -0400 + + Revert "Update unit test to match rule enforcement starts 21 March" + + This reverts commit d3e8c6a9d3fad68b0eee4434401ec7b3066399a2. + +diff --git a/src/test/checkblock_tests.cpp b/src/test/checkblock_tests.cpp +index 3cfb6db..e167def 100644 +--- a/src/test/checkblock_tests.cpp ++++ b/src/test/checkblock_tests.cpp +@@ -52,7 +52,7 @@ BOOST_AUTO_TEST_CASE(May15) + if (read_block("Mar12Fork.dat", forkingBlock)) + { + CValidationState state; +- forkingBlock.nTime = tMay15-1; // Invalidates PoW ++ BOOST_CHECK(!forkingBlock.CheckBlock(state, true, true)); + BOOST_CHECK(!forkingBlock.CheckBlock(state, false, false)); + + // After May 15'th, big blocks are OK: diff -Nru bitcoin-0.8.1/contrib/test-patches/temp-revert-2.patch bitcoin-0.8.5/contrib/test-patches/temp-revert-2.patch --- bitcoin-0.8.1/contrib/test-patches/temp-revert-2.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/test-patches/temp-revert-2.patch 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,20 @@ +commit cfae26916dba311f6f75d444301c1f9362267c3e +Author: Matt Corallo +Date: Sun Mar 24 20:45:50 2013 -0400 + + Revert "Checkpoint at first block in 11 March chain fork" + + This reverts commit f817c496a1482d05b22c8e539de67f07db1c09d9. + +diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp +index 62234b9..9b11f0b 100644 +--- a/src/checkpoints.cpp ++++ b/src/checkpoints.cpp +@@ -44,7 +44,6 @@ namespace Checkpoints + (193000, uint256("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")) + (210000, uint256("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")) + (216116, uint256("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")) +- (225430, uint256("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")) + ; + static const CCheckpointData data = { + &mapCheckpoints, diff -Nru bitcoin-0.8.1/contrib/test-patches/temp-revert-3.patch bitcoin-0.8.5/contrib/test-patches/temp-revert-3.patch --- bitcoin-0.8.1/contrib/test-patches/temp-revert-3.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/test-patches/temp-revert-3.patch 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,34 @@ +commit ba84709c65b911798ddae1285d807f4cd036990d +Author: Matt Corallo +Date: Sun Mar 24 20:45:56 2013 -0400 + + Revert "Before 15 May, limit created block size to 500K" + + This reverts commit 402f19b64530775a7e4ded025c80d8c16a55e454. + +diff --git a/src/main.cpp b/src/main.cpp +index 22baf0f..51ada0a 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -2057,8 +2057,8 @@ bool CBlock::CheckBlock(CValidationState &state, bool fCheckPOW, bool fCheckMerk + return state.DoS(100, error("CheckBlock() : size limits failed")); + + // Special short-term limits to avoid 10,000 BDB lock limit: +- if (GetBlockTime() >= 1363867200 && // start enforcing 21 March 2013, noon GMT +- GetBlockTime() < 1368576000) // stop enforcing 15 May 2013 00:00:00 ++ if (GetBlockTime() > 1363039171 && // 11 March 2013, timestamp of block before the big fork ++ GetBlockTime() < 1368576000) // 15 May 2013 00:00:00 + { + // Rule is: #unique txids referenced <= 4,500 + // ... to prevent 10,000 BDB lock exhaustion on old clients +@@ -4155,10 +4155,6 @@ CBlockTemplate* CreateNewBlock(CReserveKey& reservekey) + // Limit to betweeen 1K and MAX_BLOCK_SIZE-1K for sanity: + nBlockMaxSize = std::max((unsigned int)1000, std::min((unsigned int)(MAX_BLOCK_SIZE-1000), nBlockMaxSize)); + +- // Special compatibility rule before 15 May: limit size to 500,000 bytes: +- if (GetAdjustedTime() < 1368576000) +- nBlockMaxSize = std::min(nBlockMaxSize, (unsigned int)(MAX_BLOCK_SIZE_GEN)); +- + // How much of the block should be dedicated to high-priority transactions, + // included regardless of the fees they pay + unsigned int nBlockPrioritySize = GetArg("-blockprioritysize", 27000); diff -Nru bitcoin-0.8.1/contrib/test-patches/temp-revert-4.patch bitcoin-0.8.5/contrib/test-patches/temp-revert-4.patch --- bitcoin-0.8.1/contrib/test-patches/temp-revert-4.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/contrib/test-patches/temp-revert-4.patch 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,110 @@ +commit ca96b88b61f647d4f56d5d06321dda08a43bf92f +Author: Matt Corallo +Date: Sun Mar 24 20:46:01 2013 -0400 + + Revert "CheckBlock rule until 15-May for 10,000 BDB lock compatibility" + + This reverts commit 8c222dca4f961ad13ec64d690134a40d09b20813. + +diff --git a/src/main.cpp b/src/main.cpp +index 51ada0a..9a06dbf 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -2056,25 +2056,6 @@ bool CBlock::CheckBlock(CValidationState &state, bool fCheckPOW, bool fCheckMerk + if (vtx.empty() || vtx.size() > MAX_BLOCK_SIZE || ::GetSerializeSize(*this, SER_NETWORK, PROTOCOL_VERSION) > MAX_BLOCK_SIZE) + return state.DoS(100, error("CheckBlock() : size limits failed")); + +- // Special short-term limits to avoid 10,000 BDB lock limit: +- if (GetBlockTime() > 1363039171 && // 11 March 2013, timestamp of block before the big fork +- GetBlockTime() < 1368576000) // 15 May 2013 00:00:00 +- { +- // Rule is: #unique txids referenced <= 4,500 +- // ... to prevent 10,000 BDB lock exhaustion on old clients +- set setTxIn; +- for (size_t i = 0; i < vtx.size(); i++) +- { +- setTxIn.insert(vtx[i].GetHash()); +- if (i == 0) continue; // skip coinbase txin +- BOOST_FOREACH(const CTxIn& txin, vtx[i].vin) +- setTxIn.insert(txin.prevout.hash); +- } +- size_t nTxids = setTxIn.size(); +- if (nTxids > 4500) +- return error("CheckBlock() : 15 May maxlocks violation"); +- } +- + // Check proof of work matches claimed amount + if (fCheckPOW && !CheckProofOfWork(GetHash(), nBits)) + return state.DoS(50, error("CheckBlock() : proof of work failed")); +diff --git a/src/test/checkblock_tests.cpp b/src/test/checkblock_tests.cpp +deleted file mode 100644 +index e167def..0000000 +--- a/src/test/checkblock_tests.cpp ++++ /dev/null +@@ -1,66 +0,0 @@ +-// +-// Unit tests for block.CheckBlock() +-// +-#include +- +-#include // for 'map_list_of()' +-#include +-#include +-#include +- +-#include "main.h" +-#include "wallet.h" +-#include "net.h" +-#include "util.h" +- +-BOOST_AUTO_TEST_SUITE(CheckBlock_tests) +- +-bool +-read_block(const std::string& filename, CBlock& block) +-{ +- namespace fs = boost::filesystem; +- fs::path testFile = fs::current_path() / "test" / "data" / filename; +-#ifdef TEST_DATA_DIR +- if (!fs::exists(testFile)) +- { +- testFile = fs::path(BOOST_PP_STRINGIZE(TEST_DATA_DIR)) / filename; +- } +-#endif +- FILE* fp = fopen(testFile.string().c_str(), "rb"); +- if (!fp) return false; +- +- fseek(fp, 8, SEEK_SET); // skip msgheader/size +- +- CAutoFile filein = CAutoFile(fp, SER_DISK, CLIENT_VERSION); +- if (!filein) return false; +- +- filein >> block; +- +- return true; +-} +- +-BOOST_AUTO_TEST_CASE(May15) +-{ +- // Putting a 1MB binary file in the git repository is not a great +- // idea, so this test is only run if you manually download +- // test/data/Mar12Fork.dat from +- // http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/Mar12Fork.dat/download +- unsigned int tMay15 = 1368576000; +- SetMockTime(tMay15); // Test as if it was right at May 15 +- +- CBlock forkingBlock; +- if (read_block("Mar12Fork.dat", forkingBlock)) +- { +- CValidationState state; +- BOOST_CHECK(!forkingBlock.CheckBlock(state, true, true)); +- BOOST_CHECK(!forkingBlock.CheckBlock(state, false, false)); +- +- // After May 15'th, big blocks are OK: +- forkingBlock.nTime = tMay15; // Invalidates PoW +- BOOST_CHECK(forkingBlock.CheckBlock(state, false, false)); +- } +- +- SetMockTime(0); +-} +- +-BOOST_AUTO_TEST_SUITE_END() diff -Nru bitcoin-0.8.1/contrib/verifysfbinaries/verify.sh bitcoin-0.8.5/contrib/verifysfbinaries/verify.sh --- bitcoin-0.8.1/contrib/verifysfbinaries/verify.sh 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/contrib/verifysfbinaries/verify.sh 2013-09-12 03:35:18.000000000 +0000 @@ -18,7 +18,7 @@ TMPFILE="hashes.tmp" #this URL is used if a version number is not specified as an argument to the script -SIGNATUREFILE="http://downloads.sourceforge.net/project/bitcoin/Bitcoin/bitcoin-0.8.1/SHA256SUMS.asc" +SIGNATUREFILE="http://downloads.sourceforge.net/project/bitcoin/Bitcoin/bitcoin-0.8.5/SHA256SUMS.asc" SIGNATUREFILENAME="SHA256SUMS.asc" RCSUBDIR="test/" diff -Nru bitcoin-0.8.1/debian/README.Debian bitcoin-0.8.5/debian/README.Debian --- bitcoin-0.8.1/debian/README.Debian 2012-12-22 01:44:23.000000000 +0000 +++ bitcoin-0.8.5/debian/README.Debian 2013-09-13 15:49:38.000000000 +0000 @@ -2,17 +2,6 @@ =================================== -Wrapper to ease initial startup -------------------------------- - -Debian ships with a small wrapper for bitcoind to ease initial startup: - - * Store a random generated password in ~/.bitcoin/bitcoin.conf - * Setup ~/.bitcoin/DB_CONFIG to purge no longer needed dblog files - -Above is done only when the respective files do not already exist. - - Upgrading Problems ------------------ diff -Nru bitcoin-0.8.1/debian/README.source bitcoin-0.8.5/debian/README.source --- bitcoin-0.8.1/debian/README.source 2013-01-21 00:53:27.000000000 +0000 +++ bitcoin-0.8.5/debian/README.source 2013-09-13 15:49:38.000000000 +0000 @@ -1,7 +1,9 @@ CDBS+git-buildpackage --------------------- -This source package uses CDBS and git-buildpackage. +This source package uses CDBS and git-buildpackage. NMUs need not (but +are encouraged to) make special use of these tools. In particular, the +debian/control.in file can be completely ignored. More info here: http://wiki.debian.org/CDBS+git-buildpackage @@ -20,4 +22,72 @@ CDBS backported) to not accidentally get inferior package relations. - -- Jonas Smedegaard Sun, 23 Dec 2012 23:02:31 +0100 + -- Jonas Smedegaard Mon, 18 Feb 2013 12:55:37 +0100 + + + + +Included Libraries +------------------ + +Per discussions with upstream [1], Bitcoin cannot use system libraries for the +libraries included with the bitcoin source. This is because system libraries may +be patched without Bitcoin testing. + + +[1] Comments from Jeff Garzik: +Say Bitcoin used a backing database which had an unknown a bug where +any item with a key that begins with 0xDEADBEEF returns not found when +queried, even if its in the DB. Once discovered, any database library +would want to fix that quickly and they'd fix it in a point release +without reservation. They might not even release note that particular +fix it if went along with some others, it could even be fixed +accidentally. + +Now say that we have a state where half the Bitcoin network is running +the old buggy version, and half is running the fixed version. Someone +creates a transaction with ID 0xDEADBEEF... and then subsequently +spends the output of that transaction. This could be by pure chance or +it could be a malicious act. + +To half the network that spending transaction looks like someone +spending coin from nowhere, a violation of the rules. The consensus +would then fork, effectively partitioning the network. On each fork +any coin could be spent twice, and the fork will only be resolvable by +one side or the other abandoning their state (generally the more +permissive side would need to be abandoned because the permissive one +is tolerant of the restrictive one's behavior) by manually downgrading +or patching software. As a result of this parties who believed some +of their transactions were safely settled would find them reversed by +people who exploited the inconsistent consensus. + +To deploy such a fix in Bitcoin without creating a risk for +participants we need to make a staged revision of the network protocol +rules: There would be a protocol update that fixed the database bug +_and_ explicitly rejected 0xDEADBEEF transactions until either some +far out future date or until triggered by quorum sensing (or both). +The users of Bitcoin would all be advised that they had to apply +fixes/workaround by the switchover point or be left out of service or +vulnerable. At designated time / quorum nodes would simultaneously +switch to the new behavior. (Or in some cases, we'd just move the +'bug' into the Bitcoin code so that it can be fixed in the database, +and we'd then just keep it forever, depending on how harmful it was to +Bitcoin, a one if 4 billion chance of having to rewrite a transaction +wouldn't be a big deal) + +We've done these organized updates to solve problems (as various flaws +in Bitcoin itself can present similar consensus risks) several times +with great success, typical time horizons spanning for months to +years. But it cannot work if the behavior is changed out from under +the software. + +Fortunately, if the number of users running with an uncontrolled +consensus relevant inconsistent behavior is small the danger is only +to themselves (and, perhaps, their customers). I'm not happy to see +anyone get harmed, but it's better if its few people than many. This +is part of the reason that it's a "linux packaging letter", since for +Bitcoin the combination of uncoordinated patching and non-trivial +userbases appears to be currently unique to GNU/Linux systems. Though +indeed, the concerns do apply more broadly. + + -- Scott Howard Thu, 25 Jul 2013 17:28:01 -0500 diff -Nru bitcoin-0.8.1/debian/bin/bitcoind bitcoin-0.8.5/debian/bin/bitcoind --- bitcoin-0.8.1/debian/bin/bitcoind 2012-12-03 00:43:49.000000000 +0000 +++ bitcoin-0.8.5/debian/bin/bitcoind 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/bin/sh - -set -e - -umask 077 - -basedir=~/.bitcoin -dbfile="$basedir/DB_CONFIG" -cfgfile="$basedir/bitcoin.conf" - -[ -e "$basedir" ] || mkdir "$basedir" - -[ -e "$cfgfile" ] || perl -le 'print"rpcpassword=",map{(a..z,A..Z,0..9)[rand 62]}0..9' > "$cfgfile" - -# Bitcoin does not clean up DB log files by default -[ -e "$dbfile" ] || echo 'set_flags DB_LOG_AUTOREMOVE' > "$dbfile" - -exec /usr/lib/bitcoin/bitcoind "$@" diff -Nru bitcoin-0.8.1/debian/bitcoin-qt.desktop bitcoin-0.8.5/debian/bitcoin-qt.desktop --- bitcoin-0.8.1/debian/bitcoin-qt.desktop 2013-02-26 19:42:04.000000000 +0000 +++ bitcoin-0.8.5/debian/bitcoin-qt.desktop 2013-09-13 15:49:38.000000000 +0000 @@ -6,6 +6,6 @@ Exec=/usr/bin/bitcoin-qt Terminal=false Type=Application -Icon=/usr/share/pixmaps/bitcoin80.xpm +Icon=bitcoin MimeType=x-scheme-handler/bitcoin; Categories=Office; diff -Nru bitcoin-0.8.1/debian/bitcoin-qt.install bitcoin-0.8.5/debian/bitcoin-qt.install --- bitcoin-0.8.1/debian/bitcoin-qt.install 2012-12-22 01:44:23.000000000 +0000 +++ bitcoin-0.8.5/debian/bitcoin-qt.install 2013-09-13 15:49:38.000000000 +0000 @@ -1,5 +1,6 @@ bitcoin-qt usr/bin share/pixmaps/bitcoin32.xpm usr/share/pixmaps -share/pixmaps/bitcoin80.xpm usr/share/pixmaps +share/pixmaps/bitcoin16.xpm usr/share/pixmaps debian/bitcoin-qt.desktop usr/share/applications debian/bitcoin-qt.protocol usr/share/kde4/services/ +share/pixmaps/hicolor usr/share/icons diff -Nru bitcoin-0.8.1/debian/bitcoind.examples bitcoin-0.8.5/debian/bitcoind.examples --- bitcoin-0.8.1/debian/bitcoind.examples 2012-12-03 00:43:49.000000000 +0000 +++ bitcoin-0.8.5/debian/bitcoind.examples 2013-09-13 15:49:38.000000000 +0000 @@ -1 +1 @@ -debian/examples/bitcoin.conf +contrib/debian/examples/bitcoin.conf diff -Nru bitcoin-0.8.1/debian/bitcoind.install bitcoin-0.8.5/debian/bitcoind.install --- bitcoin-0.8.1/debian/bitcoind.install 2012-12-03 00:43:49.000000000 +0000 +++ bitcoin-0.8.5/debian/bitcoind.install 2013-09-13 15:49:38.000000000 +0000 @@ -1,2 +1 @@ -debian/bin/bitcoind usr/bin -src/bitcoind usr/lib/bitcoin +src/bitcoind usr/bin diff -Nru bitcoin-0.8.1/debian/changelog bitcoin-0.8.5/debian/changelog --- bitcoin-0.8.1/debian/changelog 2013-03-26 00:21:39.000000000 +0000 +++ bitcoin-0.8.5/debian/changelog 2013-10-16 10:41:39.000000000 +0000 @@ -1,3 +1,65 @@ +bitcoin (0.8.5-1~eugenesan~raring1) raring; urgency=low + + * Backport from Saucy + + -- Eugene San (eugenesan) Wed, 16 Oct 2013 13:40:46 +0300 + +bitcoin (0.8.5-1) unstable; urgency=low + + * New upstream release. + + -- Scott Howard Fri, 13 Sep 2013 09:55:38 -0400 + +bitcoin (0.8.4-1) unstable; urgency=low + + * New upstream release. + - Closes password attack (Closes: #717828 CVE-2013-4165) + - Closes DoS vulnerability (Closes: #721821 CVE-2013-4627) + * Refreshed patches + + -- Scott Howard Tue, 03 Sep 2013 22:58:54 -0400 + +bitcoin (0.8.3-2) unstable; urgency=low + + * Use included leveldb instead of system library. See debian/README.source + + -- Scott Howard Thu, 25 Jul 2013 16:54:38 -0400 + +bitcoin (0.8.3-1) unstable; urgency=low + + * New upstream release + + -- Scott Howard Wed, 26 Jun 2013 17:19:51 -0400 + +bitcoin (0.8.2-1) unstable; urgency=low + + [ Jonas Smedegaard ] + * Update README.source to emphasize control.in file as *not* a + show-stopper for contributions. + + [ Scott Howard ] + * New upstream release + * Use new bitcoin-qt manpage from upstream + - debian/patches/1009_manpage_hyphons.patch dropped, adopted upstream + + -- Scott Howard Fri, 31 May 2013 17:43:50 -0400 + +bitcoin (0.8.1-2) unstable; urgency=low + + * Merge from experimental closing two security bugs in sid + - Closes: #705266 CVE-2013-2272 + - Closes: #705265 CVE-2013-2293 + * Import patches from libleveldb to fix one of the kFreeBSD & hurd FTBFS + * Added high res icons to package (LP: #1127181) + * Remove reference to IRC network in debian/control + * Patch and ship upstream manpages instead of maintaining our own + - updated bitcoin-qt manpage for version 0.8.1 + * Drop wrapper for bitcoind + -upstream has dropped it and the wrapper may introduce problems with + multi-wallet or non-default data directories + + -- Scott Howard Tue, 26 Mar 2013 13:52:40 -0400 + bitcoin (0.8.1-1) experimental; urgency=low * New upstream release (Closes: #700910, Closes: #701085, Closes: #703213) diff -Nru bitcoin-0.8.1/debian/compat bitcoin-0.8.5/debian/compat --- bitcoin-0.8.1/debian/compat 2012-12-03 00:43:49.000000000 +0000 +++ bitcoin-0.8.5/debian/compat 2013-09-13 15:49:38.000000000 +0000 @@ -1 +1 @@ -8 +9 diff -Nru bitcoin-0.8.1/debian/control bitcoin-0.8.5/debian/control --- bitcoin-0.8.1/debian/control 2013-02-27 14:26:02.000000000 +0000 +++ bitcoin-0.8.5/debian/control 2013-09-13 15:49:38.000000000 +0000 @@ -5,7 +5,7 @@ Uploaders: Jonas Smedegaard , Micah Anderson , Scott Howard Build-Depends: cdbs, - debhelper, + debhelper (>= 9), dh-buildinfo, devscripts, libminiupnpc-dev, @@ -20,7 +20,7 @@ qt4-qmake, libqt4-dev, libqrencode-dev, - libleveldb-dev + icoutils Standards-Version: 3.9.4 Homepage: http://www.bitcoin.org/ Vcs-Git: git://git.debian.org/git/collab-maint/bitcoin @@ -37,8 +37,6 @@ transact directly with each other, with the help of a P2P network to check for double-spending. . - By default connects to an IRC network to discover other peers. - . Full transaction history is stored locally at each client. This requires several GB of space, slowly growing. . @@ -56,8 +54,6 @@ transact directly with each other, with the help of a P2P network to check for double-spending. . - By default connects to an IRC network to discover other peers. - . Full transaction history is stored locally at each client. This requires several GB of space, slowly growing. . diff -Nru bitcoin-0.8.1/debian/control.in bitcoin-0.8.5/debian/control.in --- bitcoin-0.8.1/debian/control.in 2012-12-22 01:44:23.000000000 +0000 +++ bitcoin-0.8.5/debian/control.in 2013-09-13 15:49:38.000000000 +0000 @@ -21,8 +21,6 @@ transact directly with each other, with the help of a P2P network to check for double-spending. . - By default connects to an IRC network to discover other peers. - . Full transaction history is stored locally at each client. This requires several GB of space, slowly growing. . @@ -40,8 +38,6 @@ transact directly with each other, with the help of a P2P network to check for double-spending. . - By default connects to an IRC network to discover other peers. - . Full transaction history is stored locally at each client. This requires several GB of space, slowly growing. . diff -Nru bitcoin-0.8.1/debian/copyright_hints bitcoin-0.8.5/debian/copyright_hints --- bitcoin-0.8.1/debian/copyright_hints 2013-03-26 00:18:26.000000000 +0000 +++ bitcoin-0.8.5/debian/copyright_hints 2013-09-13 15:49:38.000000000 +0000 @@ -7,7 +7,6 @@ Files: INSTALL bitcoin-qt.pro contrib/bitrpc/bitrpc.py - contrib/debian/bin/bitcoind contrib/debian/bitcoin-qt.desktop contrib/debian/bitcoin-qt.install contrib/debian/bitcoin-qt.lintian-overrides @@ -21,6 +20,7 @@ contrib/debian/control contrib/debian/examples/bitcoin.conf contrib/debian/gbp.conf + contrib/debian/manpages/bitcoin-qt.1 contrib/debian/manpages/bitcoin.conf.5 contrib/debian/patches/README contrib/debian/patches/series @@ -41,6 +41,8 @@ contrib/gitian-downloader/luke-jr-key.pgp contrib/gitian-downloader/tcatm-key.pgp contrib/gitian-downloader/win32-download-config + contrib/homebrew/bitcoin.qt.pro.patch + contrib/homebrew/makefile.osx.patch contrib/macdeploy/background.png contrib/macdeploy/fancy.plist contrib/macdeploy/notes.txt @@ -52,6 +54,12 @@ contrib/spendfrom/README contrib/spendfrom/setup.py contrib/spendfrom/spendfrom.py + contrib/test-patches/README + contrib/test-patches/bitcoind-comparison.patch + contrib/test-patches/temp-revert-1.patch + contrib/test-patches/temp-revert-2.patch + contrib/test-patches/temp-revert-3.patch + contrib/test-patches/temp-revert-4.patch contrib/testgen/README contrib/testgen/gen_base58_test_vectors.py contrib/tidy_datadir.sh @@ -60,7 +68,6 @@ contrib/wallettools/walletunlock.py debian/README.Debian debian/README.source - debian/bin/bitcoind debian/bitcoin-qt.desktop debian/bitcoin-qt.install debian/bitcoin-qt.lintian-overrides @@ -73,15 +80,16 @@ debian/compat debian/control debian/control.in - debian/examples/bitcoin.conf debian/gbp.conf - debian/manpages/bitcoin-qt.1 - debian/manpages/bitcoin.conf.5 debian/patches/1001_use_system_json-spirit.patch debian/patches/1002_libdb-squeeze.patch debian/patches/1003_qmake_cleanup.patch debian/patches/1005_use_system_leveldb.patch + debian/patches/1006_libmemenv_kfrebsd.patch + debian/patches/1007_libmemenv_hurd.patch + debian/patches/1008_libmemenv_cstdatomic_renaming.patch debian/patches/2001_stupify_header_script.patch + debian/patches/2002_libmemenv_debian-ports.patch debian/patches/3001_debug_bts_672524.patch debian/patches/README debian/patches/series @@ -90,29 +98,19 @@ debian/watch doc/Doxyfile doc/assets-attribution.txt - doc/coding.txt doc/files.txt - doc/release-process.txt - doc/unit-tests.txt + doc/multiwallet-qt.md + doc/release-process.md + doc/unit-tests.md Copyright: *No copyright* License: UNKNOWN FIXME -Files: doc/README - doc/README_windows.txt - doc/build-osx.txt - doc/build-unix.txt -Copyright: 2009-2012, Bitcoin Developers - 2009-2013, Bitcoin Developers +Files: doc/README_windows.txt +Copyright: 2009-2013, Bitcoin Developers License: Expat FIXME -Files: contrib/debian/manpages/bitcoind.1 - debian/manpages/bitcoind.1 -Copyright: *No copyright* -License: GPL - FIXME - Files: COPYING Copyright: 2009-2013, Bitcoin Developers HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER @@ -129,6 +127,11 @@ License: Expat FIXME +Files: contrib/debian/manpages/bitcoind.1 +Copyright: *No copyright* +License: GPL + FIXME + Files: debian/rules Copyright: 2010-2011, Jonas Smedegaard License: GPL-2+ @@ -188,7 +191,7 @@ FIXME Files: README.md -Copyright: 2009-2012, Bitcoin Developers +Copyright: 2009-2013, Bitcoin Developers License: UNKNOWN FIXME diff -Nru bitcoin-0.8.1/debian/examples/bitcoin.conf bitcoin-0.8.5/debian/examples/bitcoin.conf --- bitcoin-0.8.1/debian/examples/bitcoin.conf 2012-12-03 00:43:49.000000000 +0000 +++ bitcoin-0.8.5/debian/examples/bitcoin.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,88 +0,0 @@ -# bitcoin.conf configuration file. Lines beginning with # are comments. - - -# Network-related settings: - -# Run on the test network instead of the real bitcoin network. -#testnet=1 - -# Connect via a socks4 proxy -#proxy=127.0.0.1:9050 - -# Use as many addnode= settings as you like to connect to specific peers -#addnode=69.164.218.197 -#addnode=10.0.0.2:8333 - -# ... or use as many connect= settings as you like to connect ONLY -# to specific peers: -#connect=69.164.218.197 -#connect=10.0.0.1:8333 - -# Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to -# find other peers. -#noirc=1 - -# Maximum number of inbound+outbound connections. -#maxconnections= - - -# JSON-RPC options (for controlling a running Bitcoin/bitcoind process) - -# server=1 tells Bitcoin to accept JSON-RPC commands. -#server=1 - -# You must set rpcuser and rpcpassword to secure the JSON-RPC api -#rpcuser=Ulysseys -#rpcpassword=YourSuperGreatPasswordNumber_385593 - -# By default, only RPC connections from localhost are allowed. Specify -# as many rpcallowip= settings as you like to allow connections from -# other hosts (and you may use * as a wildcard character): -#rpcallowip=10.1.1.34 -#rpcallowip=192.168.1.* - -# Listen for RPC connections on this TCP port: -rpcport=8332 - -# You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind -# running on another host using this option: -rpcconnect=127.0.0.1 - -# Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate -# with Bitcoin -server or bitcoind -#rpcssl=1 - -# OpenSSL settings used when rpcssl=1 -rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH -rpcsslcertificatechainfile=server.cert -rpcsslprivatekeyfile=server.pem - - -# Miscellaneous options - -# Set gen=1 to attempt to generate bitcoins -gen=0 - -# Use SSE instructions to try to generate bitcoins faster. -#4way=1 - -# Pre-generate this many public/private key pairs, so wallet backups will be valid for -# both prior transactions and several dozen future transactions. -keypool=100 - -# Pay an optional transaction fee every time you send bitcoins. Transactions with fees -# are more likely than free transactions to be included in generated blocks, so may -# be validated sooner. -paytxfee=0.00 - -# Allow direct connections for the 'pay via IP address' feature. -#allowreceivebyip=1 - - -# User interface options - -# Start Bitcoin minimized -#min=1 - -# Minimize to the system tray -#minimizetotray=1 diff -Nru bitcoin-0.8.1/debian/manpages/bitcoin-qt.1 bitcoin-0.8.5/debian/manpages/bitcoin-qt.1 --- bitcoin-0.8.1/debian/manpages/bitcoin-qt.1 2013-01-21 00:53:27.000000000 +0000 +++ bitcoin-0.8.5/debian/manpages/bitcoin-qt.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,210 +0,0 @@ -.\" This file was generated by help2man 1.40.10. -.TH BITCOIN "1" "November 2012" "bitcoin 0.7.1" -.SH NAME -bitcoin-qt \- peer-to-peer network based digital currency -.SH DESCRIPTION -.SS "Usage:" -.IP -bitcoin\-qt [command\-line options] -.SH OPTIONS -.TP -\-? -This help message -.TP -\fB\-conf=\fR -Specify configuration file (default: bitcoin.conf) -.TP -\fB\-pid=\fR -Specify pid file (default: bitcoind.pid) -.TP -\fB\-gen\fR -Generate coins -.TP -\fB\-gen\fR=\fI0\fR -Don't generate coins -.TP -\fB\-datadir=\fR -Specify data directory -.TP -\fB\-dbcache=\fR -Set database cache size in megabytes (default: 25) -.TP -\fB\-dblogsize=\fR -Set database disk log size in megabytes (default: 100) -.TP -\fB\-timeout=\fR -Specify connection timeout in milliseconds (default: 5000) -.TP -\fB\-proxy=\fR -Connect through socks proxy -.TP -\fB\-socks=\fR -Select the version of socks proxy to use (4\-5, default: 5) -.TP -\fB\-tor=\fR -Use proxy to reach tor hidden services (default: same as \fB\-proxy\fR) -.TP -\fB\-dns\fR -Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR -.TP -\fB\-port=\fR -Listen for connections on (default: 8333 or testnet: 18333) -.TP -\fB\-maxconnections=\fR -Maintain at most connections to peers (default: 125) -.TP -\fB\-addnode=\fR -Add a node to connect to and attempt to keep the connection open -.TP -\fB\-connect=\fR -Connect only to the specified node(s) -.TP -\fB\-seednode=\fR -Connect to a node to retrieve peer addresses, and disconnect -.TP -\fB\-externalip=\fR -Specify your own public address -.TP -\fB\-onlynet=\fR -Only connect to nodes in network (IPv4, IPv6 or Tor) -.TP -\fB\-discover\fR -Discover own IP address (default: 1 when listening and no \fB\-externalip\fR) -.TP -\fB\-irc\fR -Find peers using internet relay chat (default: 0) -.TP -\fB\-listen\fR -Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR) -.TP -\fB\-bind=\fR -Bind to given address. Use [host]:port notation for IPv6 -.TP -\fB\-dnsseed\fR -Find peers using DNS lookup (default: 1 unless \fB\-connect\fR) -.TP -\fB\-banscore=\fR -Threshold for disconnecting misbehaving peers (default: 100) -.TP -\fB\-bantime=\fR -Number of seconds to keep misbehaving peers from reconnecting (default: 86400) -.TP -\fB\-maxreceivebuffer=\fR -Maximum per\-connection receive buffer, *1000 bytes (default: 5000) -.TP -\fB\-maxsendbuffer=\fR -Maximum per\-connection send buffer, *1000 bytes (default: 1000) -.TP -\fB\-upnp\fR -Use UPnP to map the listening port (default: 1 when listening) -.TP -\fB\-detachdb\fR -Detach block and address databases. Increases shutdown time (default: 0) -.TP -\fB\-paytxfee=\fR -Fee per KB to add to transactions you send -.TP -\fB\-server\fR -Accept command line and JSON\-RPC commands -.TP -\fB\-testnet\fR -Use the test network -.TP -\fB\-debug\fR -Output extra debugging information. Implies all other \fB\-debug\fR* options -.TP -\fB\-debugnet\fR -Output extra network debugging information -.TP -\fB\-logtimestamps\fR -Prepend debug output with timestamp -.TP -\fB\-shrinkdebugfile\fR -Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR) -.TP -\fB\-printtoconsole\fR -Send trace/debug info to console instead of debug.log file -.TP -\fB\-rpcuser=\fR -Username for JSON\-RPC connections -.TP -\fB\-rpcpassword=\fR -Password for JSON\-RPC connections -.TP -\fB\-rpcport=\fR -Listen for JSON\-RPC connections on (default: 8332 or testnet: 18332) -.TP -\fB\-rpcallowip=\fR -Allow JSON\-RPC connections from specified IP address -.TP -\fB\-rpcconnect=\fR -Send commands to node running on (default: 127.0.0.1) -.TP -\fB\-blocknotify=\fR -Execute command when the best block changes (%s in cmd is replaced by block hash) -.TP -\fB\-upgradewallet\fR -Upgrade wallet to latest format -.TP -\fB\-keypool=\fR -Set key pool size to (default: 100) -.TP -\fB\-rescan\fR -Rescan the block chain for missing wallet transactions -.TP -\fB\-salvagewallet\fR -Attempt to recover private keys from a corrupt wallet.dat -.TP -\fB\-checkblocks=\fR -How many blocks to check at startup (default: 2500, 0 = all) -.TP -\fB\-checklevel=\fR -How thorough the block verification is (0\-6, default: 1) -.TP -\fB\-loadblock=\fR -Imports blocks from external blk000?.dat file -.SS "Block creation options:" -.TP -\fB\-blockminsize=\fR -Set minimum block size in bytes (default: 0) -.TP -\fB\-blockmaxsize=\fR -Set maximum block size in bytes (default: 250000) -.HP -\fB\-blockprioritysize=\fR Set maximum size of high\-priority/low\-fee transactions in bytes (default: 27000) -.PP -SSL options: (see the Bitcoin Wiki for SSL setup instructions) -.TP -\fB\-rpcssl\fR -Use OpenSSL (https) for JSON\-RPC connections -.TP -\fB\-rpcsslcertificatechainfile=\fR -Server certificate file (default: server.cert) -.TP -\fB\-rpcsslprivatekeyfile=\fR -Server private key (default: server.pem) -.TP -\fB\-rpcsslciphers=\fR -Acceptable ciphers (default: TLSv1+HIGH:\:!SSLv2:\:!aNULL:\:!eNULL:\:!AH:\:!3DES:\:@STRENGTH) -.SS "UI options:" -.TP -\fB\-lang=\fR -Set language, for example "de_DE" (default: system locale) -.TP -\fB\-min\fR -Start minimized -.TP -\fB\-splash\fR -Show splash screen on startup (default: 1) -.SH "SEE ALSO" -The full documentation for -.B bitcoin -is maintained as a Texinfo manual. If the -.B info -and -.B bitcoin -programs are properly installed at your site, the command -.IP -.B info bitcoin -.PP -should give you access to the complete manual. diff -Nru bitcoin-0.8.1/debian/manpages/bitcoin.conf.5 bitcoin-0.8.5/debian/manpages/bitcoin.conf.5 --- bitcoin-0.8.1/debian/manpages/bitcoin.conf.5 2013-01-21 00:53:27.000000000 +0000 +++ bitcoin-0.8.5/debian/manpages/bitcoin.conf.5 1970-01-01 00:00:00.000000000 +0000 @@ -1,95 +0,0 @@ -.TH BITCOIN.CONF "5" "January 2011" "bitcoin.conf 3.19" -.SH NAME -bitcoin.conf \- bitcoin configuration file -.SH SYNOPSIS -All command-line options (except for '\-datadir' and '\-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file. -.TP -The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character. -.TP -The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, bitcoind(1) will look for a file named bitcoin.conf(5) in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the '\-datadir' and '\-conf' command-line arguments. -.SH LOCATION -bitcoin.conf should be located in $HOME/.bitcoin -.SH NETWORK-RELATED SETTINGS -.TP -.TP -\fBtestnet=\fR[\fI'1'\fR|\fI'0'\fR] -Enable or disable run on the test network instead of the real *bitcoin* network. -.TP -\fBproxy=\fR\fI'127.0.0.1:9050'\fR -Connect via a socks4 proxy. -.TP -\fBaddnode=\fR\fI'10.0.0.2:8333'\fR -Use as many *addnode=* settings as you like to connect to specific peers. -.TP -\fBconnect=\fR\fI'10.0.0.1:8333'\fR -Use as many *connect=* settings as you like to connect ONLY to specific peers. -.TP -\fBnoirc=\fR[\fI'1'\fR|\fI'0'\fR] -Use or Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to find other peers. -.TP -\fRmaxconnections=\fR\fI'value'\fR -Maximum number of inbound+outbound connections. -.SH JSON-RPC OPTIONS -.TP -\fBserver=\fR[\fI'1'\fR|\fI'0'\fR] -Tells *bitcoin* to accept or not accept JSON-RPC commands. -.TP -\fBrpcuser=\fR\fI'username'\fR -You must set *rpcuser* to secure the JSON-RPC api. -.TP -\fBrpcpassword=\fR\fI'password'\fR -You must set *rpcpassword* to secure the JSON-RPC api. -.TP -\fBrpctimeout=\fR\fI'30'\fR -How many seconds *bitcoin* will wait for a complete RPC HTTP request, after the HTTP connection is established. -.TP -\fBrpcallowip=\fR\fI'192.168.1.*'\fR -By default, only RPC connections from localhost are allowed. Specify as many *rpcallowip=* settings as you like to allow connections from other hosts (and you may use * as a wildcard character). -.TP -\fBrpcport=\fR\fI'8332'\fR -Listen for RPC connections on this TCP port. -.TP -\fBrpcconnect=\fR\fI'127.0.0.1'\fR -You can use *bitcoin* or *bitcoind(1)* to send commands to *bitcoin*/*bitcoind(1)* running on another host using this option. -.TP -\fBrpcssl=\fR\fI'1'\fR -Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate with *bitcoin* '\-server' or *bitcoind(1)*. Example of OpenSSL settings used when *rpcssl*='1': -.TP -\fB\-rpcsslciphers=\fR -Acceptable ciphers (default: TLSv1+HIGH:\:!SSLv2:\:!aNULL:\:!eNULL:\:!AH:\:!3DES:\:@STRENGTH) -.TP -\fBrpcsslcertificatechainfile=\fR\fI'server.cert'\fR -.TP -\fBrpcsslprivatekeyfile=\fR\fI'server.pem'\fR -.TP -.SH MISCELLANEOUS OPTIONS -.TP -\fBgen=\fR[\fI'0'\fR|\fI'1'\fR] -Enable or disable attempt to generate bitcoins. -.TP -\fB4way=\fR[\fI'0'\fR|\fI'1'\fR] -Enable or disable use SSE instructions to try to generate bitcoins faster. -.TP -\fBkeypool=\fR\fI'100'\fR -Pre-generate this many public/private key pairs, so wallet backups will be valid for both prior transactions and several dozen future transactions. -.TP -\fBpaytxfee=\fR\fI'0.00'\fR -Pay an optional transaction fee every time you send bitcoins. Transactions with fees are more likely than free transactions to be included in generated blocks, so may be validated sooner. -.TP -\fBallowreceivebyip=\fR\fI'1'\fR -Allow direct connections for the 'pay via IP address' feature. -.TP -.SH USER INTERFACE OPTIONS -.TP -\fBmin=\fR[\fI'0'\fR|\fI'1'\fR] -Enable or disable start bitcoind minimized. -.TP -\fBminimizetotray=\fR[\fI'0'\fR|\fI'1'\fR] -Enable or disable minimize to the system tray. -.SH "SEE ALSO" -bitcoind(1) -.SH AUTHOR -This manual page was written by Micah Anderson for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation. - -On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. - diff -Nru bitcoin-0.8.1/debian/manpages/bitcoind.1 bitcoin-0.8.5/debian/manpages/bitcoind.1 --- bitcoin-0.8.1/debian/manpages/bitcoind.1 2013-01-21 00:53:27.000000000 +0000 +++ bitcoin-0.8.5/debian/manpages/bitcoind.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,209 +0,0 @@ -.TH BITCOIND "1" "January 2011" "bitcoind 3.19" -.SH NAME -bitcoind \- peer-to-peer network based digital currency -.SH SYNOPSIS -bitcoin [options] [params] -.TP -bitcoin [options] help \- Get help for a command -.SH DESCRIPTION -This manual page documents the bitcoind program. Bitcoin is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages: - -Bitcoins can be sent easily through the Internet, without having to trust middlemen. Transactions are designed to be irreversible. Be safe from instability caused by fractional reserve banking and central banks. The limited inflation of the Bitcoin system’s money supply is distributed evenly (by CPU power) throughout the network, not monopolized by banks. - -.SH OPTIONS -.TP -\fB\-conf=\fR -Specify configuration file (default: bitcoin.conf) -.TP -\fB\-gen\fR -Generate coins -.TP -\fB\-gen\fR=\fI0\fR -Don't generate coins -.TP -\fB\-min\fR -Start minimized -.TP -\fB\-datadir=\fR -Specify data directory -.TP -\fB\-proxy=\fR -Connect through socks4 proxy -.TP -\fB\-addnode=\fR -Add a node to connect to -.TP -\fB\-connect=\fR -Connect only to the specified node -.TP -\fB\-paytxfee=\fR -Fee per KB to add to transactions you send -.TP -\fB\-server\fR -Accept command line and JSON\-RPC commands -.TP -\fB\-daemon\fR -Run in the background as a daemon and accept commands -.TP -\fB\-testnet\fR -Use the test network -.TP -\fB\-rpcuser=\fR -Username for JSON\-RPC connections -.TP -\fB\-rpcpassword=\fR -Password for JSON\-RPC connections -.TP -\fB\-rpcport=\fR -Listen for JSON\-RPC connections on -.TP -\fB\-rpcallowip=\fR -Allow JSON\-RPC connections from specified IP address -.TP -\fB\-rpcconnect=\fR -Send commands to node running on -.PP -SSL options: (see the Bitcoin Wiki for SSL setup instructions) -.TP -\fB\-rpcssl\fR=\fI1\fR -Use OpenSSL (https) for JSON\-RPC connections -.TP -\fB\-rpcsslcertificatchainfile=\fR -Server certificate file (default: server.cert) -.TP -\fB\-rpcsslprivatekeyfile=\fR -Server private key (default: server.pem) -.TP -\fB\-rpcsslciphers=\fR -Acceptable ciphers (default: TLSv1+HIGH:\:!SSLv2:\:!aNULL:\:!eNULL:\:!AH:\:!3DES:\:@STRENGTH) -.TP -\-? -This help message -.SH COMMANDS -.TP -\fBbackupwallet 'destination'\fR -Safely copies *wallet.dat* to 'destination', which can be a directory or a path with filename. -.TP -\fBgetaccount 'bitcoinaddress'\fR -Returns the account associated with the given address. -.TP -\fBsetaccount 'bitcoinaddress' ['account']\fR -Sets the ['account'] associated with the given address. ['account'] may be omitted to remove an address from ['account']. -.TP -\fBgetaccountaddress 'account'\fR -Returns a new bitcoin address for 'account'. -.TP -\fBgetaddressesbyaccount 'account'\fR -Returns the list of addresses associated with the given 'account'. -.TP -\fBgetbalance 'account'\fR -Returns the server's available balance, or the balance for 'account'. -.TP -\fBgetblockcount\fR -Returns the number of blocks in the longest block chain. -.TP -\fBgetblocknumber\fR -Returns the block number of the latest block in the longest block chain. -.TP -\fBgetconnectioncount\fR -Returns the number of connections to other nodes. -.TP -\fBgetdifficulty\fR -Returns the proof-of-work difficulty as a multiple of the minimum difficulty. -.TP -\fBgetgenerate\fR -Returns boolean true if server is trying to generate bitcoins, false otherwise. -.TP -\fBsetgenerate 'generate' ['genproclimit']\fR -Generation is limited to ['genproclimit'] processors, \-1 is unlimited. -.TP -\fBgethashespersec\fR -Returns a recent hashes per second performance measurement while generating. -.TP -\fBgetinfo\fR -Returns an object containing server information. -.TP -\fBgetnewaddress 'account'\fR -Returns a new bitcoin address for receiving payments. If 'account' is specified (recommended), it is added to the address book so payments received with the address will be credited to 'account'. -.TP -\fBgetreceivedbyaccount 'account' ['minconf=1']\fR -Returns the total amount received by addresses associated with 'account' in transactions with at least ['minconf'] confirmations. -.TP -\fBgetreceivedbyaddress 'bitcoinaddress' ['minconf=1']\fR -Returns the total amount received by 'bitcoinaddress' in transactions with at least ['minconf'] confirmations. -.TP -\fBgettransaction 'txid'\fR -Returns information about a specific transaction, given hexadecimal transaction ID. -.TP -\fBgetwork 'data'\fR -If 'data' is specified, tries to solve the block and returns true if it was successful. If 'data' is not specified, returns formatted hash 'data' to work on: - - "midstate" : precomputed hash state after hashing the first half of the data. - "data" : block data. - "hash1" : formatted hash buffer for second hash. - "target" : little endian hash target. -.TP -\fBhelp 'command'\fR -List commands, or get help for a command. -.TP -\fBlistaccounts ['minconf=1']\fR -List accounts and their current balances. - *note: requires bitcoin 0.3.20 or later. -.TP -\fBlistreceivedbyaccount ['minconf=1'] ['includeempty=false']\fR -['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing: - - "account" : the account of the receiving address. - "amount" : total amount received by the address. - "confirmations" : number of confirmations of the most recent transaction included. -.TP -\fBlistreceivedbyaddress ['minconf=1'] ['includeempty=false']\fR -['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing: - - "address" : receiving address. - "account" : the account of the receiving address. - "amount" : total amount received by the address. - "confirmations" : number of confirmations of the most recent transaction included. -.TP -\fBlisttransactions 'account' ['count=10']\fR -Returns a list of the last ['count'] transactions for 'account' \- for all accounts if 'account' is not specified or is "*". Each entry in the list may contain: - - "category" : will be generate, send, receive, or move. - "amount" : amount of transaction. - "fee" : Fee (if any) paid (only for send transactions). - "confirmations" : number of confirmations (only for generate/send/receive). - "txid" : transaction ID (only for generate/send/receive). - "otheraccount" : account funds were moved to or from (only for move). - "message" : message associated with transaction (only for send). - "to" : message-to associated with transaction (only for send). - - *note: requires bitcoin 0.3.20 or later. -.TP -\fBmove <'fromaccount'> <'toaccount'> <'amount'> ['minconf=1'] ['comment']\fR -Moves funds between accounts. -.TP -\fBsendfrom* <'account'> <'bitcoinaddress'> <'amount'> ['minconf=1'] ['comment'] ['comment-to']\fR -Sends amount from account's balance to 'bitcoinaddress'. This method will fail if there is less than amount bitcoins with ['minconf'] confirmations in the account's balance (unless account is the empty-string-named default account; it behaves like the *sendtoaddress* method). Returns transaction ID on success. -.TP -\fBsendtoaddress 'bitcoinaddress' 'amount' ['comment'] ['comment-to']\fR -Sends amount from the server's available balance to 'bitcoinaddress'. amount is a real and is rounded to the nearest 0.01. Returns transaction id on success. -.TP -\fBstop\fR -Stops the bitcoin server. -.TP -\fBvalidateaddress 'bitcoinaddress'\fR -Checks that 'bitcoinaddress' looks like a proper bitcoin address. Returns an object containing: - - "isvalid" : true or false. - "ismine" : true if the address is in the server's wallet. - "address" : bitcoinaddress. - - *note: ismine and address are only returned if the address is valid. - -.SH "SEE ALSO" -bitcoin.conf(5) -.SH AUTHOR -This manual page was written by Micah Anderson for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation. - -On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. - diff -Nru bitcoin-0.8.1/debian/patches/1002_libdb-squeeze.patch bitcoin-0.8.5/debian/patches/1002_libdb-squeeze.patch --- bitcoin-0.8.1/debian/patches/1002_libdb-squeeze.patch 2013-02-26 19:15:14.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/1002_libdb-squeeze.patch 2013-09-13 15:49:38.000000000 +0000 @@ -6,9 +6,9 @@ Index: bitcoin/src/db.cpp =================================================================== ---- bitcoin.orig/src/db.cpp 2013-02-26 14:14:54.044752659 -0500 -+++ bitcoin/src/db.cpp 2013-02-26 14:15:10.396752580 -0500 -@@ -85,7 +85,11 @@ +--- bitcoin.orig/src/db.cpp 2013-05-31 17:52:47.624320248 -0400 ++++ bitcoin/src/db.cpp 2013-05-31 17:54:00.668321984 -0400 +@@ -83,7 +83,11 @@ dbenv.set_errfile(fopen(pathErrorFile.string().c_str(), "a")); /// debug dbenv.set_flags(DB_AUTO_COMMIT, 1); dbenv.set_flags(DB_TXN_WRITE_NOSYNC, 1); @@ -17,10 +17,10 @@ +#else dbenv.log_set_config(DB_LOG_AUTO_REMOVE, 1); +#endif - int ret = dbenv.open(strPath.c_str(), + int ret = dbenv.open(path.string().c_str(), DB_CREATE | DB_INIT_LOCK | -@@ -120,7 +124,11 @@ +@@ -117,7 +121,11 @@ dbenv.set_lk_max_locks(10000); dbenv.set_lk_max_objects(10000); dbenv.set_flags(DB_AUTO_COMMIT, 1); diff -Nru bitcoin-0.8.1/debian/patches/1003_qmake_cleanup.patch bitcoin-0.8.5/debian/patches/1003_qmake_cleanup.patch --- bitcoin-0.8.1/debian/patches/1003_qmake_cleanup.patch 2013-02-26 19:15:29.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/1003_qmake_cleanup.patch 2013-09-13 15:49:38.000000000 +0000 @@ -3,9 +3,9 @@ Last-Update: 2012-12-23 Index: bitcoin/bitcoin-qt.pro =================================================================== ---- bitcoin.orig/bitcoin-qt.pro 2013-02-26 14:14:53.956752660 -0500 -+++ bitcoin/bitcoin-qt.pro 2013-02-26 14:15:23.188752518 -0500 -@@ -123,6 +123,7 @@ +--- bitcoin.orig/bitcoin-qt.pro 2013-05-31 17:54:23.244322521 -0400 ++++ bitcoin/bitcoin-qt.pro 2013-05-31 17:54:23.240322521 -0400 +@@ -126,6 +126,7 @@ PRE_TARGETDEPS += $$OUT_PWD/build/build.h QMAKE_EXTRA_TARGETS += genbuild DEFINES += HAVE_BUILD_INFO diff -Nru bitcoin-0.8.1/debian/patches/1005_use_system_leveldb.patch bitcoin-0.8.5/debian/patches/1005_use_system_leveldb.patch --- bitcoin-0.8.1/debian/patches/1005_use_system_leveldb.patch 2013-03-26 00:18:26.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/1005_use_system_leveldb.patch 2013-09-13 15:49:38.000000000 +0000 @@ -4,11 +4,11 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700910 Index: bitcoin/src/makefile.unix =================================================================== ---- bitcoin.orig/src/makefile.unix 2013-03-21 12:18:50.359479054 -0400 -+++ bitcoin/src/makefile.unix 2013-03-21 12:19:16.307479671 -0400 -@@ -36,6 +36,10 @@ - -l ssl \ - -l crypto +--- bitcoin.orig/src/makefile.unix 2013-05-31 18:06:01.480339115 -0400 ++++ bitcoin/src/makefile.unix 2013-05-31 18:09:05.912343499 -0400 +@@ -46,6 +46,10 @@ + -Wl,-B$(LMODE) \ + -l boost_unit_test_framework$(BOOST_LIB_SUFFIX) +TESTLIBS += \ + -Wl,-B$(LMODE) \ @@ -17,7 +17,7 @@ ifndef USE_UPNP override USE_UPNP = - endif -@@ -100,8 +104,7 @@ +@@ -110,8 +114,7 @@ # adds some defaults in front. Unfortunately, LDFLAGS=... $(LDFLAGS) does not work. xLDFLAGS=$(LDHARDENING) $(LDFLAGS) @@ -27,15 +27,15 @@ obj/alert.o \ obj/version.o \ obj/checkpoints.o \ -@@ -110,7 +113,6 @@ +@@ -120,7 +123,6 @@ obj/crypter.o \ obj/key.o \ obj/db.o \ - obj/init.o \ - obj/irc.o \ obj/keystore.o \ obj/main.o \ -@@ -131,9 +133,18 @@ + obj/net.o \ +@@ -140,9 +142,18 @@ obj/hash.o \ obj/bloom.o \ obj/noui.o \ @@ -55,7 +55,7 @@ all: bitcoind -@@ -144,11 +155,10 @@ +@@ -153,11 +164,10 @@ # LevelDB support # MAKEOVERRIDES = @@ -71,7 +71,7 @@ # auto-generated dependencies: -include obj/*.P -@@ -159,27 +169,29 @@ +@@ -168,27 +178,29 @@ version.cpp: obj/build.h DEFS += -DHAVE_BUILD_INFO @@ -107,7 +107,7 @@ + $(P_TO_D) -test_bitcoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) -- $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS) +- $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ $(TESTLIBS) $(xLDFLAGS) $(LIBS) +test_bitcoin: $(TESTOBJS) + $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ $(TESTLIBS) $(xLDFLAGS) $(LIBS) $$PWD/leveldb/libmemenv.a @@ -115,9 +115,9 @@ -rm -f bitcoind test_bitcoin Index: bitcoin/bitcoin-qt.pro =================================================================== ---- bitcoin.orig/bitcoin-qt.pro 2013-03-21 12:18:50.359479054 -0400 -+++ bitcoin/bitcoin-qt.pro 2013-03-21 12:18:50.351479054 -0400 -@@ -96,10 +96,9 @@ +--- bitcoin.orig/bitcoin-qt.pro 2013-05-31 18:06:01.480339115 -0400 ++++ bitcoin/bitcoin-qt.pro 2013-05-31 18:11:09.928346446 -0400 +@@ -98,11 +98,10 @@ QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets } @@ -125,14 +125,15 @@ -LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a +LIBS += -lleveldb !win32 { -- genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a -+ genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libmemenv.a + # we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences +- genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a ++ genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libmemenv.a } else { # make an educated guess about what the ranlib command is called isEmpty(QMAKE_RANLIB) { -@@ -108,12 +107,12 @@ +@@ -111,12 +110,12 @@ LIBS += -lshlwapi - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a } -genleveldb.target = $$PWD/src/leveldb/libleveldb.a +genleveldb.target = $$PWD/src/leveldb/libmemenv.a @@ -148,8 +149,8 @@ !win32|contains(USE_BUILD_INFO, 1) { Index: bitcoin/src/leveldb.cpp =================================================================== ---- bitcoin.orig/src/leveldb.cpp 2013-03-21 12:18:50.359479054 -0400 -+++ bitcoin/src/leveldb.cpp 2013-03-21 12:18:50.351479054 -0400 +--- bitcoin.orig/src/leveldb.cpp 2013-05-31 18:06:01.480339115 -0400 ++++ bitcoin/src/leveldb.cpp 2013-05-31 18:06:01.476339115 -0400 @@ -8,7 +8,9 @@ #include #include @@ -160,7 +161,7 @@ #include -@@ -42,8 +44,12 @@ +@@ -43,8 +45,12 @@ options = GetOptions(nCacheSize); options.create_if_missing = true; if (fMemory) { diff -Nru bitcoin-0.8.1/debian/patches/1006_libmemenv_kfrebsd.patch bitcoin-0.8.5/debian/patches/1006_libmemenv_kfrebsd.patch --- bitcoin-0.8.1/debian/patches/1006_libmemenv_kfrebsd.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/1006_libmemenv_kfrebsd.patch 2013-09-13 15:49:38.000000000 +0000 @@ -0,0 +1,21 @@ +Description: Allow compilation on kFreeBSD. +From: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=640378 +Forwarded: http://code.google.com/p/leveldb/issues/detail?id=38 + +Index: bitcoin/src/leveldb/build_detect_platform +=================================================================== +--- bitcoin.orig/src/leveldb/build_detect_platform 2013-09-03 23:02:09.861470907 -0400 ++++ bitcoin/src/leveldb/build_detect_platform 2013-09-03 23:02:09.853470907 -0400 +@@ -145,6 +145,12 @@ + PORT_FILE=port/port_win.cc + CROSS_COMPILE=true + ;; ++ GNU/kFreeBSD) ++ PLATFORM=OS_FREEBSD ++ PLATFORM_CFLAGS="-pthread -DOS_FREEBSD" ++ PLATFORM_LIBS="-lpthread -lrt" ++ PORT_FILE=port/port_posix.cc ++ ;; + *) + echo "Unknown platform!" >&2 + exit 1 diff -Nru bitcoin-0.8.1/debian/patches/1007_libmemenv_hurd.patch bitcoin-0.8.5/debian/patches/1007_libmemenv_hurd.patch --- bitcoin-0.8.1/debian/patches/1007_libmemenv_hurd.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/1007_libmemenv_hurd.patch 2013-09-13 15:49:38.000000000 +0000 @@ -0,0 +1,38 @@ +Author: Pino Toscano +Description: Support for GNU/Hurd + This adds support for GNU/Hurd: + - detect the correct platform + - ignore msync() errors when they are ENOSYS, like currently it happens on + GNU/Hurd (not something that can be sent upstream, though) +Last-Update: 2011-12-01 + +Index: bitcoin/src/leveldb/build_detect_platform +=================================================================== +--- bitcoin.orig/src/leveldb/build_detect_platform 2013-09-03 23:02:22.781471214 -0400 ++++ bitcoin/src/leveldb/build_detect_platform 2013-09-03 23:02:22.773471214 -0400 +@@ -151,6 +151,12 @@ + PLATFORM_LIBS="-lpthread -lrt" + PORT_FILE=port/port_posix.cc + ;; ++ GNU) ++ PLATFORM=OS_HURD ++ PLATFORM_CFLAGS="-pthread -DOS_HURD" ++ PLATFORM_LIBS="-lpthread" ++ PORT_FILE=port/port_posix.cc ++ ;; + *) + echo "Unknown platform!" >&2 + exit 1 +Index: bitcoin/src/leveldb/util/env_posix.cc +=================================================================== +--- bitcoin.orig/src/leveldb/util/env_posix.cc 2013-09-03 23:02:22.781471214 -0400 ++++ bitcoin/src/leveldb/util/env_posix.cc 2013-09-03 23:02:22.777471214 -0400 +@@ -337,7 +337,7 @@ + size_t p1 = TruncateToPageBoundary(last_sync_ - base_); + size_t p2 = TruncateToPageBoundary(dst_ - base_ - 1); + last_sync_ = dst_; +- if (msync(base_ + p1, p2 - p1 + page_size_, MS_SYNC) < 0) { ++ if (msync(base_ + p1, p2 - p1 + page_size_, MS_SYNC) < 0 && errno != ENOSYS) { + s = IOError(filename_, errno); + } + } diff -Nru bitcoin-0.8.1/debian/patches/1008_libmemenv_cstdatomic_renaming.patch bitcoin-0.8.5/debian/patches/1008_libmemenv_cstdatomic_renaming.patch --- bitcoin-0.8.1/debian/patches/1008_libmemenv_cstdatomic_renaming.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/1008_libmemenv_cstdatomic_renaming.patch 2013-09-13 15:49:38.000000000 +0000 @@ -0,0 +1,33 @@ +Description: cstdatomic has been renamed to atomic, fix #include statements. +Bug: http://code.google.com/p/leveldb/issues/detail?id=3 +--- + build_detect_platform | 2 +- + port/atomic_pointer.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: bitcoin/src/leveldb/build_detect_platform +=================================================================== +--- bitcoin.orig/src/leveldb/build_detect_platform 2013-09-03 23:02:40.897471645 -0400 ++++ bitcoin/src/leveldb/build_detect_platform 2013-09-03 23:03:56.625473444 -0400 +@@ -189,7 +189,7 @@ + + # If -std=c++0x works, use . Otherwise use port_posix.h. + $CXX $CXXFLAGS -std=c++0x -x c++ - -o $CXXOUTPUT 2>/dev/null < ++ #include + int main() {} + EOF + if [ "$?" = 0 ]; then +Index: bitcoin/src/leveldb/port/atomic_pointer.h +=================================================================== +--- bitcoin.orig/src/leveldb/port/atomic_pointer.h 2013-09-03 23:02:40.897471645 -0400 ++++ bitcoin/src/leveldb/port/atomic_pointer.h 2013-09-03 23:02:40.893471644 -0400 +@@ -21,7 +21,7 @@ + + #include + #ifdef LEVELDB_CSTDATOMIC_PRESENT +-#include ++#include + #endif + #ifdef OS_WIN + #include diff -Nru bitcoin-0.8.1/debian/patches/2002_libmemenv_debian-ports.patch bitcoin-0.8.5/debian/patches/2002_libmemenv_debian-ports.patch --- bitcoin-0.8.1/debian/patches/2002_libmemenv_debian-ports.patch 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/2002_libmemenv_debian-ports.patch 2013-09-13 15:49:38.000000000 +0000 @@ -0,0 +1,203 @@ +Description: Add support for most of Debian architectures +Author: Nobuhiro Iwamatsu + +Index: bitcoin/src/leveldb/port/atomic_pointer.h +=================================================================== +--- bitcoin.orig/src/leveldb/port/atomic_pointer.h 2013-03-28 14:03:07.050728370 -0400 ++++ bitcoin/src/leveldb/port/atomic_pointer.h 2013-03-28 14:03:07.046728370 -0400 +@@ -38,6 +38,18 @@ + #define ARCH_CPU_ARM_FAMILY 1 + #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__) + #define ARCH_CPU_PPC_FAMILY 1 ++#elif defined(__ia64__) ++#define ARCH_CPU_IA64_FAMILY 1 ++#elif defined(__alpha__) ++#define ARCH_CPU_ALPHA_FAMILY 1 ++#elif defined(__s390x__) || defined(__s390__) ++#define ARCH_CPU_S390_FAMILY 1 ++#elif defined(__sparc__) || defined(__sparc64__) ++#define ARCH_CPU_SPARC_FAMILY 1 ++#elif defined(__sh__) ++#define ARCH_CPU_SH_FAMILY 1 ++#elif defined(__hppa__) || defined(__parisc__) ++#define ARCH_CPU_PARISC_FAMILY 1 + #endif + + namespace leveldb { +@@ -50,9 +62,17 @@ + // http://msdn.microsoft.com/en-us/library/ms684208(v=vs.85).aspx + #define LEVELDB_HAVE_MEMORY_BARRIER + ++#define ReadMemoryBarrier MemoryBarrier() ++#define WriteMemoryBarrier MemoryBarrier() ++ + // Gcc on x86 + #elif defined(ARCH_CPU_X86_FAMILY) && defined(__GNUC__) +-inline void MemoryBarrier() { ++inline void ReadMemoryBarrier() { ++ // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on ++ // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. ++ __asm__ __volatile__("" : : : "memory"); ++} ++inline void WriteMemoryBarrier() { + // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on + // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. + __asm__ __volatile__("" : : : "memory"); +@@ -61,7 +81,12 @@ + + // Sun Studio + #elif defined(ARCH_CPU_X86_FAMILY) && defined(__SUNPRO_CC) +-inline void MemoryBarrier() { ++inline void ReadMemoryBarrier() { ++ // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on ++ // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. ++ asm volatile("" : : : "memory"); ++} ++inline void WriteMemoryBarrier() { + // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on + // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. + asm volatile("" : : : "memory"); +@@ -70,7 +95,10 @@ + + // Mac OS + #elif defined(OS_MACOSX) +-inline void MemoryBarrier() { ++inline void ReadMemoryBarrier() { ++ OSMemoryBarrier(); ++} ++inline void WriteMemoryBarrier() { + OSMemoryBarrier(); + } + #define LEVELDB_HAVE_MEMORY_BARRIER +@@ -88,17 +116,99 @@ + // shows that the extra function call cost is completely negligible on + // multi-core devices. + // +-inline void MemoryBarrier() { ++inline void ReadMemoryBarrier() { ++ (*(LinuxKernelMemoryBarrierFunc)0xffff0fa0)(); ++} ++inline void WriteMemoryBarrier() { + (*(LinuxKernelMemoryBarrierFunc)0xffff0fa0)(); + } + #define LEVELDB_HAVE_MEMORY_BARRIER + + // PPC + #elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__) +-inline void MemoryBarrier() { +- // TODO for some powerpc expert: is there a cheaper suitable variant? +- // Perhaps by having separate barriers for acquire and release ops. +- asm volatile("sync" : : : "memory"); ++ ++inline void ReadMemoryBarrier() { ++#ifdef __powerpc64__ ++ __asm__ __volatile__ ("lwsync" : : : "memory"); ++#else ++ __asm__ __volatile__ ("sync" : : : "memory"); ++#endif ++} ++inline void WriteMemoryBarrier() { ++ __asm__ __volatile__ ("sync" : : : "memory"); ++} ++#define LEVELDB_HAVE_MEMORY_BARRIER ++ ++// IA64 ++#elif defined(ARCH_CPU_IA64_FAMILY) ++inline void ReadMemoryBarrier() { ++ __asm__ __volatile__ ("mf" : : : "memory"); ++} ++inline void WriteMemoryBarrier() { ++ __asm__ __volatile__ ("mf" : : : "memory"); ++} ++#define LEVELDB_HAVE_MEMORY_BARRIER ++ ++// ALPHA ++#elif defined(ARCH_CPU_ALPHA_FAMILY) ++ ++inline void ReadMemoryBarrier() { ++ __asm__ __volatile__("mb" : : : "memory"); ++} ++inline void WriteMemoryBarrier() { ++ __asm__ __volatile__("wmb" : : : "memory"); ++} ++#define LEVELDB_HAVE_MEMORY_BARRIER ++ ++// S390 ++#elif defined(ARCH_CPU_S390_FAMILY) ++ ++inline void ReadMemoryBarrier() { ++ asm volatile("bcr 15,0" : : : "memory"); ++} ++inline void WriteMemoryBarrier() { ++ asm volatile("bcr 15,0" : : : "memory"); ++} ++#define LEVELDB_HAVE_MEMORY_BARRIER ++ ++// SPARC ++#elif defined(ARCH_CPU_SPARC_FAMILY) ++ ++inline void ReadMemoryBarrier() { ++ __asm__ __volatile__("" : : : "memory"); ++} ++inline void WriteMemoryBarrier() { ++ __asm__ __volatile__("" : : : "memory"); ++} ++#define LEVELDB_HAVE_MEMORY_BARRIER ++ ++// SH ++#elif defined(ARCH_CPU_SH_FAMILY) ++#if defined(__SH4A__) || defined(__SH5__) ++inline void ReadMemoryBarrier() { ++ __asm__ __volatile__ ("synco": : :"memory"); ++} ++inline void WriteMemoryBarrier() { ++ __asm__ __volatile__ ("synco": : :"memory"); ++} ++#else ++inline void ReadMemoryBarrier() { ++ __asm__ __volatile__ ("": : :"memory"); ++} ++inline void WriteMemoryBarrier() { ++ __asm__ __volatile__ ("": : :"memory"); ++} ++#endif ++#define LEVELDB_HAVE_MEMORY_BARRIER ++ ++// PARISC ++#elif defined(ARCH_CPU_PARISC_FAMILY) ++ ++inline void ReadMemoryBarrier() { ++ __asm__ __volatile__("" : : : "memory") ++} ++inline void WriteMemoryBarrier() { ++ __asm__ __volatile__("" : : : "memory") + } + #define LEVELDB_HAVE_MEMORY_BARRIER + +@@ -116,11 +226,11 @@ + inline void NoBarrier_Store(void* v) { rep_ = v; } + inline void* Acquire_Load() const { + void* result = rep_; +- MemoryBarrier(); ++ ReadMemoryBarrier(); + return result; + } + inline void Release_Store(void* v) { +- MemoryBarrier(); ++ WriteMemoryBarrier(); + rep_ = v; + } + }; +@@ -217,6 +327,12 @@ + #undef ARCH_CPU_X86_FAMILY + #undef ARCH_CPU_ARM_FAMILY + #undef ARCH_CPU_PPC_FAMILY ++#undef ARCH_CPU_IA64_FAMILY ++#undef ARCH_CPU_ALPHA_FAMILY ++#undef ARCH_CPU_S390_FAMILY ++#undef ARCH_CPU_SPARC_FAMILY ++#undef ARCH_CPU_SH_FAMILY ++#undef ARCH_CPU_PARISC_FAMILY + + } // namespace port + } // namespace leveldb diff -Nru bitcoin-0.8.1/debian/patches/series bitcoin-0.8.5/debian/patches/series --- bitcoin-0.8.1/debian/patches/series 2013-02-26 19:52:24.000000000 +0000 +++ bitcoin-0.8.5/debian/patches/series 2013-09-13 15:49:38.000000000 +0000 @@ -1,6 +1,10 @@ #1001_use_system_json-spirit.patch 1002_libdb-squeeze.patch 1003_qmake_cleanup.patch -1005_use_system_leveldb.patch +#1005_use_system_leveldb.patch +1006_libmemenv_kfrebsd.patch +1007_libmemenv_hurd.patch +1008_libmemenv_cstdatomic_renaming.patch 2001_stupify_header_script.patch -3001_debug_bts_672524.patch +2002_libmemenv_debian-ports.patch +#3001_debug_bts_672524.patch diff -Nru bitcoin-0.8.1/debian/rules bitcoin-0.8.5/debian/rules --- bitcoin-0.8.1/debian/rules 2013-03-26 00:18:26.000000000 +0000 +++ bitcoin-0.8.5/debian/rules 2013-09-13 15:49:38.000000000 +0000 @@ -23,12 +23,12 @@ include /usr/share/cdbs/1/rules/utils.mk # linker failures suspected to be caused by parallel builds unsupported -#DEB_BUILD_PARALLEL = 1 +DEB_BUILD_PARALLEL = 1 DEB_UPSTREAM_URL = https://github.com/bitcoin/bitcoin/archive DEB_UPSTREAM_TARBALL_BASENAME = v$(DEB_UPSTREAM_TARBALL_VERSION) DEB_UPSTREAM_TARBALL_BASENAME_MANGLE = s/~(alpha|beta|rc)/\1/ -DEB_UPSTREAM_TARBALL_MD5 = d767f23fa7a2ce0143f738b30deb32e0 +DEB_UPSTREAM_TARBALL_MD5 = 384696b39f3b48bd322a496e6141279c # Ignore graphics and .mo files in addition to the default debian files DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^(doc/bitcoin_logo_doxygen\.png|src/qt/res/icons/.*\.png|contrib/Bitcoin.app/Contents/Resources/BitcoinAppIcon\.icns|contrib/gitian-downloader/sipa-key\.pgp|debian/(changelog|copyright(|_hints|_newhints)))$ @@ -38,8 +38,23 @@ pre-build:: mkdir -p "$(fakehome)" clean:: - rm -rf "$(fakehome)" - + rm -rf "$(fakehome)" $(CURDIR)/share/pixmaps/hicolor $(CURDIR)/share/pixmaps/convert +configure/bitcoin-qt:: debian/stamps-perpkg-configure/bitcoin-qt +debian/stamps-perpkg-configure/bitcoin-qt: + mkdir -p debian/stamps-perpkg-configure + mkdir -p $(CURDIR)/share/pixmaps/hicolor/256x256/apps \ + $(CURDIR)/share/pixmaps/hicolor/64x64/apps \ + $(CURDIR)/share/pixmaps/hicolor/48x48/apps \ + $(CURDIR)/share/pixmaps/hicolor/32x32/apps \ + $(CURDIR)/share/pixmaps/hicolor/16x16/apps + mkdir $(CURDIR)/share/pixmaps/convert + icotool -x -o $(CURDIR)/share/pixmaps/convert $(CURDIR)/share/pixmaps/bitcoin.ico + mv $(CURDIR)/share/pixmaps/convert/bitcoin_2_256x256x32.png $(CURDIR)/share/pixmaps/hicolor/256x256/apps/bitcoin.png + mv $(CURDIR)/share/pixmaps/convert/bitcoin_3_64x64x32.png $(CURDIR)/share/pixmaps/hicolor/64x64/apps/bitcoin.png + mv $(CURDIR)/share/pixmaps/convert/bitcoin_4_48x48x32.png $(CURDIR)/share/pixmaps/hicolor/48x48/apps/bitcoin.png + mv $(CURDIR)/share/pixmaps/convert/bitcoin_5_32x32x32.png $(CURDIR)/share/pixmaps/hicolor/32x32/apps/bitcoin.png + mv $(CURDIR)/share/pixmaps/convert/bitcoin_7_16x16x32.png $(CURDIR)/share/pixmaps/hicolor/16x16/apps/bitcoin.png + touch $@ # Use per-package targets and variables for daemon build rules # TODO: instead use per-flavor variables, when supported by qmake.mk DEB_BUILDDIR_bitcoind = src @@ -48,9 +63,9 @@ debian/stamps-perpkg-build/bitcoind: mkdir -p debian/stamps-perpkg-build +$(DEB_MAKE_INVOKE) - @echo "Debug output for #672524" - pwd - ls -Rl . + #@echo "Debug output for #672524" + #pwd + #ls -Rl . $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,$(DEB_MAKE_INVOKE) test_bitcoin) $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,HOME="$(fakehome)" src/test_bitcoin) touch $@ @@ -58,7 +73,7 @@ clean/bitcoind:: -$(DEB_MAKE_INVOKE) -k clean clean:: clean/bitcoind - rm -rf debian/stamps-perpkg-build + rm -rf debian/stamps-perpkg* DEB_QMAKE_ARGS = USE_DBUS=1 USE_QRCODE=1 @@ -80,9 +95,9 @@ # Use optimized miner for amd64 only CXXFLAGS += $(if $(filter amd64,$(DEB_HOST_ARCH)),-DFOURWAYSSE2) -DEB_INSTALL_EXAMPLES_bitcoind += debian/examples/* -DEB_INSTALL_MANPAGES_bitcoind += debian/manpages/bitcoind.1 debian/manpages/bitcoin.conf.5 -DEB_INSTALL_MANPAGES_bitcoin-qt += debian/manpages/bitcoin-qt.1 +DEB_INSTALL_EXAMPLES_bitcoind += contrib/debian/examples/* +DEB_INSTALL_MANPAGES_bitcoind += contrib/debian/manpages/bitcoind.1 contrib/debian/manpages/bitcoin.conf.5 +DEB_INSTALL_MANPAGES_bitcoin-qt += contrib/debian/manpages/bitcoin-qt.1 # Apparently any recent boost is ok. boostver = @@ -99,11 +114,14 @@ CDBS_BUILD_DEPENDS += , libdb$(bdbver)++-dev | libdb$(bdbstablever)++-dev CDBS_SUGGESTS_bitcoind = db$(bdbver)-util, db$(bdbstablever)-util -CDBS_BUILD_DEPENDS += , libssl-dev, pkg-config, libleveldb-dev +CDBS_BUILD_DEPENDS += , libssl-dev, pkg-config # Build dependencies for the bitcoin-qt package CDBS_BUILD_DEPENDS += , qt4-qmake, libqt4-dev, libqrencode-dev +# Build dependencies for extracting icons +CDBS_BUILD_DEPENDS += icoutils + # Upstream README contains no parts relevant for Debian usage DEB_INSTALL_DOCS_ALL = @@ -114,7 +132,3 @@ find src/obj -type f -not -name .gitignore -delete -rmdir --ignore-fail-on-non-empty build rm -f src/bitcoind - -# Ensure wrapper is set executable -binary-post-install/bitcoind:: - chmod +x debian/bitcoind/usr/bin/bitcoind diff -Nru bitcoin-0.8.1/doc/README bitcoin-0.8.5/doc/README --- bitcoin-0.8.1/doc/README 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -Bitcoin 0.8.1 BETA - -Copyright (c) 2009-2013 Bitcoin Developers -Distributed under the MIT/X11 software license, see the accompanying -file COPYING or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com). - - -Intro ------ -Bitcoin is a free open source peer-to-peer electronic cash system that is -completely decentralized, without the need for a central server or trusted -parties. Users hold the crypto keys to their own money and transact directly -with each other, with the help of a P2P network to check for double-spending. - - -Setup ------ -You need the Qt4 run-time libraries to run Bitcoin-Qt. On Debian or Ubuntu: - sudo apt-get install libqtgui4 - -Unpack the files into a directory and run: - bin/32/bitcoin-qt (GUI, 32-bit) - bin/32/bitcoind (headless, 32-bit) - bin/64/bitcoin-qt (GUI, 64-bit) - bin/64/bitcoind (headless, 64-bit) - - -See the documentation at the bitcoin wiki: - https://en.bitcoin.it/wiki/Main_Page -for help and more information. diff -Nru bitcoin-0.8.1/doc/README.md bitcoin-0.8.5/doc/README.md --- bitcoin-0.8.1/doc/README.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/README.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,46 @@ +Bitcoin 0.8.5 BETA +==================== + +Copyright (c) 2009-2013 Bitcoin Developers + +Distributed under the MIT/X11 software license, see the accompanying +file COPYING or http://www.opensource.org/licenses/mit-license.php. +This product includes software developed by the OpenSSL Project for use in the [OpenSSL Toolkit](http://www.openssl.org/). This product includes +cryptographic software written by Eric Young ([eay@cryptsoft.com](mailto:eay@cryptsoft.com)), and UPnP software written by Thomas Bernard. + + +Intro +--------------------- +Bitcoin is a free open source peer-to-peer electronic cash system that is +completely decentralized, without the need for a central server or trusted +parties. Users hold the crypto keys to their own money and transact directly +with each other, with the help of a P2P network to check for double-spending. + + +Setup +--------------------- +You need the Qt4 run-time libraries to run Bitcoin-Qt. On Debian or Ubuntu: + `sudo apt-get install libqtgui4` + +Unpack the files into a directory and run: + +- bin/32/bitcoin-qt (GUI, 32-bit) +- bin/32/bitcoind (headless, 32-bit) +- bin/64/bitcoin-qt (GUI, 64-bit) +- bin/64/bitcoind (headless, 64-bit) + +See the documentation at the [Bitcoin Wiki](https://en.bitcoin.it/wiki/Main_Page) +for help and more information. + + +Other Pages +--------------------- +- [Unix Build Notes](build-unix.md) +- [OSX Build Notes](build-osx.md) +- [Windows Build Notes](build-msw.md) +- [Coding Guidelines](coding.md) +- [Release Process](release-process.md) +- [Release Notes](release-notes.md) +- [Multiwallet Qt Development](multiwallet-qt.md) +- [Unit Tests](unit-tests.md) +- [Translation Process](translation_process.md) diff -Nru bitcoin-0.8.1/doc/README_windows.txt bitcoin-0.8.5/doc/README_windows.txt --- bitcoin-0.8.1/doc/README_windows.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/README_windows.txt 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,4 @@ -Bitcoin 0.8.1 BETA +Bitcoin 0.8.5 BETA Copyright (c) 2009-2013 Bitcoin Developers Distributed under the MIT/X11 software license, see the accompanying @@ -20,15 +20,10 @@ ----- Unpack the files into a directory and run bitcoin-qt.exe. -If you have Microsoft Security Essentials, you need to add bitcoin.exe to its -"Excluded processes" list. Microsoft Security Essentials->Settings tab, -select Excluded processes, press Add, select bitcoin.exe, OK, Save changes. - -The software automatically finds other nodes to connect to. You can -enable Universal Plug and Play using a menu entry or set your firewall -to forward port 8333 (TCP) to your computer so you can receive -incoming connections. Bitcoin works without incoming connections, -but allowing incoming connections helps the Bitcoin network. +Bitcoin-Qt is the original Bitcoin client and it builds the backbone of the network. +However, it downloads and stores the entire history of Bitcoin transactions; +depending on the speed of your computer and network connection, the synchronization +process can take anywhere from a few hours to a day or more. See the bitcoin wiki at: https://en.bitcoin.it/wiki/Main_Page diff -Nru bitcoin-0.8.1/doc/Tor.txt bitcoin-0.8.5/doc/Tor.txt --- bitcoin-0.8.1/doc/Tor.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/Tor.txt 2013-09-12 03:35:18.000000000 +0000 @@ -3,7 +3,7 @@ It is possible to run Bitcoin as a Tor hidden service, and connect to such services. -The following assumes you have a Tor proxy running on port 9050. Many distributions +The following directions assume you have a Tor proxy running on port 9050. Many distributions default to having a SOCKS proxy listening on port 9050, but others may not. In particular, the Tor Browser Bundle defaults to listening on a random port. See https://www.torproject.org/docs/faq.html.en#TBBSocksPort for how to properly @@ -77,7 +77,7 @@ ./bitcoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen -(obviously replace the Onion address with your own). If you don't care too much +(obviously, replace the Onion address with your own). If you don't care too much about hiding your node, and want to be reachable on IPv4 as well, additionally specify: diff -Nru bitcoin-0.8.1/doc/assets-attribution.txt bitcoin-0.8.5/doc/assets-attribution.txt --- bitcoin-0.8.1/doc/assets-attribution.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/assets-attribution.txt 2013-09-12 03:35:18.000000000 +0000 @@ -1,5 +1,8 @@ Icon: src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png, - src/qt/res/src/*.svg + src/qt/res/src/clock_green.svg, src/qt/res/src/clock1.svg, + src/qt/res/src/clock2.svg, src/qt/res/src/clock3.svg, + src/qt/res/src/clock4.svg, src/qt/res/src/clock5.svg, + src/qt/res/src/inout.svg, src/qt/res/src/questionmark.svg Designer: Wladimir van der Laan License: MIT @@ -35,23 +38,21 @@ Icon Pack: Crystal SVG License: LGPL -Icon: src/qt/res/icons/bitcoin.png, src/qt/res/icons/toolbar.png -Designer: Bitboy (optimized for 16x16 by Wladimir van der Laan) -License: Public Domain -Site: https://bitcointalk.org/?topic=1756.0 - -Icon: scripts/img/reload.xcf (modified),src/qt/res/movies/update_spinner.mng +Icon: scripts/img/reload.xcf (modified), src/qt/res/movies/update_spinner.mng Icon Pack: Kids Designer: Everaldo (Everaldo Coelho) License: GNU/GPL Site: http://findicons.com/icon/17102/reload?id=17102 -Image: src/qt/res/images/splash2.jpg (Wallet image) -Designer: Crobbo (forum) -Site: https://bitcointalk.org/index.php?topic=32273.0 -License: Public domain - Icon: src/qt/res/icons/debugwindow.png Designer: Vignoni David Site: http://www.oxygen-icons.org/ License: Oxygen icon theme is dual licensed. You may copy it under the Creative Common Attribution-ShareAlike 3.0 License or the GNU Library General Public License. + +Icon: src/qt/res/icons/bitcoin.icns, src/qt/res/src/bitcoin.svg, + src/qt/res/src/bitcoin.ico, src/qt/res/src/bitcoin.png, + src/qt/res/src/bitcoin_testnet.png, docs/bitcoin_logo_doxygen.png, + src/qt/res/icons/toolbar.png, src/qt/res/icons/toolbar_testnet.png, + src/qt/res/images/splash.png, src/qt/res/images/splash_testnet.png +Designer: Jonas Schnelli (based on the original bitcoin logo from Bitboy) +License: MIT Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/doc/bitcoin_logo_doxygen.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/doc/bitcoin_logo_doxygen.png differ diff -Nru bitcoin-0.8.1/doc/build-msw.md bitcoin-0.8.5/doc/build-msw.md --- bitcoin-0.8.1/doc/build-msw.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/build-msw.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,90 @@ +Copyright (c) 2009-2013 Bitcoin Developers + +Distributed under the MIT/X11 software license, see the accompanying +file COPYING or http://www.opensource.org/licenses/mit-license.php. +This product includes software developed by the OpenSSL Project for use in the [OpenSSL Toolkit](http://www.openssl.org/). This product includes +cryptographic software written by Eric Young ([eay@cryptsoft.com](mailto:eay@cryptsoft.com)), and UPnP software written by Thomas Bernard. + + +See readme-qt.rst for instructions on building Bitcoin-Qt, the +graphical user interface. + +WINDOWS BUILD NOTES +=================== + +Compilers Supported +------------------- +TODO: What works? +Note: releases are cross-compiled using mingw running on Linux. + + +Dependencies +------------ +Libraries you need to download separately and build: + + default path download +OpenSSL \openssl-1.0.1c-mgw http://www.openssl.org/source/ +Berkeley DB \db-4.8.30.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html +Boost \boost-1.50.0-mgw http://www.boost.org/users/download/ +miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/ + +Their licenses: + + OpenSSL Old BSD license with the problematic advertising requirement + Berkeley DB New BSD license with additional requirement that linked software must be free open source + Boost MIT-like license + miniupnpc New (3-clause) BSD license + +Versions used in this release: + + OpenSSL 1.0.1c + Berkeley DB 4.8.30.NC + Boost 1.50.0 + miniupnpc 1.6 + + +OpenSSL +------- +MSYS shell: + +un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377) +change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe' + + cd /c/openssl-1.0.1c-mgw + ./config + make + +Berkeley DB +----------- +MSYS shell: + + cd /c/db-4.8.30.NC-mgw/build_unix + sh ../dist/configure --enable-mingw --enable-cxx + make + +Boost +----- +DOS prompt: + + downloaded boost jam 3.1.18 + cd \boost-1.50.0-mgw + bjam toolset=gcc --build-type=complete stage + +MiniUPnPc +--------- +UPnP support is optional, make with `USE_UPNP=` to disable it. + +MSYS shell: + + cd /c/miniupnpc-1.6-mgw + make -f Makefile.mingw + mkdir miniupnpc + cp *.h miniupnpc/ + +Bitcoin +------- +DOS prompt: + + cd \bitcoin\src + mingw32-make -f makefile.mingw + strip bitcoind.exe diff -Nru bitcoin-0.8.1/doc/build-msw.txt bitcoin-0.8.5/doc/build-msw.txt --- bitcoin-0.8.1/doc/build-msw.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/build-msw.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ -Copyright (c) 2009-2012 Bitcoin Developers -Distributed under the MIT/X11 software license, see the accompanying -file COPYING or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP -software written by Thomas Bernard. - - -See readme-qt.rst for instructions on building Bitcoin-Qt, the -graphical user interface. - -WINDOWS BUILD NOTES -=================== - -Compilers Supported -------------------- -TODO: What works? -Note: releases are cross-compiled using mingw running on Linux. - - -Dependencies ------------- -Libraries you need to download separately and build: - - default path download -OpenSSL \openssl-1.0.1c-mgw http://www.openssl.org/source/ -Berkeley DB \db-4.8.30.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html -Boost \boost-1.50.0-mgw http://www.boost.org/users/download/ -miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/ - -Their licenses: -OpenSSL Old BSD license with the problematic advertising requirement -Berkeley DB New BSD license with additional requirement that linked software must be free open source -Boost MIT-like license -miniupnpc New (3-clause) BSD license - -Versions used in this release: -OpenSSL 1.0.1c -Berkeley DB 4.8.30.NC -Boost 1.50.0 -miniupnpc 1.6 - - -OpenSSL -------- -MSYS shell: -un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377) -change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe' - -cd /c/openssl-1.0.1c-mgw -./config -make - -Berkeley DB ------------ -MSYS shell: -cd /c/db-4.8.30.NC-mgw/build_unix -sh ../dist/configure --enable-mingw --enable-cxx -make - -Boost ------ -DOS prompt: -downloaded boost jam 3.1.18 -cd \boost-1.50.0-mgw -bjam toolset=gcc --build-type=complete stage - -MiniUPnPc ---------- -UPnP support is optional, make with USE_UPNP= to disable it. - -MSYS shell: -cd /c/miniupnpc-1.6-mgw -make -f Makefile.mingw -mkdir miniupnpc -cp *.h miniupnpc/ - -Bitcoin -------- -DOS prompt: -cd \bitcoin\src -mingw32-make -f makefile.mingw -strip bitcoind.exe diff -Nru bitcoin-0.8.1/doc/build-osx.md bitcoin-0.8.5/doc/build-osx.md --- bitcoin-0.8.1/doc/build-osx.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/build-osx.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,185 @@ +Mac OS X bitcoind build instructions +==================================== + +Authors +------- + +* Laszlo Hanyecz +* Douglas Huff +* Colin Dean +* Gavin Andresen + +License +------- + +Copyright (c) 2009-2012 Bitcoin Developers + +Distributed under the MIT/X11 software license, see the accompanying +file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in +the OpenSSL Toolkit (http://www.openssl.org/). + +This product includes cryptographic software written by +Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + +Notes +----- + +See `doc/readme-qt.rst` for instructions on building Bitcoin-Qt, the +graphical user interface. + +Tested on OS X 10.5 through 10.8 on Intel processors only. PPC is not +supported because it is big-endian. + +All of the commands should be executed in a Terminal application. The +built-in one is located in `/Applications/Utilities`. + +Preparation +----------- + +You need to install XCode with all the options checked so that the compiler +and everything is available in /usr not just /Developer. XCode should be +available on your OS X installation media, but if not, you can get the +current version from https://developer.apple.com/xcode/. If you install +Xcode 4.3 or later, you'll need to install its command line tools. This can +be done in `Xcode > Preferences > Downloads > Components` and generally must +be re-done or updated every time Xcode is updated. + +There's an assumption that you already have `git` installed, as well. If +not, it's the path of least resistance to install [Github for Mac](https://mac.github.com/) +(OS X 10.7+) or +[Git for OS X](https://code.google.com/p/git-osx-installer/). It is also +available via Homebrew or MacPorts. + +You will also need to install [Homebrew](http://mxcl.github.io/homebrew/) +or [MacPorts](https://www.macports.org/) in order to install library +dependencies. It's largely a religious decision which to choose, but, as of +December 2012, MacPorts is a little easier because you can just install the +dependencies immediately - no other work required. If you're unsure, read +the instructions through first in order to assess what you want to do. +Homebrew is a little more popular among those newer to OS X. + +The installation of the actual dependencies is covered in the Instructions +sections below. + +Instructions: MacPorts +---------------------- + +### Install dependencies + +Installing the dependencies using MacPorts is very straightforward. + + sudo port install boost db48@+no_java openssl miniupnpc + +### Building `bitcoind` + +1. Clone the github tree to get the source code and go into the directory. + + git clone git@github.com:bitcoin/bitcoin.git bitcoin + cd bitcoin + +2. Build bitcoind: + + cd src + make -f makefile.osx + +3. It is a good idea to build and run the unit tests, too: + + make -f makefile.osx test + +Instructions: HomeBrew +---------------------- + +#### Install dependencies using Homebrew + + brew install boost miniupnpc openssl berkeley-db4 + +Note: After you have installed the dependencies, you should check that the Brew installed version of OpenSSL is the one available for compilation. You can check this by typing + + openssl version + +into Terminal. You should see OpenSSL 1.0.1e 11 Feb 2013. + +If not, you can ensure that the Brew OpenSSL is correctly linked by running + + brew link openssl --force + +Rerunning "openssl version" should now return the correct version. + +### Building `bitcoind` + +1. Clone the github tree to get the source code and go into the directory. + + git clone git@github.com:bitcoin/bitcoin.git bitcoin + cd bitcoin + +2. Modify source in order to pick up the `openssl` library. + + Edit `makefile.osx` to account for library location differences. There's a + diff in `contrib/homebrew/makefile.osx.patch` that shows what you need to + change, or you can just patch by doing + + patch -p1 < contrib/homebrew/makefile.osx.patch + +3. Build bitcoind: + + cd src + make -f makefile.osx + +4. It is a good idea to build and run the unit tests, too: + + make -f makefile.osx test + +Creating a release build +------------------------ + +A bitcoind binary is not included in the Bitcoin-Qt.app bundle. You can ignore +this section if you are building `bitcoind` for your own use. + +If you are building `bitcoind` for others, your build machine should be set up +as follows for maximum compatibility: + +All dependencies should be compiled with these flags: + + -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk + +For MacPorts, that means editing your macports.conf and setting +`macosx_deployment_target` and `build_arch`: + + macosx_deployment_target=10.5 + build_arch=i386 + +... and then uninstalling and re-installing, or simply rebuilding, all ports. + +As of December 2012, the `boost` port does not obey `macosx_deployment_target`. +Download `http://gavinandresen-bitcoin.s3.amazonaws.com/boost_macports_fix.zip` +for a fix. Some ports also seem to obey either `build_arch` or +`macosx_deployment_target`, but not both at the same time. For example, building +on an OS X 10.6 64-bit machine fails. Official release builds of Bitcoin-Qt are +compiled on an OS X 10.6 32-bit machine to workaround that problem. + +Once dependencies are compiled, creating `Bitcoin-Qt.app` is easy: + + make -f Makefile.osx RELEASE=1 + +Running +------- + +It's now available at `./bitcoind`, provided that you are still in the `src` +directory. We have to first create the RPC configuration file, though. + +Run `./bitcoind` to get the filename where it should be put, or just try these +commands: + + echo -e "rpcuser=bitcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf" + chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf" + +When next you run it, it will start downloading the blockchain, but it won't +output anything while it's doing this. This process may take several hours. + +Other commands: + + ./bitcoind --help # for a list of command-line options. + ./bitcoind -daemon # to start the bitcoin daemon. + ./bitcoind help # When the daemon is running, to get a list of RPC commands diff -Nru bitcoin-0.8.1/doc/build-osx.txt bitcoin-0.8.5/doc/build-osx.txt --- bitcoin-0.8.1/doc/build-osx.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/build-osx.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ -Copyright (c) 2009-2012 Bitcoin Developers -Distributed under the MIT/X11 software license, see the accompanying -file COPYING or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP -software written by Thomas Bernard. - - -Mac OS X bitcoind build instructions -Laszlo Hanyecz -Douglas Huff - - -See readme-qt.rst for instructions on building Bitcoin-Qt, the -graphical user interface. - -Tested on 10.5, 10.6 and 10.7 intel. PPC is not supported because it's big-endian. - -All of the commands should be executed in Terminal.app.. it's in -/Applications/Utilities - -You need to install XCode with all the options checked so that the compiler and -everything is available in /usr not just /Developer. XCode should be available on your OS X -install DVD, but if not, you can get the current version from https://developer.apple.com/xcode/ - - -1. Clone the github tree to get the source code: - -git clone git@github.com:bitcoin/bitcoin.git bitcoin - -2. Download and install MacPorts from http://www.macports.org/ - -2a. (for 10.7 Lion) - Edit /opt/local/etc/macports/macports.conf and uncomment "build_arch i386" - -3. Install dependencies from MacPorts - -sudo port install boost db48 openssl miniupnpc - -Optionally install qrencode (and set USE_QRCODE=1): -sudo port install qrencode - -4. Now you should be able to build bitcoind: - -cd bitcoin/src -make -f makefile.osx - -Run: - ./bitcoind --help # for a list of command-line options. -Run - ./bitcoind -daemon # to start the bitcoin daemon. -Run - ./bitcoind help # When the daemon is running, to get a list of RPC commands diff -Nru bitcoin-0.8.1/doc/build-unix.md bitcoin-0.8.5/doc/build-unix.md --- bitcoin-0.8.1/doc/build-unix.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/build-unix.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,170 @@ +Copyright (c) 2009-2013 Bitcoin Developers + +Distributed under the MIT/X11 software license, see the accompanying +file COPYING or http://www.opensource.org/licenses/mit-license.php. +This product includes software developed by the OpenSSL Project for use in the [OpenSSL Toolkit](http://www.openssl.org/). This product includes +cryptographic software written by Eric Young ([eay@cryptsoft.com](mailto:eay@cryptsoft.com)), and UPnP software written by Thomas Bernard. + +UNIX BUILD NOTES +==================== + +To Build +--------------------- + + cd src/ + make -f makefile.unix # Headless bitcoin + +See readme-qt.rst for instructions on building Bitcoin-Qt, the graphical user interface. + +Dependencies +--------------------- + + Library Purpose Description + ------- ------- ----------- + libssl SSL Support Secure communications + libdb4.8 Berkeley DB Blockchain & wallet storage + libboost Boost C++ Library + miniupnpc UPnP Support Optional firewall-jumping support + +[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here]( +http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and +turned off by default. Set USE_UPNP to a different value to control this: + + USE_UPNP= No UPnP support miniupnp not required + USE_UPNP=0 (the default) UPnP support turned off by default at runtime + USE_UPNP=1 UPnP support turned on by default at runtime + +IPv6 support may be disabled by setting: + + USE_IPV6=0 Disable IPv6 support + +Licenses of statically linked libraries: + Berkeley DB New BSD license with additional requirement that linked + software must be free open source + Boost MIT-like license + miniupnpc New (3-clause) BSD license + +- Versions used in this release: +- GCC 4.3.3 +- OpenSSL 1.0.1c +- Berkeley DB 4.8.30.NC +- Boost 1.37 +- miniupnpc 1.6 + +Dependency Build Instructions: Ubuntu & Debian +---------------------------------------------- +Build requirements: + + sudo apt-get install build-essential + sudo apt-get install libssl-dev + +for Ubuntu 12.04: + + sudo apt-get install libboost-all-dev + + db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). + + Ubuntu precise has packages for libdb5.1-dev and libdb5.1++-dev, + but using these will break binary wallet compatibility, and is not recommended. + +for other Ubuntu & Debian: + + sudo apt-get install libdb4.8-dev + sudo apt-get install libdb4.8++-dev + sudo apt-get install libboost1.37-dev + (If using Boost 1.37, append -mt to the boost libraries in the makefile) + +Optional: + + sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag) + + +Dependency Build Instructions: Gentoo +------------------------------------- + +Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin overlay and use your package manager: + + layman -a bitcoin && emerge bitcoind + emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 + +Take the following steps to build (no UPnP support): + + cd ${BITCOIN_DIR}/src + make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8' + strip bitcoind + + +Notes +----- +The release is built with GCC and then "strip bitcoind" to strip the debug +symbols, which reduces the executable size by about 90%. + + +miniupnpc +--------- + tar -xzvf miniupnpc-1.6.tar.gz + cd miniupnpc-1.6 + make + sudo su + make install + + +Berkeley DB +----------- +You need Berkeley DB 4.8. If you have to build Berkeley DB yourself: + + ../dist/configure --enable-cxx + make + + +Boost +----- +If you need to build Boost yourself: + + sudo su + ./bootstrap.sh + ./bjam install + + +Security +-------- +To help make your bitcoin installation more secure by making certain attacks impossible to +exploit even if a vulnerability is found, you can take the following measures: + +* Position Independent Executable + Build position independent code to take advantage of Address Space Layout Randomization + offered by some kernels. An attacker who is able to cause execution of code at an arbitrary + memory location is thwarted if he doesn't know where anything useful is located. + The stack and heap are randomly located by default but this allows the code section to be + randomly located as well. + + On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error + such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;" + + To build with PIE, use: + + make -f makefile.unix ... -e PIE=1 + + To test that you have built PIE executable, install scanelf, part of paxutils, and use: + + scanelf -e ./bitcoin + + The output should contain: + TYPE + ET_DYN + +* Non-executable Stack + If the stack is executable then trivial stack based buffer overflow exploits are possible if + vulnerable buffers are found. By default, bitcoin should be built with a non-executable stack + but if one of the libraries it uses asks for an executable stack or someone makes a mistake + and uses a compiler extension which requires an executable stack, it will silently build an + executable without the non-executable stack protection. + + To verify that the stack is non-executable after compiling use: + `scanelf -e ./bitcoin` + + the output should contain: + STK/REL/PTL + RW- R-- RW- + + The STK RW- means that the stack is readable and writeable but not executable. diff -Nru bitcoin-0.8.1/doc/build-unix.txt bitcoin-0.8.5/doc/build-unix.txt --- bitcoin-0.8.1/doc/build-unix.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/build-unix.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,164 +0,0 @@ -Copyright (c) 2009-2012 Bitcoin Developers -Distributed under the MIT/X11 software license, see the accompanying -file COPYING or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP -software written by Thomas Bernard. - - -UNIX BUILD NOTES -================ - -To Build --------- - -cd src/ -make -f makefile.unix # Headless bitcoin - -See readme-qt.rst for instructions on building Bitcoin-Qt, -the graphical user interface. - -Dependencies ------------- - - Library Purpose Description - ------- ------- ----------- - libssl SSL Support Secure communications - libdb4.8 Berkeley DB Blockchain & wallet storage - libboost Boost C++ Library - miniupnpc UPnP Support Optional firewall-jumping support - -miniupnpc may be used for UPnP port mapping. It can be downloaded from -http://miniupnp.tuxfamily.org/files/. UPnP support is compiled in and -turned off by default. Set USE_UPNP to a different value to control this: - USE_UPNP=- No UPnP support - miniupnp not required - USE_UPNP=0 (the default) UPnP support turned off by default at runtime - USE_UPNP=1 UPnP support turned on by default at runtime - -IPv6 support may be disabled by setting: - USE_IPV6=0 Disable IPv6 support - -Licenses of statically linked libraries: - Berkeley DB New BSD license with additional requirement that linked - software must be free open source - Boost MIT-like license - miniupnpc New (3-clause) BSD license - -Versions used in this release: - GCC 4.3.3 - OpenSSL 1.0.1c - Berkeley DB 4.8.30.NC - Boost 1.37 - miniupnpc 1.6 - -Dependency Build Instructions: Ubuntu & Debian ----------------------------------------------- -Build requirements: - sudo apt-get install build-essential - sudo apt-get install libssl-dev - -for Ubuntu 12.04: - sudo apt-get install libboost-all-dev - - db4.8 packages are available at: - https://launchpad.net/~bitcoin/+archive/bitcoin - - Ubuntu precise has packages for libdb5.1-dev and libdb5.1++-dev, - but using these will break binary wallet compatibility, and is not recommended. - -for other Ubuntu & Debian: - sudo apt-get install libdb4.8-dev - sudo apt-get install libdb4.8++-dev - sudo apt-get install libboost1.37-dev - (If using Boost 1.37, append -mt to the boost libraries in the makefile) - -Optional: - sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag) - - -Dependency Build Instructions: Gentoo -------------------------------------- - -Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin - overlay and use your package manager: - layman -a bitcoin && emerge bitcoind - -emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 - -Take the following steps to build (no UPnP support): - cd ${BITCOIN_DIR}/src - make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8' - strip bitcoind - - -Notes ------ -The release is built with GCC and then "strip bitcoind" to strip the debug -symbols, which reduces the executable size by about 90%. - - -miniupnpc ---------- -tar -xzvf miniupnpc-1.6.tar.gz -cd miniupnpc-1.6 -make -sudo su -make install - - -Berkeley DB ------------ -You need Berkeley DB 4.8. If you have to build Berkeley DB yourself: -../dist/configure --enable-cxx -make - - -Boost ------ -If you need to build Boost yourself: -sudo su -./bootstrap.sh -./bjam install - - -Security --------- -To help make your bitcoin installation more secure by making certain attacks impossible to -exploit even if a vulnerability is found, you can take the following measures: - -* Position Independent Executable - Build position independent code to take advantage of Address Space Layout Randomization - offered by some kernels. An attacker who is able to cause execution of code at an arbitrary - memory location is thwarted if he doesn't know where anything useful is located. - The stack and heap are randomly located by default but this allows the code section to be - randomly located as well. - - On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error - such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;" - - To build with PIE, use: - make -f makefile.unix ... -e PIE=1 - - To test that you have built PIE executable, install scanelf, part of paxutils, and use: - scanelf -e ./bitcoin - - The output should contain: - TYPE - ET_DYN - -* Non-executable Stack - If the stack is executable then trivial stack based buffer overflow exploits are possible if - vulnerable buffers are found. By default, bitcoin should be built with a non-executable stack - but if one of the libraries it uses asks for an executable stack or someone makes a mistake - and uses a compiler extension which requires an executable stack, it will silently build an - executable without the non-executable stack protection. - - To verify that the stack is non-executable after compiling use: - scanelf -e ./bitcoin - - the output should contain: - STK/REL/PTL - RW- R-- RW- - - The STK RW- means that the stack is readable and writeable but not executable. diff -Nru bitcoin-0.8.1/doc/coding.md bitcoin-0.8.5/doc/coding.md --- bitcoin-0.8.1/doc/coding.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/coding.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,94 @@ +Coding +==================== + +Please be consistent with the existing coding style. + +Block style: + + bool Function(char* psz, int n) + { + // Comment summarising what this section of code does + for (int i = 0; i < n; i++) + { + // When something fails, return early + if (!Something()) + return false; + ... + } + + // Success return is usually at the end + return true; + } + +- ANSI/Allman block style +- 4 space indenting, no tabs +- No extra spaces inside parenthesis; please don't do ( this ) +- No space after function names, one space after if, for and while + +Variable names begin with the type in lowercase, like nSomeVariable. +Please don't put the first word of the variable name in lowercase like +someVariable. + +Common types: + + n integer number: short, unsigned short, int, unsigned int, int64, uint64, sometimes char if used as a number + d double, float + f flag + hash uint256 + p pointer or array, one p for each level of indirection + psz pointer to null terminated string + str string object + v vector or similar list objects + map map or multimap + set set or multiset + bn CBigNum + +------------------------- +Locking/mutex usage notes + +The code is multi-threaded, and uses mutexes and the +LOCK/TRY_LOCK macros to protect data structures. + +Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main +and then cs_wallet, while thread 2 locks them in the opposite order: +result, deadlock as each waits for the other to release its lock) are +a problem. Compile with -DDEBUG_LOCKORDER to get lock order +inconsistencies reported in the debug.log file. + +Re-architecting the core code so there are better-defined interfaces +between the various components is a goal, with any necessary locking +done by the components (e.g. see the self-contained CKeyStore class +and its cs_KeyStore lock for example). + +------- +Threads + +- StartNode : Starts other threads. + +- ThreadGetMyExternalIP : Determines outside-the-firewall IP address, sends addr message to connected peers when it determines it. + +- ThreadSocketHandler : Sends/Receives data from peers on port 8333. + +- ThreadMessageHandler : Higher-level message handling (sending and receiving). + +- ThreadOpenConnections : Initiates new connections to peers. + +- ThreadTopUpKeyPool : replenishes the keystore's keypool. + +- ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user has unlocked it for a period of time. + +- SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete) + +- ThreadDelayedRepaint : repaint the gui + +- ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms. + +- ThreadRPCServer : Remote procedure call handler, listens on port 8332 for connections and services them. + +- ThreadBitcoinMiner : Generates bitcoins + +- ThreadMapPort : Universal plug-and-play startup/shutdown + +- Shutdown : Does an orderly shutdown of everything + +- ExitTimeout : Windows-only, sleeps 5 seconds then exits application diff -Nru bitcoin-0.8.1/doc/coding.txt bitcoin-0.8.5/doc/coding.txt --- bitcoin-0.8.1/doc/coding.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/coding.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,99 +0,0 @@ -Please be consistent with the existing coding style. - -Block style: - -bool Function(char* psz, int n) -{ - // Comment summarising what this section of code does - for (int i = 0; i < n; i++) - { - // When something fails, return early - if (!Something()) - return false; - ... - } - - // Success return is usually at the end - return true; -} - -- ANSI/Allman block style -- 4 space indenting, no tabs -- No extra spaces inside parenthesis; please don't do ( this ) -- No space after function names, one space after if, for and while - -Variable names begin with the type in lowercase, like nSomeVariable. -Please don't put the first word of the variable name in lowercase like -someVariable. - -Common types: -n integer number: short, unsigned short, int, unsigned int, - int64, uint64, sometimes char if used as a number -d double, float -f flag -hash uint256 -p pointer or array, one p for each level of indirection -psz pointer to null terminated string -str string object -v vector or similar list objects -map map or multimap -set set or multiset -bn CBigNum - -------------------------- -Locking/mutex usage notes - -The code is multi-threaded, and uses mutexes and the -LOCK/TRY_LOCK macros to protect data structures. - -Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main -and then cs_wallet, while thread 2 locks them in the opposite order: -result, deadlock as each waits for the other to release its lock) are -a problem. Compile with -DDEBUG_LOCKORDER to get lock order -inconsistencies reported in the debug.log file. - -Re-architecting the core code so there are better-defined interfaces -between the various components is a goal, with any necessary locking -done by the components (e.g. see the self-contained CKeyStore class -and its cs_KeyStore lock for example). - -------- -Threads - -StartNode : Starts other threads. - -ThreadGetMyExternalIP : Determines outside-the-firewall IP address, -sends addr message to connected peers when it determines it. - -ThreadIRCSeed : Joins IRC bootstrapping channel, watching for new -peers and advertising this node's IP address. - -ThreadSocketHandler : Sends/Receives data from peers on port 8333. - -ThreadMessageHandler : Higher-level message handling (sending and -receiving). - -ThreadOpenConnections : Initiates new connections to peers. - -ThreadTopUpKeyPool : replenishes the keystore's keypool. - -ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user -has unlocked it for a period of time. - -SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete) - -ThreadDelayedRepaint : repaint the gui - -ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used -in 500ms. - -ThreadRPCServer : Remote procedure call handler, listens on port 8332 -for connections and services them. - -ThreadBitcoinMiner : Generates bitcoins - -ThreadMapPort : Universal plug-and-play startup/shutdown - -Shutdown : Does an orderly shutdown of everything - -ExitTimeout : Windows-only, sleeps 5 seconds then exits application diff -Nru bitcoin-0.8.1/doc/multiwallet-qt.md bitcoin-0.8.5/doc/multiwallet-qt.md --- bitcoin-0.8.1/doc/multiwallet-qt.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/multiwallet-qt.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,52 @@ +Multiwallet Qt Development and Integration Strategy +=================================================== + +In order to support loading of multiple wallets in bitcoin-qt, a few changes in the UI architecture will be needed. +Fortunately, only four of the files in the existing project are affected by this change. + +Three new classes have been implemented in three new .h/.cpp file pairs, with much of the functionality that was previously +implemented in the BitcoinGUI class moved over to these new classes. + +The two existing files most affected, by far, are bitcoingui.h and bitcoingui.cpp, as the BitcoinGUI class will require +some major retrofitting. + +Only requiring some minor changes is bitcoin.cpp. + +Finally, three new headers and source files will have to be added to bitcoin-qt.pro. + +Changes to class BitcoinGUI +--------------------------- +The principal change to the BitcoinGUI class concerns the QStackedWidget instance called centralWidget. +This widget owns five page views: overviewPage, transactionsPage, addressBookPage, receiveCoinsPage, and sendCoinsPage. + +A new class called *WalletView* inheriting from QStackedWidget has been written to handle all renderings and updates of +these page views. In addition to owning these five page views, a WalletView also has a pointer to a WalletModel instance. +This allows the construction of multiple WalletView objects, each rendering a distinct wallet. + +A second class called *WalletStack*, also inheriting from QStackedWidget, has been written to handle switching focus between +different loaded wallets. In its current implementation, as a QStackedWidget, only one wallet can be viewed at a time - +but this can be changed later. + +A third class called *WalletFrame* inheriting from QFrame has been written as a container for embedding all wallet-related +controls into BitcoinGUI. At present it just contains a WalletStack instance and does little more than passing on messages +from BitcoinGUI to the WalletStack, which in turn passes them to the individual WalletViews. It is a WalletFrame instance +that takes the place of what used to be centralWidget in BitcoinGUI. The purpose of this class is to allow future +refinements of the wallet controls with minimal need for further modifications to BitcoinGUI, thus greatly simplifying +merges while reducing the risk of breaking top-level stuff. + +Changes to bitcoin.cpp +---------------------- +bitcoin.cpp is the entry point into bitcoin-qt, and as such, will require some minor modifications to provide hooks for +multiple wallet support. Most importantly will be the way it instantiates WalletModels and passes them to the +singleton BitcoinGUI instance called window. Formerly, BitcoinGUI kept a pointer to a single instance of a WalletModel. +The initial change required is very simple: rather than calling `window.setWalletModel(&walletModel);` we perform the +following two steps: + + window.addWallet("~Default", &walletModel); + window.setCurrentWallet("~Default"); + +The string parameter is just an arbitrary name given to the default wallet. It's been prepended with a tilde to avoid name collisions in the future with additional wallets. + +The shutdown call `window.setWalletModel(0)` has also been removed. In its place is now: + +window.removeAllWallets(); diff -Nru bitcoin-0.8.1/doc/readme-qt.rst bitcoin-0.8.5/doc/readme-qt.rst --- bitcoin-0.8.1/doc/readme-qt.rst 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/readme-qt.rst 2013-09-12 03:35:18.000000000 +0000 @@ -46,19 +46,31 @@ - Download and install the `Qt Mac OS X SDK`_. It is recommended to also install Apple's Xcode with UNIX tools. -- Download and install `MacPorts`_. +- Download and install either `MacPorts`_ or `HomeBrew`_. -- Execute the following commands in a terminal to get the dependencies: +- Execute the following commands in a terminal to get the dependencies using MacPorts: :: sudo port selfupdate sudo port install boost db48 miniupnpc +- Execute the following commands in a terminal to get the dependencies using HomeBrew: + +:: + + brew update + brew install boost miniupnpc openssl berkeley-db4 + +- If using HomeBrew, edit `bitcoin-qt.pro` to account for library location differences. There's a diff in `contrib/homebrew/bitcoin-qt-pro.patch` that shows what you need to change, or you can just patch by doing + + patch -p1 < contrib/homebrew/bitcoin.qt.pro.patch + - Open the bitcoin-qt.pro file in Qt Creator and build as normal (cmd-B) .. _`Qt Mac OS X SDK`: http://qt-project.org/downloads/ .. _`MacPorts`: http://www.macports.org/install.php +.. _`HomeBrew`: http://mxcl.github.io/homebrew/ Build configuration options diff -Nru bitcoin-0.8.1/doc/release-notes.md bitcoin-0.8.5/doc/release-notes.md --- bitcoin-0.8.1/doc/release-notes.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/release-notes.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,7 @@ +(note: this is a temporary file, to be added-to by anybody, and deleted at +release time) + +0.8.5 changes +============= + +Workaround negative version numbers serialization bug. diff -Nru bitcoin-0.8.1/doc/release-notes.txt bitcoin-0.8.5/doc/release-notes.txt --- bitcoin-0.8.1/doc/release-notes.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/release-notes.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -(note: this is a temporary file, to be added-to by anybody, and deleted at -release time) - -Version 0.8.1 introduces a temporary block validation rule to avoid an incompatibility -with version 0.7.2 and earlier. diff -Nru bitcoin-0.8.1/doc/release-process.md bitcoin-0.8.5/doc/release-process.md --- bitcoin-0.8.1/doc/release-process.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/release-process.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,164 @@ +Release Process +==================== + +* update translations (ping wumpus, Diapolo or tcatm on IRC) +* see https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md#syncing-with-transifex + +* * * + +###update (commit) version in sources + + + bitcoin-qt.pro + contrib/verifysfbinaries/verify.sh + doc/README* + share/setup.nsi + src/clientversion.h (change CLIENT_VERSION_IS_RELEASE to true) + +###tag version in git + + git tag -a v0.8.0 + +###write release notes. git shortlog helps a lot, for example: + + git shortlog --no-merges v0.7.2..v0.8.0 + +* * * + +##perform gitian builds + + From a directory containing the bitcoin source, gitian-builder and gitian.sigs + + export SIGNER=(your gitian key, ie bluematt, sipa, etc) + export VERSION=0.8.0 + cd ./gitian-builder + + Fetch and build inputs: (first time, or when dependency versions change) + + mkdir -p inputs; cd inputs/ + wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz + wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz' + wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz' + wget 'http://zlib.net/zlib-1.2.6.tar.gz' + wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.9.tar.gz' + wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2' + wget 'http://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2' + wget 'http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz' + cd .. + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml + mv build/out/boost-win32-1.50.0-gitian2.zip inputs/ + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml + mv build/out/qt-win32-4.8.3-gitian-r1.zip inputs/ + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win32.yml + mv build/out/bitcoin-deps-0.0.5.zip inputs/ + + Build bitcoind and bitcoin-qt on Linux32, Linux64, and Win32: + + ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian.yml + ./bin/gsign --signer $SIGNER --release ${VERSION} --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml + pushd build/out + zip -r bitcoin-${VERSION}-linux-gitian.zip * + mv bitcoin-${VERSION}-linux-gitian.zip ../../ + popd + ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml + ./bin/gsign --signer $SIGNER --release ${VERSION}-win32 --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml + pushd build/out + zip -r bitcoin-${VERSION}-win32-gitian.zip * + mv bitcoin-${VERSION}-win32-gitian.zip ../../ + popd + + Build output expected: + + 1. linux 32-bit and 64-bit binaries + source (bitcoin-${VERSION}-linux-gitian.zip) + 2. windows 32-bit binary, installer + source (bitcoin-${VERSION}-win32-gitian.zip) + 3. Gitian signatures (in gitian.sigs/${VERSION}[-win32]/(your gitian key)/ + +repackage gitian builds for release as stand-alone zip/tar/installer exe + +**Linux .tar.gz:** + + unzip bitcoin-${VERSION}-linux-gitian.zip -d bitcoin-${VERSION}-linux + tar czvf bitcoin-${VERSION}-linux.tar.gz bitcoin-${VERSION}-linux + rm -rf bitcoin-${VERSION}-linux + +**Windows .zip and setup.exe:** + + unzip bitcoin-${VERSION}-win32-gitian.zip -d bitcoin-${VERSION}-win32 + mv bitcoin-${VERSION}-win32/bitcoin-*-setup.exe . + zip -r bitcoin-${VERSION}-win32.zip bitcoin-${VERSION}-win32 + rm -rf bitcoin-${VERSION}-win32 + +**Perform Mac build:** + + OSX binaries are created by Gavin Andresen on a 32-bit, OSX 10.6 machine. + + qmake RELEASE=1 USE_UPNP=1 USE_QRCODE=1 bitcoin-qt.pro + make + export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files + T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale) + python2.7 share/qt/clean_mac_info_plist.py + python2.7 contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist + + Build output expected: Bitcoin-Qt.dmg + +###Next steps: + +* Code-sign Windows -setup.exe (in a Windows virtual machine) and + OSX Bitcoin-Qt.app (Note: only Gavin has the code-signing keys currently) + +* upload builds to SourceForge + +* create SHA256SUMS for builds, and PGP-sign it + +* update bitcoin.org version + make sure all OS download links go to the right versions + +* update forum version + +* update wiki download links + +* update wiki changelog: [https://en.bitcoin.it/wiki/Changelog](https://en.bitcoin.it/wiki/Changelog) + +Commit your signature to gitian.sigs: + + pushd gitian.sigs + git add ${VERSION}/${SIGNER} + git add ${VERSION}-win32/${SIGNER} + git commit -a + git push # Assuming you can push to the gitian.sigs tree + popd + +------------------------------------------------------------------------- + +### After 3 or more people have gitian-built, repackage gitian-signed zips: + +From a directory containing bitcoin source, gitian.sigs and gitian zips + + export VERSION=0.5.1 + mkdir bitcoin-${VERSION}-linux-gitian + pushd bitcoin-${VERSION}-linux-gitian + unzip ../bitcoin-${VERSION}-linux-gitian.zip + mkdir gitian + cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/ + for signer in $(ls ../gitian.sigs/${VERSION}/); do + cp ../gitian.sigs/${VERSION}/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert + cp ../gitian.sigs/${VERSION}/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig + done + zip -r bitcoin-${VERSION}-linux-gitian.zip * + cp bitcoin-${VERSION}-linux-gitian.zip ../ + popd + mkdir bitcoin-${VERSION}-win32-gitian + pushd bitcoin-${VERSION}-win32-gitian + unzip ../bitcoin-${VERSION}-win32-gitian.zip + mkdir gitian + cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/ + for signer in $(ls ../gitian.sigs/${VERSION}-win32/); do + cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert + cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig + done + zip -r bitcoin-${VERSION}-win32-gitian.zip * + cp bitcoin-${VERSION}-win32-gitian.zip ../ + popd + +- Upload gitian zips to SourceForge +- Celebrate \ No newline at end of file diff -Nru bitcoin-0.8.1/doc/release-process.txt bitcoin-0.8.5/doc/release-process.txt --- bitcoin-0.8.1/doc/release-process.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/release-process.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,142 +0,0 @@ -* update translations (ping tcatm on IRC for now) - -* update (commit) version in sources - bitcoin-qt.pro - src/clientversion.h (change CLIENT_VERSION_IS_RELEASE to true) - share/setup.nsi - doc/README* - contrib/verifysfbinaries/verify.sh - -* tag version in git - - git tag -a v0.5.1 - -* write release notes. git shortlog helps a lot: - - git shortlog --no-merges v0.5.0.. - -* perform gitian builds - - * From a directory containing the bitcoin source, gitian-builder and gitian.sigs - export SIGNER=(your gitian key, ie bluematt, sipa, etc) - export VERSION=0.5.1 - cd ./gitian-builder - - * Fetch and build inputs: (first time, or when dependency versions change) - mkdir -p inputs; cd inputs/ - wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz - wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz' - wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz' - wget 'http://zlib.net/zlib-1.2.6.tar.gz' - wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.9.tar.gz' - wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2' - wget 'http://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2' - wget 'http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz' - cd .. - ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml - mv build/out/boost-win32-1.50.0-gitian2.zip inputs/ - ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml - mv build/out/qt-win32-4.8.3-gitian-r1.zip inputs/ - ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win32.yml - mv build/out/bitcoin-deps-0.0.5.zip inputs/ - - * Build bitcoind and bitcoin-qt on Linux32, Linux64, and Win32: - ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian.yml - ./bin/gsign --signer $SIGNER --release ${VERSION} --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml - pushd build/out - zip -r bitcoin-${VERSION}-linux-gitian.zip * - mv bitcoin-${VERSION}-linux-gitian.zip ../../ - popd - ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml - ./bin/gsign --signer $SIGNER --release ${VERSION}-win32 --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml - pushd build/out - zip -r bitcoin-${VERSION}-win32-gitian.zip * - mv bitcoin-${VERSION}-win32-gitian.zip ../../ - popd - - Build output expected: - 1. linux 32-bit and 64-bit binaries + source (bitcoin-${VERSION}-linux-gitian.zip) - 2. windows 32-bit binary, installer + source (bitcoin-${VERSION}-win32-gitian.zip) - 3. Gitian signatures (in gitian.sigs/${VERSION}[-win32]/(your gitian key)/ - -* repackage gitian builds for release as stand-alone zip/tar/installer exe - - * Linux .tar.gz: - unzip bitcoin-${VERSION}-linux-gitian.zip -d bitcoin-${VERSION}-linux - tar czvf bitcoin-${VERSION}-linux.tar.gz bitcoin-${VERSION}-linux - rm -rf bitcoin-${VERSION}-linux - - * Windows .zip and setup.exe: - unzip bitcoin-${VERSION}-win32-gitian.zip -d bitcoin-${VERSION}-win32 - mv bitcoin-${VERSION}-win32/bitcoin-*-setup.exe . - zip -r bitcoin-${VERSION}-win32.zip bitcoin-${VERSION}-win32 - rm -rf bitcoin-${VERSION}-win32 - -* perform Mac build - OSX binaries are created by Gavin Andresen on a 32-bit, OSX 10.6 machine. - - qmake RELEASE=1 USE_UPNP=1 USE_QRCODE=1 bitcoin-qt.pro - make - export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files - T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale) - python2.7 contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist - - Build output expected: - Bitcoin-Qt.dmg - -* Code-sign Windows -setup.exe (in a Windows virtual machine) and - OSX Bitcoin-Qt.app (Note: only Gavin has the code-signing keys currently) - -* upload builds to SourceForge - -* create SHA256SUMS for builds, and PGP-sign it - -* update bitcoin.org version - make sure all OS download links go to the right versions - -* update forum version - -* update wiki download links - -* update wiki changelog: https://en.bitcoin.it/wiki/Changelog - -* Commit your signature to gitian.sigs: - pushd gitian.sigs - git add ${VERSION}/${SIGNER} - git add ${VERSION}-win32/${SIGNER} - git commit -a - git push # Assuming you can push to the gitian.sigs tree - popd - -------------------------------------------------------------------------- - -* After 3 or more people have gitian-built, repackage gitian-signed zips: - - * From a directory containing bitcoin source, gitian.sigs and gitian zips - export VERSION=0.5.1 - mkdir bitcoin-${VERSION}-linux-gitian - pushd bitcoin-${VERSION}-linux-gitian - unzip ../bitcoin-${VERSION}-linux-gitian.zip - mkdir gitian - cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/ - for signer in $(ls ../gitian.sigs/${VERSION}/); do - cp ../gitian.sigs/${VERSION}/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert - cp ../gitian.sigs/${VERSION}/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig - done - zip -r bitcoin-${VERSION}-linux-gitian.zip * - cp bitcoin-${VERSION}-linux-gitian.zip ../ - popd - mkdir bitcoin-${VERSION}-win32-gitian - pushd bitcoin-${VERSION}-win32-gitian - unzip ../bitcoin-${VERSION}-win32-gitian.zip - mkdir gitian - cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/ - for signer in $(ls ../gitian.sigs/${VERSION}-win32/); do - cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert - cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig - done - zip -r bitcoin-${VERSION}-win32-gitian.zip * - cp bitcoin-${VERSION}-win32-gitian.zip ../ - popd - - * Upload gitian zips to SourceForge diff -Nru bitcoin-0.8.1/doc/unit-tests.md bitcoin-0.8.5/doc/unit-tests.md --- bitcoin-0.8.1/doc/unit-tests.md 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/doc/unit-tests.md 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,35 @@ +Compiling/running bitcoind unit tests +------------------------------------ + +bitcoind unit tests are in the `src/test/` directory; they +use the Boost::Test unit-testing framework. + +To compile and run the tests: + + cd src + make -f makefile.unix test_bitcoin # Replace makefile.unix if you're not on unix + ./test_bitcoin # Runs the unit tests + +If all tests succeed the last line of output will be: +`*** No errors detected` + +To add more tests, add `BOOST_AUTO_TEST_CASE` functions to the existing +.cpp files in the test/ directory or add new .cpp files that +implement new BOOST_AUTO_TEST_SUITE sections (the makefiles are +set up to add test/*.cpp to test_bitcoin automatically). + + +Compiling/running Bitcoin-Qt unit tests +--------------------------------------- + +Bitcoin-Qt unit tests are in the src/qt/test/ directory; they +use the Qt unit-testing framework. + +To compile and run the tests: + + qmake bitcoin-qt.pro BITCOIN_QT_TEST=1 + make + ./bitcoin-qt_test + +To add more tests, add them to the `src/qt/test/` directory, +the `src/qt/test/test_main.cpp` file, and bitcoin-qt.pro. diff -Nru bitcoin-0.8.1/doc/unit-tests.txt bitcoin-0.8.5/doc/unit-tests.txt --- bitcoin-0.8.1/doc/unit-tests.txt 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/doc/unit-tests.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -Compiling/running bitcoind unit tests ------------------------------------- - -bitcoind unit tests are in the src/test/ directory; they -use the Boost::Test unit-testing framework. - -To compile and run the tests: -cd src -make -f makefile.unix test_bitcoin # Replace makefile.unix if you're not on unix -./test_bitcoin # Runs the unit tests - -If all tests succeed the last line of output will be: -*** No errors detected - -To add more tests, add BOOST_AUTO_TEST_CASE functions to the existing -.cpp files in the test/ directory or add new .cpp files that -implement new BOOST_AUTO_TEST_SUITE sections (the makefiles are -set up to add test/*.cpp to test_bitcoin automatically). - - -Compiling/running Bitcoin-Qt unit tests ---------------------------------------- - -Bitcoin-Qt unit tests are in the src/qt/test/ directory; they -use the Qt unit-testing framework. - -To compile and run the tests: -qmake bitcoin-qt.pro BITCOIN_QT_TEST=1 -make -./bitcoin-qt_test - -To add more tests, add them to the src/qt/test/ directory, -the src/qt/test/test_main.cpp file, and bitcoin-qt.pro. Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/share/pixmaps/bitcoin.ico and /tmp/0c9SYbmYKz/bitcoin-0.8.5/share/pixmaps/bitcoin.ico differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/share/pixmaps/bitcoin128.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/share/pixmaps/bitcoin128.png differ diff -Nru bitcoin-0.8.1/share/pixmaps/bitcoin128.xpm bitcoin-0.8.5/share/pixmaps/bitcoin128.xpm --- bitcoin-0.8.1/share/pixmaps/bitcoin128.xpm 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/share/pixmaps/bitcoin128.xpm 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,384 @@ +/* XPM */ +static char *bitcoin___[] = { +/* columns rows colors chars-per-pixel */ +"128 128 250 2", +" c #845415", +". c #895616", +"X c #84581E", +"o c #8D5C18", +"O c #925A15", +"+ c #925E1C", +"@ c #98621C", +"# c #9E711C", +"$ c #A36E1A", +"% c #A96F1B", +"& c #A6711C", +"* c #AC741C", +"= c #B2741E", +"- c #B37C1E", +"; c #BB7C1E", +": c #835B21", +"> c #8F6125", +", c #956727", +"< c #916B2E", +"1 c #996B2C", +"2 c #B47B23", +"3 c #BD7C20", +"4 c #A17330", +"5 c #AB7D3B", +"6 c #C17F20", +"7 c #B9831F", +"8 c #BB842B", +"9 c #BD8533", +"0 c #B68F3D", +"q c #BE8C3B", +"w c #C4801F", +"e c #FE8C03", +"r c #F38A0F", +"t c #FD8E0A", +"y c #FF910C", +"u c #F78F13", +"i c #F98F10", +"p c #F79016", +"a c #FE9314", +"s c #F6931E", +"d c #FD961B", +"f c #FE991E", +"g c #C58421", +"h c #CD8621", +"j c #C78B21", +"k c #CC8B23", +"l c #C2852B", +"z c #C08B2D", +"x c #D28722", +"c c #D38B25", +"v c #DB8E22", +"b c #D28E2C", +"n c #D49323", +"m c #DC9224", +"M c #DC9B25", +"N c #D4922D", +"B c #DF972A", +"V c #DF982E", +"C c #C18D33", +"Z c #C58E38", +"A c #CB9332", +"S c #C2933C", +"D c #CD9339", +"F c #CC9938", +"G c #D19733", +"H c #DA9230", +"J c #D59935", +"K c #DC9C33", +"L c #DC9E3B", +"P c #E49124", +"I c #EA9426", +"U c #E09D26", +"Y c #EC972B", +"T c #F79625", +"R c #F99524", +"E c #F69A26", +"W c #F89825", +"Q c #F2972B", +"! c #F59A2C", +"~ c #F89B2B", +"^ c #E79D33", +"/ c #EF9D31", +"( c #E19F3A", +") c #EF9D3A", +"_ c #F49C33", +"` c #F99E32", +"' c #F49F39", +"] c #D6A13E", +"[ c #DAA33B", +"{ c #E3A127", +"} c #E7A328", +"| c #EDA32C", +" . c #EDA829", +".. c #FFA325", +"X. c #FFAB25", +"o. c #F3A42B", +"O. c #FFA429", +"+. c #F4A929", +"@. c #FFAC2A", +"#. c #FFB227", +"$. c #FFB32C", +"%. c #FFBA2D", +"&. c #EEA830", +"*. c #F7A334", +"=. c #FAA036", +"-. c #FCAB34", +";. c #F4A13C", +":. c #F9A33B", +">. c #F4A83B", +",. c #FFA83F", +"<. c #FDB432", +"1. c #FFBB33", +"2. c #FFB73A", +"3. c #FDB93E", +"4. c #FFC12F", +"5. c #FFC432", +"6. c #FFC338", +"7. c #D2A043", +"8. c #D8A140", +"9. c #EEA144", +"0. c #E2A840", +"q. c #EDA34B", +"w. c #F4A444", +"e. c #F9A642", +"r. c #FBA945", +"t. c #F3A64B", +"y. c #F4A84E", +"u. c #FBAB4B", +"i. c #EEB041", +"p. c #FABA44", +"a. c #ECA653", +"s. c #EEAC5D", +"d. c #F3AA53", +"f. c #FAAE53", +"g. c #F2AD5A", +"h. c #FBB056", +"j. c #F6B15E", +"k. c #FBB25B", +"l. c #DDAF79", +"z. c #E3A962", +"x. c #EBAE63", +"c. c #E4AC68", +"v. c #EAAF69", +"b. c #EEB065", +"n. c #E7B06C", +"m. c #EEB36B", +"M. c #F5B263", +"N. c #FBB461", +"B. c #E6B274", +"V. c #ECB574", +"C. c #E7B57B", +"Z. c #EAB77C", +"A. c #ECB97C", +"S. c #F2B770", +"D. c #F0BB7A", +"F. c #DBB485", +"G. c #DFB888", +"H. c #E4B984", +"J. c #EDBD82", +"K. c #E5BC8B", +"L. c #EABE8A", +"P. c #F0BE82", +"I. c #E0BF96", +"U. c #EDC089", +"Y. c #F0C28B", +"T. c #E5C194", +"R. c #E9C191", +"E. c #E4C39C", +"W. c #EBC699", +"Q. c #EBC99F", +"!. c #DFC3A0", +"~. c #DDCAAF", +"^. c #CFC7BD", +"/. c #D2CBB6", +"(. c #DBC8B1", +"). c #DBCDBB", +"_. c #E2C6A4", +"`. c #E6C8A5", +"'. c #EACBA5", +"]. c #E1C7A8", +"[. c #E3CBAD", +"{. c #EACCAA", +"}. c #EED1AC", +"|. c #E1CDB3", +" X c #E3CFB8", +".X c #E6D1B6", +"XX c #EBD2B3", +"oX c #E3D1BB", +"OX c #EAD6BB", +"+X c #EBD8BF", +"@X c #D3CDC2", +"#X c #D8CDC2", +"$X c #D0CECA", +"%X c #DDD3C4", +"&X c #D3D2CC", +"*X c #DDD5CB", +"=X c #CCD3D5", +"-X c #C9D7DF", +";X c #D2D4D6", +":X c #DEDAD4", +">X c #DDDCDB", +",X c #E2D4C2", +".N b b b b N >.( C > HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX4 L _ *.@.<.$.X.X...X.X.X.X.X.X...X.@.$.<.@.*./ G , HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX< L -.@.$.X...R R R T T T T W W W W W W T T T T R R W ..X.$.@.*.J HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXD -.%.X.W R T T W W W W W W W W W W W W W W W W W W W W W W T T R W X.%.+.A HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXS -.$.X.R T T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W T T R X.$.-.C HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXF <.@.f R T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W T R W #.<.A HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX[ <.X.f T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W T R X.$.K HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX0.$...R T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E W W W W W W W T R ..%.G HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXS 1...R T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ E W W W W W W W W W T R X.1.A HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX3.X.d T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ E W W W W W W W W W W T R @.2.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX7.5.f T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W T W %.z HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX3.X.s T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W T R $.<.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX1...R W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ E E W W W W W W W W W W W W W R ..1.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX0 5.f T W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W T W 5.8 HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX8.$.s W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W T R %.N HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXi.#.R W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W R $.&.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXp.X.R W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` ` ` ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W R @.<.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXp.X.R W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` ` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W R @.<.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXi.X.R W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ E ~ W R ~ ~ ~ ~ ~ ~ ` ` ` ` ` ` ` ` ` ` ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W R @.| HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX] #.R W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ! s e t d ~ ` ` ` ` ` ` =.=.=.` ` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W R %.N HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXq %.R W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E W E ~ ~ ~ ~ y l.=XI.x.) p a =.` ` =.=.=.=.=.=.` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W R %.2 HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX5 5.d W W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ t (.jXVXNXuX@XF.W ` =.:.` W =.:.=.=.` ` ` ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W T R 5.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX1.f T W W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ R Q eXDXSXSXDXgX#Xa ` =.=.;.q.W a a R ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W T W %.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX3...T W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ` a a.NXSXGXGXAXNXV.a :.:.f c.tX*XE.n.9.R ~ ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W W T @.@.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXD #.R W W W W W W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` t H.VXSXGXGXDXmXy.f :.:.a I.hXBXCXNXiX^.' W ` ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W W R %.g HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX5.d W W W W W W W W W W W W W W W W W W W W W W W W W E ~ W ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` i |.CXGXGXGXCX3X~ ` :.:.R %XCXSXGXAXNX>XW ~ ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W W R 5.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX2.W T W W W W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ s t e a W ~ ` ` ` ` ` ` W ! eXFXGXGXSXVX[.d :.:.~ w.uXFXGXGXSXVXW.a ` ` ` ` ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W W T ..@.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHX9 $.R W W W W W W W W W W W W W W W W W W W W W W E W ~ ~ ~ y F./.B.9.T t t a ~ =.` =.a a.hXDXGXGXSXNXA.d :.e.R v.NXSXGXGXSXNXm.a =.` ` ` ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W W R %.= HXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXHX6.d W W W W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ W i &XjXNXfX:X].B.q.T t a d e K.VXSXGXGXDXaXd.W e.e.d E.VXSXGXGXDXvXw.W =.` ` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W W W W %.HXHXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHXK X.T W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ~ a ) uXDXSXFXFXCXNXfX:X_.B.q.r .XFXGXGXGXCX3X=.=.e.,.~ %XCXGXGXGXCX1XW ` =.` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W W T $.m HXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHXHX5.R W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ~ ~ t x.NXSXGXGXGXSXSXDXFXCXNXmX8XcXSXGXGXGXCXW.e :.e.=.t.uXFXGXGXSXVXE.d :.=.=.` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W W W R %.HXHXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHX^ X.T W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ~ ~ ~ ` t T.VXSXGXGXGXGXGXGXGXSXSXFXGXGXGXGXGXGXFX}.9.' W e v.VXSXGXGXSXNXm.d :.=.=.=.` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W W W T @.P HXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXHX1.R W W W W W W W W W W W W W W W W E E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ s ;XNXAXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXFXNX>X|.V.XXFXGXGXGXFXbXy.~ :.:.=.=.` ` ` ` ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W W W R %.HXHXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHXH X.T W W W W W W W W W W W W W W E E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` R ' $XsXNXVXFXSXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXFXCXCXFXSXGXGXGXCXOXa :.:.:.=.=.=.` ` ` ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W W T $.c HXHXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXHX1.R W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` ` ` ` ~ t.V.`.5XVXFXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXFXXFXGXGXGXGXGXGXGXSXCX{.e.P.'.2XvXNXBXDXSXGXGXGXGXGXGXGXGXGXSXDXjX~.y W =.` ` ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W W W @.HXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHX: 1.R W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` ` ` ` =.=.=.=.=.:.:.:.:.:.:.:.:.e.e.e.~ s.fXDXGXGXGXGXGXGXGXSXNXD.f =.=.,.M.L.oXaXVXDXSXGXGXGXGXGXGXGXGXGXAXVX(.t ~ ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W R %. HXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXl #.T W W W E ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` ` ` ` =.=.=.=.:.:.:.:.:.:.:.:.:.e.e.e.e.r.W H.NXSXGXGXGXGXGXGXGXDXzXg.r.f.f.f.r.=.=.g.`.fXBXAXGXGXGXGXGXGXGXGXGXAXjXH.t =.` ` ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W T $.6 HXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHX~ ..W W W W E ~ ~ ~ ~ ~ ~ ~ ~ ` ` ` ` ` ` =.=.=.=.=.:.:.:.:.:.:.:.e.e.e.e.e.e.e.r.W |.CXGXGXGXGXGXGXGXGXBX1X,.f.f.f.f.h.h.f.,.~ d.3XVXAXGXGXGXGXGXGXGXGXGXDXsX' f ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W ..~ HXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHX$.R W W W W W E ~ ~ ~ ~ ~ ` ` ` ` ` ` =.=.=.=.=.=.:.:.:.:.:.:.:.e.e.e.e.e.r.r.r.,.w.>XFXGXGXGXGXGXGXGXSXNX`.=.f.h.h.h.h.f.f.f.f.=.~ ,XVXSXGXGXGXGXGXGXGXGXSXVXT.y ` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W R $.HXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXX %.T W W W W W E ~ ~ ~ ~ ~ ` ` ` ` =.=.=.=.=.:.:.:.:.:.:.:.:.e.e.e.e.e.e.r.r.r.u.=.x.fXDXGXGXGXGXGXGXGXSXmXA.,.h.h.h.k.k.h.f.f.f.f.:.~ 5XFXGXGXGXGXGXGXGXGXGXCX:XW ~ ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W W T $.. HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHX8 $.T W W W W W W E ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.:.:.:.:.e.e.e.e.e.r.r.r.r.r.u.u.~ K.NXSXGXGXGXGXGXGXGXDXzXj.r.k.k.k.k.k.h.f.f.f.f.f.W V.VXSXGXGXGXGXGXGXGXGXDXuXw.f ` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W T $.3 HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXY ..W W W W W W W E ~ ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.:.e.e.e.e.e.e.r.r.r.r.u.u.u.u.~ |.CXGXGXGXGXGXGXGXGXBX2Xr.f.k.k.k.k.k.k.h.f.f.f.f.,.d.bXFXGXGXGXGXGXGXGXGXDXfXd.d =.` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W O.P HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXO.W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` ` =.=.:.:.:.:.e.e.e.e.r.r.r.r.r.r.u.u.u.u.r.w.>XFXGXGXGXGXGXGXGXSXNX'.,.k.k.k.k.k.k.k.h.h.f.f.f.e.y.kXFXGXGXGXGXGXGXGXGXDXfXg.d =.` ` ` ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W W W W W O.HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHX$.R W W W W W W W W E ~ ~ ~ ~ ~ ` ` ` ` =.=.=.:.:.:.:.e.e.r.r.r.r.u.u.u.u.u.u.f.=.b.fXDXGXGXGXGXGXGXGXSXmXJ.r.k.k.k.k.k.k.k.h.h.f.f.f.:.s.mXFXGXGXGXGXGXGXGXGXDXpXy.R =.` ` ` ~ ~ ~ ~ ~ E E W W W W W W W W W W W W W W W W W $.HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHX1.R W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.e.e.e.r.r.u.u.u.u.u.u.u.f.=.K.NXSXGXGXGXGXGXGXGXFXxXM.u.k.k.k.k.k.k.k.k.h.f.f.k.~ K.VXSXGXGXGXGXGXGXGXGXCX5X=.~ =.=.` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W W W W $.HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHX+ $.T W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.e.e.e.r.r.u.u.u.u.f.f.f.=.|.CXGXGXGXGXGXGXGXGXFXXFXGXGXGXGXGXGXGXGXFX9XA.b.u.r.r.u.u.h.h.h.u.r.O.w.:XCXSXGXGXGXGXGXGXGXGXSXhXL.a :.=.=.=.` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W T $.* HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXV X.T W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.e.e.e.r.r.u.u.u.u.f.,.b.fXFXGXGXGXGXGXGXGXGXSXFXVXpX*X[.R.V.M.g.d.d.g.b.T.pXCXSXGXGXGXGXGXGXGXGXGXDXpXe.~ :.:.=.=.` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W W T $.; HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHX| O.T W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` ` =.=.:.:.:.:.:.e.e.r.r.u.u.u.u.f.=.K.NXSXGXGXGXGXGXGXGXGXGXGXSXFXFXBXNXmXuX>X3X3XyXmXVXFXSXGXGXGXGXGXGXGXGXGXAXhXE.d :.:.:.=.=.` ` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W T @.h HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXc @.T W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ` ` ` ` =.:.:.:.:.:.e.e.e.r.r.u.u.u.u.=.|.BXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXSXSXFXFXFXFXFXSXSXGXGXGXGXGXGXGXGXGXGXAXNX>X~ =.e.:.:.:.=.` ` ` ` ~ ~ ~ ~ ~ ~ E W W W W W W W W W W W W W W @.h HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXk @.T W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` =.=.:.:.:.:.e.e.e.r.r.r.u.u.r.w.>XFXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXZXNXeXe.~ e.:.:.:.:.=.=.=.` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W @.h HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXc @.T W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.e.e.e.r.r.u.u.=.x.fXFXGXGXGXGXGXGXGXGXGXFXFXSXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXFXCXfXoX:.~ r.e.:.:.:.:.:.=.` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W W @.h HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXc @.T W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ` ` ` ` =.=.:.:.:.:.:.e.e.r.r.r.u.~ K.NXSXGXGXGXGXGXGXGXSXZX6XkXmXNXBXDXAXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGX0X'.S.~ =.u.e.e.e.:.:.:.:.=.=.` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W W W @.h HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXk @.T W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` ` =.=.:.:.:.:.e.e.e.r.r.u.~ |.CXGXGXGXGXGXGXGXGXFX4X,.k.D.Q.,XkXmXNXDXSXSXGXGXGXGXGXGXGXGXGXGXGXXFXGXGXGXGXGXGXGXSXVX{.,.f.u.r.u.N.J.{.5XNXBXAXSXGXGXGXGXGXGXGXGXGXFXMXH.W r.u.r.e.e.e.:.:.:.:.=.=.` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W W T @.h HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXo.O.T W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.e.e.e.r.O.s.fXFXGXGXGXGXGXGXGXSXmXJ.r.N.N.N.N.h.r.r.f.J.1XhXBXAXGXGXGXGXGXGXGXGXSXDXjX!.W e.u.r.e.e.e.:.:.:.:.=.=.` ` ` ` ~ ~ ~ ~ ~ E W W W W W W W W W W T @.g HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXB X.T W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` ` =.=.:.:.:.:.:.e.e.r.W H.NXSXGXGXGXGXGXGXGXDXuXM.u.k.k.N.N.N.N.N.h.,.e.D.>XNXSXGXGXGXGXGXGXGXGXSXZXjXE.W r.r.e.e.e.:.:.:.:.=.=.=.` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W W T $.- HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXl @.T W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ` ` ` =.=.=.:.:.:.:.e.e.r.W |.CXGXGXGXGXGXGXGXGXBX2Xr.h.k.k.k.k.k.k.k.k.k.h.,.,.|.NXZXGXGXGXGXGXGXGXGXGXZXgXV.~ u.e.e.e.:.:.:.:.:.=.=.` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W T $.% HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHX@ $.T W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ` ` ` ` =.=.:.:.:.:.e.:.' >XFXGXGXGXGXGXGXGXSXNX{.,.k.k.k.k.k.k.k.k.k.k.k.k.u.~ `.NXSXGXGXGXGXGXGXGXGXSXCX>X=.e.r.r.e.e.:.:.:.:.:.=.=.` ` ` ~ ~ ~ ~ ~ ~ W W W W W W W W W T $.. HXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHX%.R W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ` ` ` ` =.=.:.:.:.:.e.~ s.fXFXGXGXGXGXGXGXGXSXNXJ.,.k.k.k.k.k.k.k.k.k.k.h.h.k.u.O.2XCXGXGXGXGXGXGXGXGXGXAXhXV.~ u.r.e.e.e.:.:.:.:.=.=.=.` ` ` ~ ~ ~ ~ ~ W W W W W W W W W W $.HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHX$.R W W W W W W W W W W W W W W W W W E ~ ~ ~ ~ ~ ~ ` ` ` ` ~ :.:.:.:.e.f Z.VXSXGXGXGXGXGXGXGXDXzXM.r.k.k.k.k.k.k.k.h.h.h.h.f.f.k.=.V.NXSXGXGXGXGXGXGXGXGXSXVX`.W r.e.e.e.e.:.:.:.:.=.=.=.` ` ` ~ ~ ~ ~ ~ ~ E W W W W W W W W $.HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXO.W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` ` =.~ Q a a W =.=.t XCXGXGXGXGXGXGXGXGXBX2Xr.f.k.k.k.k.k.k.h.h.h.h.f.f.f.f.r.y.kXFXGXGXGXGXGXGXGXGXGXBX,X~ :.e.e.e.:.:.:.:.:.:.=.=.` ` ` ` ~ ~ ~ ~ ~ E W W W W W W W ~ ..HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXI O.W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ` a z.-X_.B.q.! u C.NXSXGXGXGXGXGXGXGXSXNX'.=.h.h.k.k.k.h.h.f.f.f.f.f.f.f.f.r.w.5XFXGXGXGXGXGXGXGXGXGXCX2X=.:.e.:.:.:.:.:.:.:.:.=.=.=.` ` ` ` ~ ~ ~ ~ ~ E W W W W W W O.P HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXk @.T W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ~ ~ t ).jXVXNXaX2X1XBXDXSXGXGXGXGXGXGXGXSXmXA.:.h.h.h.h.h.f.f.f.f.f.f.f.f.f.f.,.d.vXFXGXGXGXGXGXGXGXGXGXCX1X` =.:.:.:.:.:.:.=.=.=.=.=.=.` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W T $.; HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXo %.T W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ` y q.fXZXSXSXFXFXFXSXSXGXGXGXGXGXGXGXGXFXxXj.r.f.h.h.h.f.f.f.f.f.f.f.f.u.u.f.W B.NXSXGXGXGXGXGXGXGXGXSXBXoXW :.:.:.:.:.:.=.=.=.=.=.` ` ` ` ` ` ~ ~ ~ ~ ~ ~ W W W W W W %. HXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHX$.R W W W W W W W W W W W W W W W W W W W E ~ ~ ~ ` e !.CXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXFX+Xd ,.f.h.h.h.f.f.f.f.f.f.u.u.u.f.,.T :XFXGXGXGXGXGXGXGXGXGXSXNXE.f :.:.:.:.:.=.=.=.=.` ` ` ` ` ` ~ ~ ~ ~ ~ ~ ~ ~ ~ W W W W R $.HXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHX~ ..W W W W W W W W W W W W W W W W W W W W E ~ ~ a _ aXFXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXFX7XV.s.:.=.:.,.u.f.f.f.f.u.u.u.r.~ s ~.VXSXGXGXGXGXGXGXGXGXGXAXhXV.d :.:.=.=.=.=.=.` ` ` ` ` ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W W W W O.E HXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXg $.T W W W W W W W W W W W W W W W W W W W E ~ ~ e G.hXAXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXFXVXpX*X_.Z.x.t.:.` ~ ~ ~ ~ ~ ' x.*XVXSXGXGXGXGXGXGXGXGXGXGXDXuXw.W :.=.=.=.=.` ` ` ` ` ` ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W W W W W W T $.; HXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHX %.R W W W W W W W W W W W W W W W W W W W W ~ d T qXgXBXFXSXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXFXFXBXNXaX>X,X[._.T.T.E.|.:XNXCXSXGXGXGXGXGXGXGXGXGXGXSXVX Xd =.=.=.=.` ` ` ` ` ` ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ E W W W W W W R %.HXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHX@.W W W W W W W W W W W W W W W W W W W W W ~ R ` s.H.oXkXNXNXCXFXSXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXSXDXFXCXCXBXVXVXBXCXFXSXSXGXGXGXGXGXGXGXGXGXGXGXAXhXm.a :.` =.` ` ` ` ` ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W W W W W W W W W W @.HXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXx @.T W W W W W W W W W W W W W W W W W W W W ~ ~ y t a _ g.L.oXkXhXVXCXFXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXGXSXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXSXBX:Xf ~ ` ` ` ` ` ` ` ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ E W W W W W W W W W T $.h HXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHX%.R W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ d a t a ' s.R.oXnXDXSXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXZXhXg.y =.` ` ` ` ` ~ ~ ~ ~ ~ ~ ~ ~ ~ E ~ E W W W W W W W W W W R %.HXHXHXHXHXHXHXHXHXHXHX", +"HXHXHXHXHXHXHXHXHXHXHXO.~ W W W W W W W W W W W W W W W W W W W W W ~ ~ ~ ~ ~ ` ` ~ W a a d ! c #DF943B", +", c #D8913C", +"< c #D8923E", +"1 c #DF953E", +"2 c #E28B23", +"3 c #E38B23", +"4 c #EA9023", +"5 c #EB9023", +"6 c #ED9122", +"7 c #ED9123", +"8 c #EE9123", +"9 c #EE9223", +"0 c #F39421", +"q c #F19423", +"w c #F39523", +"e c #F79521", +"r c #F59422", +"t c #F49623", +"y c #F69622", +"u c #F79623", +"i c #F09324", +"p c #F19424", +"a c #F19525", +"s c #F49624", +"d c #F59625", +"f c #F49725", +"g c #F79624", +"h c #F79724", +"j c #F69725", +"k c #F79725", +"l c #F69726", +"z c #F79726", +"x c #F89621", +"c c #F89722", +"v c #F89723", +"b c #F89724", +"n c #F89824", +"m c #F89825", +"M c #F99825", +"N c #F89925", +"B c #F89926", +"V c #F89927", +"C c #F99927", +"Z c #F0972E", +"A c #F7992A", +"S c #F79A2B", +"D c #F79B2C", +"F c #F69A2D", +"G c #F79D2F", +"H c #F89929", +"J c #F89A28", +"K c #F89A29", +"L c #F99A29", +"P c #F99B29", +"I c #F89A2A", +"U c #F89A2B", +"Y c #F99B2B", +"T c #F89B2C", +"R c #F89C2C", +"E c #F99C2D", +"W c #F99C2E", +"Q c #F89D2E", +"! c #F99D2F", +"~ c #E29335", +"^ c #E49639", +"/ c #E2983F", +"( c #F79F35", +") c #F99E31", +"_ c #F89E32", +"` c #F99E32", +"' c #F9A033", +"] c #F9A035", +"[ c #F9A135", +"{ c #F9A036", +"} c #F9A136", +"| c #F9A137", +" . c #F3A03F", +".. c #F7A43F", +"X. c #F8A139", +"o. c #F9A23A", +"O. c #FAA33B", +"+. c #FAA43E", +"@. c #FAA43F", +"#. c #EF9F41", +"$. c #EEA244", +"%. c #ECA34B", +"&. c #F8A440", +"*. c #F9A541", +"=. c #F9A644", +"-. c #F9A947", +";. c #F0A349", +":. c #F5A648", +">. c #F1A74E", +",. c #F7AA4F", +"<. c #E4A458", +"1. c #E4A55B", +"2. c #E8A95E", +"3. c #F2A950", +"4. c #F4AA52", +"5. c #FBAF55", +"6. c #E4A860", +"7. c #EAAC63", +"8. c #EBAF68", +"9. c #F2AF61", +"0. c #EBB16C", +"q. c #F6B568", +"w. c #E3AF71", +"e. c #EBBE89", +"r. c #E0BC93", +"t. c #E3C199", +"y. c #E6C59D", +"u. c #EAC89E", +"i. c #E7C8A2", +"p. c #EACBA6", +"a. c #EBCFAF", +"s. c #F1CCA0", +"d. c #E7CEB1", +"f. c #ECD1B0", +"g. c #E5D2BB", +"h. c #E8D2B8", +"j. c #DFDFDF", +"k. c #E7D5C1", +"l. c #E7D7C4", +"z. c #E5D7C7", +"x. c #E7DACB", +"c. c #EADAC8", +"v. c #E9DCCC", +"b. c #EDDFCE", +"n. c #E5DDD3", +"m. c #E4DFD9", +"M. c #ECE0D1", +"N. c #E4E1DD", +"B. c #EDE3D8", +"V. c #EAE4DD", +"C. c #ECE5DC", +"Z. c #E2E2E2", +"A. c #E5E2E0", +"S. c #E4E4E4", +"D. c #E7E7E7", +"F. c #EAEAE9", +"G. c gray92", +"H. c #EEEEEE", +"J. c None", +/* pixels */ +"J.J.J.J.J.J.J.1 > J.J.J.J.J.J.J.", +"J.J.J.J.J./ ..| ' ( ~ J.J.J.J.J.", +"J.J.J.< *.{ V $ r U W _ - J.J.J.", +"J.J., o.J 0 # <.w.$.F N H % J.J.", +"J.J.o.T e 1.r.k.x.t.S z B u J.J.", +"J.^ [ Y ! #.z.H.M.n.0.d n m 2 J.", +"J.X.) | =. .h.B.5.f.j.;.v B d J.", +": Q M ` &.>.A.V.p.c.l.4.E n d = ", +"; I b A Z 2.D.s.u.F.a.-.} C w & ", +"J.l g y 6.m.G.q.3.b.Z.,.] D 8 J.", +"J.3 k c %.d.C.v.N.S.y.@.L a * J.", +"J.J.j z x 8.i.g.e.9.+.W t 6 J.J.", +"J.J.+ s h G :.7.O.R B s 7 . J.J.", +"J.J.J.O i f P L K d p 5 J.J.J.", +"J.J.J.J.J.@ 9 q i 4 + J.J.J.J.J.", +"J.J.J.J.J.J.J.X o J.J.J.J.J.J.J." +}; Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/share/pixmaps/bitcoin256.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/share/pixmaps/bitcoin256.png differ diff -Nru bitcoin-0.8.1/share/pixmaps/bitcoin256.xpm bitcoin-0.8.5/share/pixmaps/bitcoin256.xpm --- bitcoin-0.8.1/share/pixmaps/bitcoin256.xpm 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/share/pixmaps/bitcoin256.xpm 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,465 @@ +/* XPM */ +static char *bitcoin___[] = { +/* columns rows colors chars-per-pixel */ +"256 256 203 2", +" c #BE741B", +". c #C1761B", +"X c #C6791C", +"o c #CC7C1D", +"O c #D07F1D", +"+ c #C67B21", +"@ c #CC7E21", +"# c #D4821E", +"$ c #D9841F", +"% c #ED8E1D", +"& c #EF911F", +"* c #CF8022", +"= c #D48323", +"- c #DB8621", +"; c #DD8922", +": c #D58729", +"> c #D6882B", +", c #DE8C2A", +"< c #CE8C3C", +"1 c #D28934", +"2 c #D98E32", +"3 c #D28E3C", +"4 c #DF9132", +"5 c #D6903E", +"6 c #DD933B", +"7 c #E58C22", +"8 c #E98F23", +"9 c #E38F2B", +"0 c #E88F28", +"q c #ED9124", +"w c #E6922D", +"e c #EB942B", +"r c #EF982F", +"t c #F59624", +"y c #F89723", +"u c #F79826", +"i c #F89825", +"p c #F1972A", +"a c #F59A2C", +"s c #F89B2B", +"d c #E59534", +"f c #EA9632", +"g c #EE9933", +"h c #E3963B", +"j c #E6993D", +"k c #EC9C3B", +"l c #F49C33", +"z c #F99E32", +"x c #F29E3A", +"c c #F7A037", +"v c #F9A036", +"b c #F5A13C", +"n c #F9A33B", +"m c #CE9147", +"M c #D29245", +"N c #DC9641", +"B c #DD9846", +"V c #D2954B", +"C c #DC9A4B", +"Z c #E59C44", +"A c #EA9E43", +"S c #E39E4B", +"D c #E89F49", +"F c #F09F40", +"G c #EDA145", +"H c #E6A14D", +"J c #EBA34B", +"K c #F4A443", +"L c #F9A642", +"P c #F7A847", +"I c #FAA846", +"U c #F3A64A", +"Y c #F8A748", +"T c #F5A94D", +"R c #FAAA4B", +"E c #E6A454", +"W c #EBA552", +"Q c #EDA856", +"! c #E4A55B", +"~ c #E8A75B", +"^ c #E7A95E", +"/ c #EBA95B", +"( c #F0A751", +") c #F4AB53", +"_ c #FAAE53", +"` c #F4AE5A", +"' c #F8AF59", +"] c #FAB057", +"[ c #F6B15E", +"{ c #FAB25B", +"} c #DFAD6F", +"| c #DCAE77", +" . c #DFB27D", +".. c #E5AA64", +"X. c #E8AB61", +"o. c #E5AE6C", +"O. c #E6B06F", +"+. c #ECB16C", +"@. c #F5B365", +"#. c #FBB562", +"$. c #FBB867", +"%. c #F5B66B", +"&. c #FAB768", +"*. c #F4B86F", +"=. c #FBB96A", +"-. c #E1AE71", +";. c #E5B174", +":. c #EBB573", +">. c #EFB977", +",. c #E5B47A", +"<. c #EEBA7B", +"1. c #F3B770", +"2. c #F3B974", +"3. c #FBBC72", +"4. c #F3BC7B", +"5. c #F8BF7A", +"6. c #FAC079", +"7. c #DCB382", +"8. c #DFBB8F", +"9. c #DABB96", +"0. c #DBBD99", +"q. c #E2B682", +"w. c #E4B985", +"e. c #ECBD84", +"r. c #E3BB8B", +"t. c #EABF8C", +"y. c #F1BE83", +"u. c #E2BE92", +"i. c #D3BDA2", +"p. c #DEC09C", +"a. c #EEC28D", +"s. c #F4C286", +"d. c #F8C282", +"f. c #F3C48B", +"g. c #E7C297", +"h. c #ECC393", +"j. c #E2C29D", +"k. c #EAC69B", +"l. c #ECC89F", +"z. c #F1C694", +"x. c #F2C897", +"c. c #F1CA9B", +"v. c #DBC2A3", +"b. c #D6C2AB", +"n. c #DDC7AD", +"m. c #DEC9AF", +"M. c #D3C4B3", +"N. c #DDCAB3", +"B. c #D2C7B9", +"V. c #D6C9BA", +"C. c #DDCEBB", +"Z. c #DFD0BE", +"A. c #E2C5A2", +"S. c #E8C7A0", +"D. c #E6C9A5", +"F. c #EBCBA4", +"G. c #E2C7A8", +"H. c #E3CAAC", +"J. c #EBCDA9", +"K. c #EFD2AF", +"L. c #F3D1A7", +"P. c #F1D1A9", +"I. c #E4CEB3", +"U. c #E8CFB1", +"Y. c #E1CFBA", +"T. c #E6D0B6", +"R. c #E9D1B4", +"E. c #E4D2BC", +"W. c #EAD4BA", +"Q. c #F4D5B0", +"!. c #F4D9B9", +"~. c #CDCDCD", +"^. c #D5CCC3", +"/. c #D4CFCA", +"(. c #DED2C3", +"). c #D3D1CE", +"_. c #DED6CC", +"`. c #D5D5D5", +"'. c #DBD7D1", +"]. c #DEDAD4", +"[. c #DDDDDC", +"{. c #E3D5C3", +"}. c #E9D7C1", +"|. c #EBD9C4", +" X c #E1D6CA", +".X c #E3D9CD", +"XX c #EADDCD", +"oX c #E1DBD4", +"OX c #E8DFD4", +"+X c #E1DEDB", +"@X c #EDE3D7", +"#X c #E3E1DE", +"$X c #E8E3DC", +"%X c #F6E5D2", +"&X c #F4EBDF", +"*X c #E4E4E4", +"=X c #ECE7E2", +"-X c #EDE9E4", +";X c #ECECEC", +":X c #F0EBE7", +">X c #F4F4F4", +",X c #FEFEFE", +"X>X>X>X;X;X*X[.`.r.n n z v v v v c x l p l x x c c v v v v z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u i u X>X>X>X>X>X;X*X[.`.@.n n v v v v v c g E | S k f r l l l z z z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u i e X>X,X,X,X,X>X>X;X*X_.R n v v v v v v x e 0.`.`.V.p.;.H f e e p l l z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y , X>X,X,X,X,X>X>X;X*XI.L n v v v v n n x g V.`.[.[.[.[.[.(.p.;.S f r l z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u u y X,X,X,X,X,X>X>X;X*Xa.n n v v v n n n l A `.[.*X*X-X-X*X*X*X[.`.V.9.K z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u i u X,X,X,X,X,X>X>X-X[.%.n n n n n n n b p o.[.*X;X;X;X>X;X;X*X*X[.`.~.T z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y 0 X>X,X,X,X,X,X>X;X*XoXR L n n n n n n b g u.*X-X;X>X>X>X>X>X;X*X*X[.N.L n z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y X>X,X,X,X,X>X>X;X*XI.L L n n n n n n b g C.*X;X>X>X,X,X,X>X>X;X*X[.g.L n z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u i u X,X,X,X,X,X>X>X;X*Xh.L L n n n n n n l G [.*X;X>X,X,X,X,X>X>X;X*X[.2.n n z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y w X,X,X,X,X,X>X>X-X[.%.L n n n n n n b l o.*X;X>X>X,X,X,X,X,X>X;X*X]._ n v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i y X>X,X,X,X,X,X>X;X*XoXR L n n n n n n b g j.*X;X>X>X,X,X,X,X,X>X;X*XE.I n v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y t X>X,X,X,X,X>X>X;X*XT.I L n n n n n n b k Z.*X;X>X,X,X,X,X,X>X>X;X*Xl.L n v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y ; X,X,X,X,X,X>X>X;X*Xh.L L n n n n L L x G [.*X;X>X,X,X,X,X,X>X>X;X*X4.n n v v v z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u i u X>X,X,X,X,X,X>X>X-X[.%.L L n n n L L L l ;.*X;X>X>X,X,X,X,X,X>X;X*X[._ L n v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y q X>X>X>X;X;X;X;X*X*X*X*X].N.q.! d e e r p q ,.-X;X>X>X,X,X,X,X,X>X;X*XoX_ I L n L L L L K g j.*X;X>X>X,X,X,X,X,X>X;X*XE.Y L n v v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X>X>X>X>X>X>X>X>X;X;X;X;X*X*X*X*X_.I.r.o.Z w D.;X>X>X,X,X,X,X,X,X>X;X*XW.R I L L L L L L K k Y.*X;X>X,X,X,X,X,X>X>X;X*Xl.L L n v v v v v z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y q X>X,X,X,X,X,X,X>X>X>X>X>X>X;X;X;X;X*X*X*X*X$X}.=X>X>X>X,X,X,X,X,X,X>X;X*Xx.I I L L L L L L x J [.*X;X>X,X,X,X,X,X>X>X;X*X4.L n n v v v v v z z z z z z s s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X;X;X;X;X;X>X>X>X>X,X,X,X,X,X,X,X>X>X;X&.L L L L L L L L x ;.*X;X>X>X,X,X,X,X,X>X;X*X[.' L n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u y t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X>X>X@Xb l x x K L L L L k j.*X;X>X>X,X,X,X,X,X>X;X*XE.R L n n n n v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X:XW.g.;.H k k k b F k {.;X>X>X,X,X,X,X,X>X>X;X*XS.I L n n n n v v v v v z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i y t X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X;X*X+XE.j.,.~ j A =X;X>X>X,X,X,X,X,X>X>X;X*X4.I L n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X;X;X*X*X*X*XXX}.;X>X>X,X,X,X,X,X,X>X>X;X#X{ I n n n n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i y t X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X;X;X;X;X>X>X>X,X,X,X,X,X,X,X>X>X;X|.R I n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X>X>X;XF.L L n n n n n n n v v v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i y q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X,X,X,X,X,X,X,X,X,X,X,X>X>X;X@.a x b b n n n n n v v v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X|.e.G g l c b n n n n v v v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 0 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X-X+XG...k g l b n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i y t X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X;X*X*X(.w.A g l c c v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t = X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X-X*X*X'.u.A r l x c v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X;X*X*X].u.k r l c v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X;X*X*X_.q.g p l z v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 7 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X;X*X[.C.W p l c v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i y t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X;X;X;X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X*X*X[.w.r a l z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X-X-X-X*X*X-X;X;X;X;X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X;X*X[.H.g a z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 0 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;Xf.3.x.R..X+X*X*X*X*X;X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X*X*X(.k p z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i y t X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X$.{ { { $.3.f.F.{.[.*X*X*X;X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X-X*X_.W p z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t @ X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X-X|.{ ] _ ] { { { { $.3.h.R..X*X*X*X;X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X-X*X'.k p z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 0 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ._ ] _ _ _ _ ] { { { #.$.$.f.T.oX*X*X;X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X-X*X_.l a z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xs._ _ _ _ _ _ _ _ _ ] { { { { { =.l..X*X*X;X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X*XH.t z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X+X&.] _ _ _ _ _ _ _ _ _ _ _ _ ] { { { #.k.oX*X-X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.:.t z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.{ { _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ] _ { J.*X*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X'.l s z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XF.{ { _ _ _ _ _ _ _ _ ] _ _ _ _ _ _ _ _ _ _ _ y.oX*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.t.u z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xs.{ ] _ _ _ _ _ ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ ' .X*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X'.z z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X].&.{ ] _ _ _ ] ] ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ R R oX*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.:.u z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.#.{ _ _ _ _ ] ] ] ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ I @.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XD.s z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XF.{ { _ ' ] ] ] ] ] { { { ] ] ] _ _ _ _ _ _ _ _ R R _ n k.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X_.n z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xs.{ { ] ] ] ] { { { { { { ] ] ] _ _ _ _ _ _ _ _ R R R I T +X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.T z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.=.{ { ] ] ] { { { { { { { ] ] ] _ _ _ _ _ _ _ _ _ R R R K D.*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.%.z z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t = X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.#.{ ] ] { { { { { { { { { { ] ] ] _ _ _ _ _ _ _ _ R R R K e.*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X-X[.<.v v z z z z z z z s s s s s s s s s s s s u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 7 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.{ { { { { { { { { { { { { { { ] ] ] _ _ _ _ _ _ _ _ R R K +.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X<.n v v z z z z z z s s s s s s s s s s s s u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xs.#.{ { { { { { { { { { { { { { ] ] ] ] _ _ _ _ _ _ _ _ R U / *X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xe.n n v v z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t t X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.=.#.{ { { { { { { { { { { { { { ] ] ] ' _ _ _ _ _ _ _ _ R K +.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X<.n n v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u t X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.$.#.{ { { { { { { { { { { { { { { ] ] ] ] _ _ _ _ _ _ _ T K ,.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X-X[.>.n n v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t @ X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.#.#.{ { { { { { { { { { { { { { { ] ] ] ] _ _ _ _ _ _ _ T G j.*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.%.n n v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t = X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xf.#.{ { { { { { { { { { { { { { { { { ] ] ] _ _ _ _ _ _ _ T J X-X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X]._ L n v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X#X3.#.{ { { { { { { { { { { { { { { { { { ] ] ] _ _ _ _ _ ) G ..*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X{.R L n v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 7 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X|.=.#.{ { { { { { { { { { { { { { { { { { { ] ] ' _ _ _ _ T k E.*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XH.L L n v v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;Xc.] { { { { { { { { #.{ { { { { { { { { { { ] ] ] _ _ _ ( A w.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X-X[.a.L n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;Xx.( Q ( ) ` [ [ { #.#.#.{ { { { { { { { { { { ] ] _ ) T D o.*X;X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.[ L n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;XOXI.u.O./ Q Q ` ` [ [ [ { { { { { { { { { ] ' ) ( J H r.*X-X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XE.R I n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X;X*X*X_.H.r.;.X./ Q Q ) ) ` ` ` ` ` ) ) ( J H W ,.{.*X;X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.y.I L n n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u t X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X;X;X*X*X*X*X].(.H.u.q.;.^ ^ ~ ~ E E ~ o.r.G. X*X*X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X_._ Y L n n n n n v v v z z z z z z z s s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i u t @ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X;X;X;X*X*X*X*X*X*X[.]..X X XoX+X*X*X*X-X;X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.f.R I n n n n n n v v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t = X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X;X;X;X;X;X;X-X-X*X*X*X-X;X;X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X;X*X X_ R L n n n n n n v v v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t = X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X>X>X;X;X;X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.%.R I L n n n n n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i t - X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X*X[.k.R R L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X;X*X[.l.] _ I L L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X-X*X[.l.{ _ Y L L L n n n n n n n n v v v v v v z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X*X*X].h.{ _ R L L L L L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X;X*X[.T.3.{ ] R I L L L L L n n n n n n n n n v v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X;X;X;X;X;X;X;X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X*XW.s.#.{ _ R I I L L L L L L n n n n n n n n v v v v z z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i i i i i t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X-XQ.|.OX*X*X*X*X*X;X;X;X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X&X!.L.d.#.{ ] R R I I I L L L L L L n n n n n n n n n v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i i t ; X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;XXX3.3.3.s.c.R..X[.*X*X*X-X;X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X%X{ L R _ _ R R R I I I I L L L L L L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i i t ; X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X-XK.&.=.=.&.=.3.3.d.c.R..X[.*X*X*X;X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;XJ.J K Y R R Y I I I I L L L L L L n n n n n n n n n v v v v z z z z z z z s s s s s s s s s s s s u u u i i i i i i i i i i i i i i i i i i i i i i i i t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xf.$.#.#.#.#.&.&.=.=.3.3.f.F.}.+X*X*X*X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;XOX:.K U R R I I I I I L L L L L L n n n n n n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i i i i t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X-X+X3.$.#.{ { #.#.#.#.$.$.&.=.=.3.6.c.W.+X*X*X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X*Xj.K K R R I I I I I L L L L L n n n n n n n n v v v v v v z z z z z z s s s s s s s s s s s s u u u i i i i i i i i i i i i i i i i i i i i i i u t = X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.&.#.{ { { { #.#.#.#.#.#.#.#.$.$.=.=.5.J..X*X*X;X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X*XH.K K R R I I I I L L L L L L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i i i i i i i u t = X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.#.#.{ { { { #.#.#.#.#.#.#.#.{ #.#.$.$.$.=.z.{.*X*X;X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X*X*XC.U K R I I I I I L L L L L L n n n n n n n n v v v v v z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i i u q * s u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u u u u s s s s s s s s s s s z z z z z z z v v v v v n n n n n n n n L L L L L L I I K A Z.*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xf.#.#.{ { { { { #.#.#.#.{ { { { { { { #.#.#.#.$.z.{.*X*X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X*XC.b K Y I I I I L L L L L L n n n n n n n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i u q + X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.3.#.{ { { { { { #.#.#.{ { { { { { { { { { { #.#.#.$.F.+X*X;X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.H.b P I I I I I L L L L L n n n n n n n n n v v v v v z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.$.#.{ { { { { { { { { { { { { { { { { { { { { { { #.{ 2.{.*X;X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.e.b Y I I I I L L L L L L n n n n n n n n v v v v z z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.#.#.{ { { { { { { { { { { { { { { { { { { { { { { { { { { U.*X;X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X].T L Y I I I I L L L L L L n n n n n n n n v v v v v z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i i t q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xf.#.{ { { { { { { { { { { { { { { { { { { { { { { { { ] { { _ R.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X-X*XD.L R I I I I L L L L L L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i t q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.=.#.{ { { { { { { { { { { { { { { { { { { { { { ] ] ] ] ] { ' R T.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.` L I I I I I L L L L L L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i t 8 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.$.#.{ { { { { { { { { { { { { { { { { { { { ] ] ] ] ] ] ] _ ] _ R oX*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X-X[.g.n I Y I I I I L L L L L n n n n n n n n n v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i i i i t 7 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.{ { { { { { { { { { { { { { { { { { { { { ] ] ] ] ] _ _ _ _ _ ] Y <.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X(.I I I I I I L L L L L L L n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i u t ; X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xf.{ { { { { { { { { { { { { { { { { { { ] ] ] ] ] ] _ _ _ _ _ _ _ _ T .X-X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.[ L I I I L L L L L L L L n n n n n n n n n v v v v z z z z z z z s s s s s s s s s s s u u u u u i i i i i i i i i i i i i i u q = X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.=.{ { ] { { { { { { { { { { { { { { ] ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ P g.*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X-X[.e.n I L L L L L L L L L L n n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.#.{ ] ] { { { { { { { { { { { ] ] ] ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ Y +.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xg.L I L L L L L L L L L n n n n n n n n n n n v v v v z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i i i i i t q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.{ { ] ] ] { { { { { { { { { ] ] ] ] ] ' _ _ _ _ _ _ _ _ _ _ _ _ _ _ T Q #X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XD.I I L L L L L L L n n n n n n n n n n n n n v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xf.{ { ] ] ] ] { { { { { { { ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Y W +X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XI.I I L L L L L n n n n n n n n n n n n n n n v v v v v v z z z z z z z s s s s s s s s s s u u u u u i i i i i i i i i i i i t 7 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.=.{ ] ] ] ] ] { { { { { ] ] ] ] ] ' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R T W +X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XE.I L L L L n n n n n n n n n n n n n n v v v v v v v v v z z z z z z z s s s s s s s s s s s u u u u i i i i i i i i i i i u q ; X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X{.#.{ _ _ ] ] ] ] { ] ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R R R K X.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XE.I L n n n n n n n n n n n n n n n n v v v v v v v v v z z z z z z z z s s s s s s s s s s s s u u u i i i i i i i i i i i t q @ X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.{ { _ _ _ ] ] ] ] ] ] ] ] ' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R R R R x q.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XD.R L n n n n n n n n n n n n n n n v v v v v v v v v z z z z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i t q X>X>X>X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xs.{ ] _ _ _ ] ] ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R R R R R R T k G.*X;X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XS.I L n n n n n n n n n n n n n v v v v v v v v v z z z z z z z z z z z z s s s s s s s s s s s s u u u u i i i i i i i i i t q X>X>X,X,X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X#X&.{ _ _ _ _ _ ] ] ] ] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R R R R R R R K A oX;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*Xh.L L n n n n n n n n n n v v v v v v v v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s u u u i i i i i i i i i t 7 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X|.{ ] _ _ _ _ _ ] ] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R R R R R R R R U k u.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X-X[.2.L L n n n n n n n n n v v v v v v v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s u u u u i i i i i i i u q = X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;Xc.R _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R R R R R R R R R T k D +X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.' L n n n n n n n n v v v v v v v z v v z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s u u u u i i i i i i i t q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;Xf.K G G U ) ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ R R R R R R R R R R R U A j {.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X{.R L n n n n n n v v v v v v v v v z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u i i i i i i t q X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X-XXXH.w.X.J J J T ) ) ) _ _ _ _ _ _ _ _ R R R R R R R R R R R Y K k D Y.*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XJ.L L n n n n v v v v v v v v z z z z z z z z z z z z z s z s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i u t 7 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X-X*X#X(.A.q...H J J U U T T T T R R R R R R R R R Y Y U K k A ;..X*X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X-X[.4.L n n n v v v v v v v v z z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i t q * X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X;X;X*X*X*X[.(.H.u.,.^ J D G A J K K U U U U K k k k A E w.Y.*X*X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X]._ L n v v v v v v v v v v z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i t q X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X;X;X;X-X*X*X*X*X[._.N.A.u.;.;...E E E E ..;.q.j.I.+X*X*X;X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*XH.I L n v v v v v v v v z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i t 8 X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X;X;X;X;X-X*X*X*X*X*X*X*X+X+X+X+X*X*X*X*X*X;X;X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.1.L n v v v v v v z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i u q ; X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X;X;X;X;X;X;X;X;X;X;X;X;X;X;X;X;X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X XR L n v v v v v z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i t q X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X-X[.a.L n v v v z z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i t 8 X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X]._ L n v z z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i u q ; X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X;X*X[.a.L n v z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X_.R L n z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i i i t 8 X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.2.L n z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u s u u u u u u u u i i i i i i i i i i i i i i i i i i t q = X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X*X[.D.L L v z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X-X*X XR L n z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i i i i i i i u q 7 X>X,X,X,X,X,X,X,X>X>X>X>X;X;X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X;X-X*X'._ I n z z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u i u u i i i i i i i i i i i i i i i i i i i i i i t q o X>X,X,X,X,X,X,X>X>X>X=X;X-X-X-X;X;X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X;X-X*X].%.L L z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i t 8 X>X,X,X,X,X,X>X>X;X=X=.5.c.W.oX*X*X-X;X>X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X*X*X_.%.I L z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i t q - X>X,X,X,X,X,X>X>X;X|._ _ _ { #.4.l.}.$X;X>X>X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X;X;X*X[.E.{ I L v z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u i u i i i i i i i i i i i i i i i i i i i i i i i i i i i t 8 X,X,X,X,X,X>X>X;X*XF.R R R R _ _ { { { 4.-X>X>X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X>X>X>X>X,X,X,X,X,X,X,X,X,X,X,X>X>X>X>X>X>X>X;X;X*X*X[.k._ I n z z z s s s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q 7 X,X,X,X,X,X>X>X;X*X4.R I I I I R R R b U -X>X>X,X,X,X,X,X,X,X,X>X>X>X>X>X;X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X>X;X;X;X-X*X*X[.T.*.R L n z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q X>X,X,X,X,X,X>X;X*X+X] R I L I I I I P x t.;X>X>X,X,X,X,X,X,X,X>X>X;X;X;X;X-X-X-X;X;X;X;X;X;X;X;X;X;X;X;X;X;X;X;X;X;X*X*X*X[.].U.4.R I L v z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u q 7 X>X,X,X,X,X>X>X;X*XE.R Y L L I I I I K k I.-X;X>X,X,X,X,X,X,X>X>X;X|.f.J.W..X[.[.*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X[._.I.h.#.R L L n z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u i u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q . X,X,X,X,X,X>X>X;X*Xl.I I L L L I I P K A oX-X>X>X,X,X,X,X,X>X>X;X;Xs.R _ _ { #.4.y.S.l.T.{.{. XoXoXoXoX].oX{.{.E.k.a.2.{ _ I L n v z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u q 7 X,X,X,X,X,X>X>X;X[.2.I I L L L L I L x ^ *X;X>X>X,X,X,X,X,X>X>X;X*X#.I I I I Y I R I _ R _ ] { { [ { { { { ] _ R R I I L n n v z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q . X>X,X,X,X,X,X>X;X*X]._ Y L L L L L I L k r.*X;X>X>X,X,X,X,X,X>X;X-X.XR L n n n n n n L L L L L L L n L n n n L n n n c v z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u q 7 X>X,X,X,X,X>X>X;X*XT.R I L L L L L L K k H.*X;X>X>X,X,X,X,X>X>X;X*XJ.L L n n n n n v v v v v v v v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 8 X,X,X,X,X,X>X>X;X*Xk.I I n L L L L L b k ].*X;X>X,X,X,X,X,X>X>X;X*Xy.L n n n n v v v v v v v v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q 7 X,X,X,X,X,X>X>X-X[.2.L L n L L L L L l ^ [.-X>X>X,X,X,X,X,X>X;X*X[.[ L n n n v v v v v v v z z v z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 8 X,X,X,X,X,X>X;X*X]._ L L n L L L L K g r.*X;X>X>X,X,X,X,X,X>X;X*X{.R L n v v v v v v v z z z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q - X,X,X,X,X>X>X;X*XE.I L n n n L L L b g H.*X;X>X>X,X,X,X,X>X>X;X*XF.L L v v v v v v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i u q 8 X>X>X,X>X>X>X;X*Xk.L L n n n n L L x k _.*X;X>X,X,X,X,X,X>X>X;X*Xy.n n v v v v v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q # X>X>X>X>X;X*X[.2.L L n n n n n b l ~ [.-X>X>X,X,X,X,X,X>X;X*X[.' L n v v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s s u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q 7 X>X,X,X,X,X,X>X;X*X{.I n c v v z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 8 X>X,X,X,X,X>X>X;X*XF.L n v z z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q - X>X,X,X,X,X>X>X;X*X4.n n z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q 7 .L n n n n n n b l E [.*X;X>X>X,X,X,X>X>X;X*X[.' n v z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t 8 X>X>X>X>X>X;X*X{.I n z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q - X>X>X;X;X*X[.S.n n z z z z z z z z s s s s s s s s s s s s s s s s s s s s s u u u u u u u u i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i t q 7 c #8F6A16", -", c #816218", -"< c #88691C", -"1 c #926D12", -"2 c #936F1C", -"3 c #997417", -"4 c #94721E", -"5 c #9B761C", -"6 c #9F781C", -"7 c #A17B1E", -"8 c #826622", -"9 c #916E20", -"0 c #967425", -"q c #9D7420", -"w c #9C7923", -"e c #997728", -"r c #99792C", -"t c #A37D23", -"y c #A37F2C", -"u c #A68125", -"i c #AB8225", -"p c #A5832B", -"a c #AA852C", -"s c #B28A2C", -"d c #A58233", -"f c #AC8734", -"g c #AE8C33", -"h c #AC8C3C", -"j c #B28C33", -"k c #B98E34", -"l c #B28D3D", -"z c #B59136", -"x c #BC9335", -"c c #B3913E", -"v c #BC933A", -"b c #BF9A3D", -"n c #C19235", -"m c #C2953C", -"M c #C39B3C", -"N c #CA9C3D", -"B c #B59343", -"V c #BE9642", -"C c #B69A44", -"Z c #BD9A45", -"A c #B49649", -"S c #BB9A49", -"D c #BB9F52", -"F c #BFA256", -"G c #C49C43", -"H c #CA9D41", -"J c #C59D4A", -"K c #C99E4D", -"L c #C3A144", -"P c #CDA244", -"I c #CFAA47", -"U c #C3A14D", -"Y c #CDA24A", -"T c #CCAB49", -"R c #D2A644", -"E c #D2A54B", -"W c #D6AA4C", -"Q c #DAAE4E", -"! c #DAB04F", -"~ c #C7A656", -"^ c #CDA452", -"/ c #CFAC52", -"( c #C0A65E", -") c #CEA75A", -"_ c #CCAC59", -"` c #D2AB53", -"' c #DCAF52", -"] c #D6AD5A", -"[ c #D9AE5B", -"{ c #DCB556", -"} c #DFB855", -"| c #D6B25F", -" . c #DCB35C", -".. c #DEBE5E", -"X. c #E2B656", -"o. c #E1B55A", -"O. c #E6BC5D", -"+. c #E9BD5E", -"@. c #C3AA63", -"#. c #CCAD62", -"$. c #D4AF62", -"%. c #CDB565", -"&. c #CEB46D", -"*. c #D7B164", -"=. c #DBB362", -"-. c #D6BD64", -";. c #DDBA64", -":. c #D3B66C", -">. c #DFB86B", -",. c #CEB772", -"<. c #D0B771", -"1. c #D4BA73", -"2. c #D9BE77", -"3. c #D6BE79", -"4. c #D8BF7A", -"5. c #E4BB62", -"6. c #E9BF64", -"7. c #E4BC69", -"8. c #E9BF69", -"9. c #E0BB71", -"0. c #E9C05E", -"q. c #D2C279", -"w. c #DBC27C", -"e. c #E2C667", -"r. c #EDC364", -"t. c #E3C16E", -"y. c #ECC46C", -"u. c #EDCC6C", -"i. c #F1C764", -"p. c #F5CA66", -"a. c #F9CD67", -"s. c #F5CC6A", -"d. c #F9CD6B", -"f. c #FBD36F", -"g. c #EDC572", -"h. c #E5CF77", -"j. c #ECCA74", -"k. c #E0C67E", -"l. c #EFCE78", -"z. c #F6CE72", -"x. c #FBCF71", -"c. c #F4CE79", -"v. c #F4D273", -"b. c #FCD473", -"n. c #F4DC75", -"m. c #FEDA74", -"M. c #F6D77C", -"N. c #FBD47A", -"B. c #F1DA7B", -"V. c #FDDA7C", -"C. c #FEE27D", -"Z. c #DDC683", -"A. c #DFC884", -"S. c #E4CA84", -"D. c #E3CC89", -"F. c #E7D183", -"G. c #EFD280", -"H. c #EFDC82", -"J. c #ECD48D", -"K. c #EFDA8C", -"L. c #F9D783", -"P. c #F2DF83", -"I. c #FCDB83", -"U. c #F5DC8F", -"Y. c #FADD8B", -"T. c #EBD593", -"R. c #EFDA99", -"E. c #F3DD93", -"W. c #F3DF9F", -"Q. c #FFE385", -"!. c #FEE986", -"~. c #FDE48C", -"^. c #FEEC8E", -"/. c #ECE199", -"(. c #F6E591", -"). c #FEE494", -"_. c #FEEB93", -"`. c #FEE69A", -"'. c #FFEB9B", -"]. c #FFF197", -"[. c #FFF39B", -"{. c #FEF99B", -"}. c #F6E2A2", -"|. c #F9E5A5", -" X c #F7E9A5", -".X c #FEECA4", -"XX c #FBE7A8", -"oX c #FDEAAB", -"OX c #F7F2AA", -"+X c #FEF2AC", -"@X c #FDF4B4", -"#X c #FFFABA", -"$X c #FFFEC2", -"%X c None", +"32 32 102 2", +" c #CC7D1D", +". c #D5831F", +"X c #D48221", +"o c #D98621", +"O c #DC8820", +"+ c #DC8D2C", +"@ c #D98F36", +"# c #D68F39", +"$ c #DD943E", +"% c #E28B23", +"& c #E98F24", +"* c #E18F2D", +"= c #ED9124", +"- c #EC942A", +"; c #F59624", +": c #F89724", +"> c #F79827", +", c #F89825", +"< c #F0962B", +"1 c #F59A2D", +"2 c #F99B2B", +"3 c #EC9732", +"4 c #EC9A37", +"5 c #E2963B", +"6 c #E6983A", +"7 c #EC9C3B", +"8 c #F69D33", +"9 c #F99E32", +"0 c #F49E3A", +"q c #F9A036", +"w c #F6A13C", +"e c #F9A33B", +"r c #D79341", +"t c #DC9641", +"y c #E39A43", +"u c #EA9D42", +"i c #EFA041", +"p c #EDA34B", +"a c #F5A443", +"s c #F9A643", +"d c #FAA846", +"f c #F2A64C", +"g c #F9AA4B", +"h c #E5A251", +"j c #ECA756", +"k c #EBA758", +"l c #FAAF57", +"z c #FBB057", +"x c #FBB25B", +"c c #DFB179", +"v c #E4AA65", +"b c #EBAE64", +"n c #E9AF69", +"m c #FBB665", +"M c #F1B46A", +"N c #F8B96D", +"B c #E5B071", +"V c #EBB777", +"C c #EEB877", +"Z c #E7B478", +"A c #EBB97D", +"S c #F0B671", +"D c #F2B871", +"F c #EFBC80", +"G c #E6BD8D", +"H c #EDBF88", +"J c #E6BF90", +"K c #F1C187", +"L c #F1C288", +"P c #E5C093", +"I c #EEC493", +"U c #E1C19B", +"Y c #E9C69C", +"T c #ECC89D", +"R c #F1C897", +"E c #DFC5A4", +"W c #DBCBB8", +"Q c #E2C7A7", +"! c #EBCBA6", +"~ c #E6CBAB", +"^ c #E9D2B7", +"/ c #E5D1B9", +"( c #EBD6BD", +") c #EFD9BE", +"_ c #DDD0C2", +"` c #DCD7D2", +"' c #DEDEDE", +"] c #ECDAC5", +"[ c #EDDECB", +"{ c #E9E0D5", +"} c #E7E0D9", +"| c #E9E2DB", +" . c #EFE8DF", +".. c #E5E5E5", +"X. c #EBE7E2", +"o. c #EFEAE6", +"O. c #ECECEC", +"+. c #F2ECE6", +"@. c #F1F0EE", +"#. c #F4F4F4", +"$. c #FBFBFB", +"%. c None", /* pixels */ -"%X%X%X%X%X%X%X%X%X%X%X%Xp t 6 5 w t w %X%X%X%X%X%X%X%X%X%X%X%X%X", -"%X%X%X%X%X%X%X%X%Xu u x I X.0.s.u.0.W x 7 4 %X%X%X%X%X%X%X%X%X%X", -"%X%X%X%X%X%X%Xy i I i.a.f.m.m.b.f.s.a.s.i.W 7 > %X%X%X%X%X%X%X%X", -"%X%X%X%X%X%Xt M 0.a.m.m.m.m.f.d.p.p.p.f.d.f.i.b 1 < %X%X%X%X%X%X", -"%X%X%X%X%X7 ! d.f.f.m.f.+.W P R I Q 5.v.V.V.z.f.{ 5 + %X%X%X%X%X", -"%X%X%X%Xu X.f.m.m.f.' H s ~ V y _ Z J o.g.L.L.Q.!.e.5 X %X%X%X%X", -"%X%X%Xu X.b.C.m.+.N m n t }.3.> }.w.V 5.y.y.Y.[.^.^.-.1 + %X%X%X", -"%X%Xt P m.N.m.X.v v v k 6 }.1.: /.4.c 7.N.N.v.!.{.{.^.L & %X%X%X", -"%X%Xg Y.Y.V.+.m k a t t : }.1.% }.1.r | l.B.M.b.!.{.^.n.7 X %X%X", -"%Xp -._.'.Y.' Y n D.}.}.|.oXXX|.oX XT.w.F _ j.v.v._.^.C.T & @ %X", -"%Xa (.'.'.9.[ [ K S.}.oXoXoXoXXXoXoXoXoX XD / s.d.v.!.C.v.3 o %X", -"%XU '.'.Y.[ [ [ [ J f <.oXoX( 2 f S J.oXoXT.j r.s.i.C.C.C.z X %X", -"p e.'.'.F. .=.=.=.=.) 1.oXoX@.f . .F oXoX}.a +.i.i.b.C.m.I X O ", -"u w.'.[.j.5.8.7.7.7.] 2.oXoX@.y W c &.oXoXZ.k r.s.i.s.V.m.} = o ", -"u H.[.{.y.8.y.g.8.g.7.2.oXoXA.@.&.D.oXoXT.e G +.O.O.5.V.m.0.- o ", -"u !.].[.r.8.y.g.g.g.7.4.oXoXoXoXoXoXoXoXoX<.y W X.o.o.m.m.0.- o ", -"u B._._.5.5.8.y.g.c.g.w.oXoX,.h A F <..XoXoX1.k ' ' ' V.N.r.- ", -"u u.Q.~.r.6.z.N.V.I.v.k.oXoX@.B | _ c 1.oXoX}.a ' ' O.I.b.O.= o ", -"u ..Q.Q.v.i.s.c.N.L.l.Z.oXoX@.B t.=.S &.oXoXXXy Y R +.N.b.Q % o ", -"t T C.I.I.6.u.z.z.5.S 1.oXoX@.e B h D |.oXoXS.f Y Y 6.d.d.n X O ", -"%Xs m.V.Q.r.r.z.5.<.}.oXoXoXXXW.}.oXoXoXoXW.h G H R a.p.s.7 %X", -"%X7 O.V.V.v.+.r.` 4.oXoXoXoXoXoXoXoXXXR.<.h v N N o.a.p.Q = %X", -"%Xw x v.v.v.r.+. .Z l d e }.Z.r }.3.d l V G n n R a.s.a.s X O %X", -"%X%X6 { v.l.v.+.O.5.=.^ d }.4.9 }.1.f J G m m G d.d.x.Q = %X%X", -"%X%X%Xs u.v.v.v.r.6.o. .l }.4.9 W.4.l ^ ^ J ) c.N.N.y.7 X O %X%X", -"%X%X%X5 z v.v.M.I.g.;. .J 1.#.B 1.#.) 7.$.S..X'.W.Y.j $ %X%X%X", -"%X%X%X%X5 b N.Y.~.).Y.j.5.$.=.=.$.*.2.J.@X$X#X#XoXC $ %X%X%X%X", -"%X%X%X%X%X3 z U.@X+X`.`.`.(.E.E.E.|.@X@X#X#X#X/.j % %X%X%X%X%X", -"%X%X%X%X%X%Xw a q.OX|.).`._.'.'.XX.X.X+X+X X%.w X o %X%X%X%X%X%X", -"%X%X%X%X%X%X%X%Xw a _ j.~.~.).).`.`.`.F._ t & . # %X%X%X%X%X%X%X", -"%X%X%X%X%X%X%X%X%X%X4 3 t z L U Z z t 1 $ . 8 %X%X%X%X%X%X%X%X%X", -"%X%X%X%X%X%X%X%X%X%X%X%X%X< ; & + + , 8 %X%X%X%X%X%X%X%X%X%X%X%X" +"%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.%.%.%.%.%.%.t 5 5 $ %.%.%.%.%.%.%.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.%.%.%.r u w q 9 9 9 8 4 # %.%.%.%.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.%.y s e 9 2 , , , : > 2 9 q 5 %.%.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.s q 2 , , , , : , > 2 2 > > 2 9 %.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.t e 1 , , , , : : ; > 2 9 9 2 , , > 2 + %.%.%.%.%.%.", +"%.%.%.%.%.$ e 2 , , , , , , ; u u 8 1 1 2 > , , > > + %.%.%.%.%.", +"%.%.%.%.%.e 2 , , : > ; ; > < ` ` 0 c n 1 2 , , , > , %.%.%.%.%.", +"%.%.%.%.e 1 , , , , ; h v - 3 ..! w ' _ 9 2 > , , , > : %.%.%.%.", +"%.%.%.6 q , : , > 2 > W ..| [ #.H V ..D 9 9 2 , , , , , % %.%.%.", +"%.%.%.e 2 , > 2 2 2 9 b ! #.$.$.#.#.#.Y i 1 2 > , , , > ; %.%.%.", +"%.%.@ q > 2 2 2 9 q e q 0 o.$.+.) { #.#.| b 2 2 , , , , : X %.%.", +"%.%.4 9 2 2 9 q e e s w b O.#.( m x I @.$...f > > , , , : & %.%.", +"%.%.8 > 2 2 9 e s d g a P #.#.L x l a [ $.#.A 2 2 , : , , ; %.%.", +"%.+ 1 , , 2 2 q e d g f / $.#.T n k Z o.$.O.M 9 2 > , , , ; X %.", +"%.* 2 , , , 2 9 q e s f X.$.#.O.O.O.#.$.+.Y g e 9 2 , , , ; o %.", +"%.* 2 , , , 2 2 q e w n O.$.[ R ( O.$.$.[ d s e 9 2 2 , , ; o %.", +"%.+ 2 , , , > 2 8 8 1 G #.#.T m m N ] #.#.~ s e e 9 2 > : ; X %.", +"%.%.> , , , , 2 < v B [ $.O.m z z s b #.$...g e e q 9 2 ; = %.%.", +"%.%.= : , , , : 7 ' O.#.$.@.C j p u ~ #.$.} g q 9 9 2 2 ; % %.%.", +"%.%.o , , , , : 0 G ^ .$.#.O.X.{ X.#.$.#.Y e 9 2 2 > , ; %.%.", +"%.%.%., : , , , 2 2 2 M O.) ] #.#.#.#.O./ d 9 2 > , , ; = %.%.%.", +"%.%.%.& ; , , , , 2 ; Q ..g F O.K A H S s 9 2 > , : , ; o %.%.%.", +"%.%.%.%.; ; , , , , 2 E _ d ' ..d q q 9 2 > , : , , ; = %.%.%.%.", +"%.%.%.%.%.; : , , , 2 q d g U J e 2 2 > , , , , , ; = %.%.%.%.%.", +"%.%.%.%.%.o ; : , , , 2 9 q 9 q 9 > , : , , , , ; = . %.%.%.%.%.", +"%.%.%.%.%.%.. ; ; , , > 2 2 2 > , , , , , , , ; = %.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.= ; : > 2 2 , , : , , , , ; ; & %.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.%.. = ; > : , , , , ; ; = = X %.%.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.%.%.%. % = ; ; ; ; & O %.%.%.%.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.%.%.%.%.%.%. X X %.%.%.%.%.%.%.%.%.%.%.%.%.%.", +"%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%." }; Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/share/pixmaps/bitcoin64.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/share/pixmaps/bitcoin64.png differ diff -Nru bitcoin-0.8.1/share/pixmaps/bitcoin64.xpm bitcoin-0.8.5/share/pixmaps/bitcoin64.xpm --- bitcoin-0.8.1/share/pixmaps/bitcoin64.xpm 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/share/pixmaps/bitcoin64.xpm 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,242 @@ +/* XPM */ +static char *bitcoin__[] = { +/* columns rows colors chars-per-pixel */ +"64 64 172 2", +" c #8F6319", +". c #8F6A1A", +"X c #90651A", +"o c #916C1A", +"O c #AF7C1E", +"+ c #B1781E", +"@ c #9A7026", +"# c #AC801F", +"$ c #B1811F", +"% c #A9812B", +"& c #B08320", +"* c #BB8621", +"= c #BD8E22", +"- c #A58132", +"; c #FC8400", +": c #FD8A03", +"> c #FD8E0C", +", c #FF910E", +"< c #F98F14", +"1 c #F79117", +"2 c #FD9314", +"3 c #FC951B", +"4 c #FE9A1D", +"5 c #CA8E22", +"6 c #CC8E2A", +"7 c #D48D23", +"8 c #C39223", +"9 c #CE9925", +"0 c #D19C25", +"q c #D19329", +"w c #D5992B", +"e c #DD9D33", +"r c #D69F3C", +"t c #E29425", +"y c #E79925", +"u c #EA9926", +"i c #E69A2C", +"p c #F79625", +"a c #F99524", +"s c #F79825", +"d c #F89825", +"f c #F3962A", +"g c #F69B2C", +"h c #F89B2B", +"j c #E19F30", +"k c #EE9B34", +"l c #F49D33", +"z c #F99E32", +"x c #F39F3B", +"c c #DFA731", +"v c #D7A43D", +"b c #DCA63C", +"n c #EEA328", +"m c #FFA225", +"M c #FFAB26", +"N c #F3A529", +"B c #FEA429", +"V c #F4AB2A", +"C c #FFAC2A", +"Z c #FFB325", +"A c #FFB42C", +"S c #FFBB2D", +"D c #E3A335", +"F c #E5A438", +"G c #EDA03D", +"H c #F7A037", +"J c #FAA135", +"K c #F3AB31", +"L c #FEAB31", +"P c #F4A13C", +"I c #F9A33B", +"U c #FDB432", +"Y c #FFBF37", +"T c #FFC12F", +"R c #FFC230", +"E c #FFC03E", +"W c #DFAF41", +"Q c #ECA34D", +"! c #EDA84E", +"~ c #F2A343", +"^ c #FAA642", +"/ c #FAA846", +"( c #F1A74C", +") c #F6A94F", +"_ c #FAAA4A", +"` c #E7A451", +"' c #ECA754", +"] c #EFAA56", +"[ c #ECAC5B", +"{ c #F3AA52", +"} c #FCAE52", +"| c #FBB056", +" . c #FBB25C", +".. c #E7AB61", +"X. c #ECB067", +"o. c #E7B36D", +"O. c #EBB36C", +"+. c #F2B163", +"@. c #FCB460", +"#. c #F0B56B", +"$. c #E3B274", +"%. c #EDB672", +"&. c #EDB877", +"*. c #E2B57C", +"=. c #ECB97B", +"-. c #E4BA83", +";. c #EBBD83", +":. c #E7BF8D", +">. c #EBBD88", +",. c #E9C08C", +"<. c #E7C496", +"1. c #EBC393", +"2. c #EBC997", +"3. c #E7C49A", +"4. c #E9C69A", +"5. c #E3CA9D", +"6. c #E9C89E", +"7. c #DCC9AE", +"8. c #DDCBB2", +"9. c #E3C7A2", +"0. c #E5CAA3", +"q. c #E9CBA3", +"w. c #E5CEAB", +"e. c #E8CEAA", +"r. c #E4D4AC", +"t. c #EBD2AF", +"y. c #E7CFB2", +"u. c #E1D4B4", +"i. c #E8D5B6", +"p. c #E5D7BB", +"a. c #E9D6BB", +"s. c #E5D8B9", +"d. c #EAD8BE", +"f. c #F0D6B4", +"g. c #DFDFC6", +"h. c #E3D6C1", +"j. c #E9D7C0", +"k. c #E6DAC5", +"l. c #EBDCC7", +"z. c #E5DCCA", +"x. c #EADEC9", +"c. c #E8DFD0", +"v. c #D7E2D9", +"b. c #E3E0C9", +"n. c #EEE2CB", +"m. c #E6E1D4", +"M. c #E9E2D3", +"N. c #E4E4DC", +"B. c #E9E5DE", +"V. c #F4EDDE", +"C. c #DFE8E6", +"Z. c #DEEEE8", +"A. c #DFF2F3", +"S. c #DDFFFF", +"D. c #E1E6E0", +"F. c #E8E6E2", +"G. c #E8E9E5", +"H. c #E5EFEC", +"J. c #E8E9EA", +"K. c #EAF3EE", +"L. c #F3F3EB", +"P. c #E7EDF2", +"I. c #E8EEF3", +"U. c #E7F4F7", +"Y. c #E9F0F7", +"T. c #EBF5FD", +"R. c #E4FEFF", +"E. c #ECFCFF", +"W. c #F4F5F4", +"Q. c #F4FFFF", +"!. c #FEFFFF", +"~. c None", +/* pixels */ +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.F L h C C A A A A C C h L e ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.D N C m d d a a p a a p a a d m m C N j ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.- K M m a p s d d d d d d d d d d d d s p d m M V % ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.Y M d a d d d d d d d d d d d d d d d d h h d s a d M U ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.E m 4 a d d d d d d d d d d d d d d d d d d h h h d d d a d M U ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.C 4 a d d d d d d d d d d d d d d d d d h h h h h h d d d d d a m C ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.W S a p d d d d d d d d d d d d d d d d h h h h g g h h h d d d d d p a S c ~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.v M a s d d d d d d d d d d d d d d d h h h h h g z z g h h d d d d d d s a C w ~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.r Z a d d d d d d d d d d d d d d d g 4 : 2 h z z z z z h h h h d d d d d d d a S q ~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.b Z a d d d d d d d d d d d d d d h h 4 x $.l a z H h h H z h h h d d d d d d d d a A w ~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.T a s d d d d d d d d d d d d h h h g : $.R.T.7.a B x f > a H h h d d d d d d d d s a R ~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.U a s d d d d d d d d d d d d h h h h z : e.!.!.p.2 3 8.D.5.' a h h h d d d d d d d d p d A ~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.U M p d d d d d d d d d d h h 1 : : 2 h h p B.!.Q.%., l J.!.R.-.> z h h h d d d d d d d d p C N ~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.S a d d d d d d d d d d h d 3 7.r.O.G p ; k E.!.T.( , [ E.!.T.~ 4 z h h h d d d d d d d d d a S ~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.V d s d d d d d d d d h h h 2 l E.!.Q.T.m.:.q.!.!.l.: : -.Q.!.c.a z z z g h h d d d d d d d d s m A ~.~.~.~.~.~.~.", +"~.~.~.~.~.~.@ S a d d d d d d d h h h h z : *.R.!.!.!.!.Q.!.!.!.V.,.Q d.!.Q.1.2 I z z h h h d d d d d d d d d a S X ~.~.~.~.~.~.", +"~.~.~.~.~.~.U d s d d d d d h h h h h g z a [ 5.M.Q.!.!.!.!.!.!.!.Q.E.!.!.Q.&.; 3 J H z h h h d d d d d d d d s h C ~.~.~.~.~.~.", +"~.~.~.~.~.~.S a d d d d h h h h h h z z z I d > < %.W.!.!.!.!.!.!.!.!.!.!.!.W.s.[ > 4 H g h h d d d d d d d d d a S ~.~.~.~.~.~.", +"~.~.~.~.~.i M p d d d h h h h g z z z z J H I I J > x.!.!.!.!.Q.T.E.Q.!.!.!.!.!.E.u.f 2 H h h h d d d d d d d d p C 7 ~.~.~.~.~.", +"~.~.~.~.~.C a d h h h h h g g z z z J J I I I I J P J.!.!.!.!.d.P =.e.G.E.!.!.!.!.Q.Z.f 2 z h h d d d d d d d d d d A ~.~.~.~.~.", +"~.~.~.~.~.A a h h h h h g z z z J H I I I I ^ / d X.E.!.!.!.Q.1.4 I J I ;.U.!.!.!.!.!.N.1 h g h h d d d d d d d d a S ~.~.~.~.~.", +"~.~.~.~.6 C p d h h h z z J J J I I I I ^ ^ ^ _ a 3.Q.!.!.!.E.#.I . ._ 3 ] K.!.!.!.!.E.O., z h h h d d d d d d d p A + ~.~.~.~.", +"~.~.~.~.i B d d h h h g z J I I I I ^ ^ ^ / / _ h k.!.!.!.!.J.) } . .| .3 6.Q.!.!.!.Q.q.> z g h h d d d d d d d d B t ~.~.~.~.", +"~.~.~.~.B d d d d h h h z z J I I ^ / / / _ _ ^ ( I.!.!.!.Q.d.I . . .| .d 1.Q.!.!.!.Q.q.2 z h h h d d d d d d d d d B ~.~.~.~.", +"~.~.~.~.C a d d d d h h g z J H I ^ ^ / _ _ } J %.E.!.!.!.Q.;.4 _ } | } J f m.!.!.!.!.Q.;.2 J z g h h d d d d d d d a A ~.~.~.~.", +"~.~.~.~.C a d d d d h h h z z J I I ^ ^ / _ } z 6.Q.!.!.!.!.n.<.&.+.{ ) ] h.Q.!.!.!.!.R.~ d H z z h h h d d d d d d a A ~.~.~.~.", +"~.~.~.~.A a d d d d d h h g z z H I I ^ / _ _ z k.!.!.!.!.!.!.Q.E.I.F.F.T.Q.!.!.!.!.E.9.2 I J z z h h h d d d d d d d A ~.~.~.~.", +"~.~.~.~.S a d d d d d h h h z z J I I ^ ^ / I ( P.!.!.!.!.Q.Q.!.!.!.!.!.!.!.!.!.!.E.w.d J I I J z h h h d d d d d d d A ~.~.~.~.", +"~.~.~.~.A a d d d d d d h h h z J J I I ^ / h O.E.!.!.!.Q.f.1.z.Y.E.!.!.!.!.!.!.L.! , ^ / I I H z z h h h d d d d d d A ~.~.~.~.", +"~.~.~.~.S p d d d d d d h h h z z J I I ^ / d <.Q.!.!.!.E.+.d _ +.>.k.E.!.!.!.!.Q.s.P J _ ^ I I J z z h h h d d d d d A ~.~.~.~.", +"~.~.~.~.C a d d d d d d d h h g z z H I I ^ d k.!.!.!.!.J.{ | @.} I I O.H.!.!.!.!.Q.C.l I ^ I I H J z g h h d d d d a A ~.~.~.~.", +"~.~.~.~.B a d d d d d d d h h h h z z J I J x P.!.!.!.Q.j.I . . . . .B { K.!.!.!.!.Q.0.a / ^ I I J z z h h h d d d a A ~.~.~.~.", +"~.~.~.~.B d d d d d d d d d h h h J h f 2 ; [ E.!.!.!.Q.1.I . . .| | .d 4.Q.!.!.!.!.m.z I ^ I I I J z h h h h d d d B ~.~.~.~.", +"~.~.~.~.u B d d d d d d d d h h z , ' v.q.X.M.!.!.!.!.E.#.^ . .| } } } d >.Q.!.!.!.!.F.x J I I I J J z z h h h d d C t ~.~.~.~.", +"~.~.~.~.7 C p d d d d d d d d h h : y.Q.Q.Q.!.!.!.!.!.B.d B / _ } } } J 1 k.!.!.!.!.!.c.s J I H J J z z z h h h h s A + ~.~.~.~.", +"~.~.~.~.~.A a d d d d d d d d h > ` R.!.!.!.!.!.!.!.!.L.q.=.[ ~ z h h l 0.Q.!.!.!.!.Q.q.2 I J J z z h h h h h h h a S ~.~.~.~.~.", +"~.~.~.~.~.C d d d d d d d d d d > ..g.Y.E.Q.!.!.!.!.!.!.Q.E.T.B.k.a.d.P.Q.!.!.!.!.!.E.[ 2 J z z z g h h h h d d d d C ~.~.~.~.~.", +"~.~.~.~.~.y C p d d d d d d d d g 3 > l [ <.x.W.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.Q.z.> z z z h h h h h d d d d p C 7 ~.~.~.~.~.", +"~.~.~.~.~.~.S a d d d d d d d d d h h 3 , > ; =.Q.!.W.T.Q.!.!.!.!.!.!.!.!.!.!.!.Q.A.g 2 z h h h h h h d d d d d a S ~.~.~.~.~.~.", +"~.~.~.~.~.~.C h s d d d d d d d d d h g z H : <.!.!.t.l &.V.!.!.Q.Q.Q.Q.!.Q.Q.E.b.l > H h h h h h d d d d d d s m C ~.~.~.~.~.~.", +"~.~.~.~.~.~.X S a d d d d d d d d d h h h h p N.!.Q.=.: < c.!.Q.2.&.e.a.d.i.6.[ < 2 z h h h h d d d d d d d d a S ~.~.~.~.~.~.", +"~.~.~.~.~.~.~.A h s d d d d d d d d d h g 2 ~ E.!.E.{ 2 [ E.!.T.l : 2 1 3 2 > > h z h h h h d d d d d d d d s m A ~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.S a d d d d d d d d d h h : -.R.!.B.h 2 =.Q.!.M.p z z z h h z g h h h d d d d d d d d d d d a S ~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.N C p d d d d d d d d d h 3 ' 2.N.9.2 3 z.!.!.q.> J z h h h h h h d d d d d d d d d d d d p C n ~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.S h p d d d d d d d d d z 3 : p l J g 8.T.S.O.> z h h h h h d d d d d d d d d d d d d p h S ~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.S a s d d d d d d d d h h z d h I J a P o.P d g h h h d d d d d d d d d d d d d d s a S ~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.* S a s d d d d d d d d h h g z J J h 3 > d z h h h d d d d d d d d d d d d d d s a S * ~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.$ T a s d d d d d d d h h h z z z h g g h h d d d d d d d d d d d d d d d d s a T O ~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.& S a p d d d d d d h h h z g h h h h h d d d d d d d d d d d d d d d d p a S # ~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.8 S d p d d d d d d h h g h h h h d d d d d d d d d d d d d d d d d p h S = ~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.S A a s d d d d h h h h h d d d d d d d d d d d d d d d d d s a A S ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.0 T m p d d d d h h h d d d d d d d d d d d d d d d d d p B S 9 ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.V S m a p d h d d d d d d d d d d d d d d d d p a m S V ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.o V S C d p p d d d d d d d d d d d d p p d C S N . ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.5 C S A B d d a a d d a a a d B A S C 5 ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.O t B A A A A A A A A B t O ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.", +"~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~." +}; diff -Nru bitcoin-0.8.1/share/pixmaps/bitcoin80.xpm bitcoin-0.8.5/share/pixmaps/bitcoin80.xpm --- bitcoin-0.8.1/share/pixmaps/bitcoin80.xpm 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/share/pixmaps/bitcoin80.xpm 1970-01-01 00:00:00.000000000 +0000 @@ -1,292 +0,0 @@ -/* XPM */ -static const char * bitcoin80_xpm[] = { -/* columns rows colors chars-per-pixel */ -"80 80 206 2", -" c #725203", -". c #785706", -"X c #7B5907", -"o c #7C5A09", -"O c #7F5F10", -"+ c #815E0B", -"@ c #85620C", -"# c #89650F", -"$ c #856313", -"% c #896614", -"& c #8D6913", -"* c #886718", -"= c #8D6B1B", -"- c #926D14", -"; c #926E1B", -": c #967116", -"> c #997317", -", c #95711E", -"< c #9B7419", -"1 c #9F781B", -"2 c #A27B1D", -"3 c #8F6F22", -"4 c #926F21", -"5 c #947323", -"6 c #9A7623", -"7 c #9D7925", -"8 c #957628", -"9 c #9A7729", -"0 c #9D7B2B", -"q c #9D7F33", -"w c #A47D23", -"e c #A97F27", -"r c #A37E2B", -"t c #9F8030", -"y c #A78021", -"u c #AC8425", -"i c #A5802D", -"p c #AC842B", -"a c #AF8829", -"s c #B2872C", -"d c #B28B2D", -"f c #A68333", -"g c #AA8633", -"h c #AD8A36", -"j c #A4863A", -"k c #A88638", -"l c #A7893B", -"z c #AC8B3B", -"x c #B28732", -"c c #B48C32", -"v c #B98E34", -"b c #B28D3B", -"n c #B88F3C", -"m c #B69033", -"M c #BD9235", -"N c #B4913D", -"B c #BC943A", -"V c #BE993C", -"C c #C19336", -"Z c #C1953B", -"A c #C49A3C", -"S c #C99C3D", -"D c #CDA13F", -"F c #D0A33F", -"G c #A88B40", -"H c #B08F40", -"J c #AE9142", -"K c #AE944C", -"L c #B49443", -"P c #BB9542", -"I c #B49946", -"U c #BD9846", -"Y c #B3964C", -"T c #BB974A", -"R c #B6994A", -"E c #BF9C4A", -"W c #B69B53", -"Q c #B99D53", -"! c #BCA055", -"~ c #BDA25A", -"^ c #C49742", -"/ c #C49C43", -"( c #CB9E42", -") c #C49D4B", -"_ c #C99E4C", -"` c #C29F52", -"' c #C5A244", -"] c #CDA245", -"[ c #C5A34C", -"{ c #CCA34B", -"} c #CCA94D", -"| c #D2A445", -" . c #D1A54B", -".. c #D5AA4E", -"X. c #DBAF4F", -"o. c #C6A352", -"O. c #CBA554", -"+. c #C5AA57", -"@. c #CEAC54", -"#. c #C4A65A", -"$. c #CDA458", -"%. c #C2A85F", -"&. c #CEAA5B", -"*. c #D0A550", -"=. c #D4AB53", -"-. c #DBAE53", -";. c #D0A75B", -":. c #D4AC5A", -">. c #D9AE5C", -",. c #CEB25E", -"<. c #D4B156", -"1. c #DDB156", -"2. c #D4B25C", -"3. c #DCB35D", -"4. c #D7B85C", -"5. c #DCBA5E", -"6. c #E2B355", -"7. c #E2B65B", -"8. c #E4BA5D", -"9. c #EABD5E", -"0. c #C5AA62", -"q. c #CCAE63", -"w. c #C6AE69", -"e. c #D5AF62", -"r. c #CEB167", -"t. c #CCB36C", -"y. c #D5B162", -"u. c #DCB462", -"i. c #D7B964", -"p. c #DCBC64", -"a. c #D2B66B", -"s. c #DCB669", -"d. c #D7BE69", -"f. c #DFB86A", -"g. c #D0B771", -"h. c #D2BA74", -"j. c #D5BE78", -"k. c #E1B766", -"l. c #E4BB63", -"z. c #E9BE63", -"x. c #E3BB6A", -"c. c #E9BF6A", -"v. c #E1BE72", -"b. c #DDC16B", -"n. c #DAC27E", -"m. c #E4C164", -"M. c #ECC264", -"N. c #E4C36B", -"B. c #EBC36C", -"V. c #E7C96F", -"C. c #EECA6E", -"Z. c #F1C564", -"A. c #F1C76A", -"S. c #F5CB6C", -"D. c #FACE6D", -"F. c #F4D06F", -"G. c #FCD06E", -"H. c #E5C371", -"J. c #EDC573", -"K. c #E4CA73", -"L. c #ECCC74", -"P. c #E7CF7A", -"I. c #EBCD7A", -"U. c #F3CD73", -"Y. c #F8CE71", -"T. c #F3CD7A", -"R. c #EDD076", -"E. c #EDD17B", -"W. c #F4D274", -"Q. c #FBD274", -"!. c #FED977", -"~. c #F3D47B", -"^. c #FDD47A", -"/. c #F5DA7C", -"(. c #FDDA7C", -"). c #FFE07F", -"_. c #DBC481", -"`. c #DFC885", -"'. c #E1CA86", -"]. c #EACC80", -"[. c #E4CD8A", -"{. c #EED383", -"}. c #E7D18F", -"|. c #EAD38C", -" X c #F4D680", -".X c #FDD780", -"XX c #F5DA83", -"oX c #FCDC84", -"OX c #F5DB8A", -"+X c #FADE89", -"@X c #EAD492", -"#X c #EED896", -"$X c #EFDA9A", -"%X c #F1DD9D", -"&X c #FDE283", -"*X c #F6E18D", -"=X c #FEE48D", -"-X c #FFE692", -";X c #FFE894", -":X c #FBE799", -">X c #FFEA98", -",X c #F6E2A3", -".J..X.X.X.X(.W.Z.C.&X;X;X;X;X-X-X-X<.u u < 3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3Xu u c oX=X=X=X=X=X=X=Xl.Z C M M C C v v v s w = '.2X2X2X5 $ = 2X2X2X}.5 g ) u./.+X+X=X=X=X&XW.Z.F.=X;X;X;X;X-X-X*XV u y @ X 3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3Xu u u N.-X-X-X-X=X=X=XB.Z M C v v s e e e e w > % `.2X2X2X= + % 2X2X2X}.= r L 4.E.OX+X-X=X=X&X).W.M.R.;X;X;X-X-X-X;XR.u u y 3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3Xu u U -X-X-X-X-X-X=XW.^ C C C x e e r 6 5 4 ; = $ `.2X2X2X= O = 2X2X2X}.O = t Q ,.b.P./.*X=X&X&X).F.M.W.;X;X;X;X&X-X&X} u u O 3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3Xu u u R.-X-X-X-X-X-X=X=.{ ^ Z C x n 2X2X.>.>.=.=._ n b 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X:XI N +.V./.).).F.F.9.W.;X=X;X-X-X-XR.u u > 3X3X3X3X3X3X3X3X", -"3X3X3X3X3Xu u d =X;X-X-X-X-X-Xx.>.>.>.>.>...^ P 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X,Xl N 4.R.!.!.!.G.Z.M.&X;X=X=X-X-X-XB a u 3X3X3X3X3X3X3X", -"3X3X3X3X3Xu u @.;X;X-X;X;X;XXX>.:.>.>.>.>.>._ P ` Y Y W _.2X2X2X2X2X2X@XW W ~ 0.t.'..>.>.>.>.>.>.=._ P z r 4 8 2X2X2X2X2X2X_.. $ , 6 1 3 t ~ 1X2X2X2X2X2X2X2Xt B 5.G.!.!.G.G.M.9.&X;X=X-X-X=X/.u u > 3X3X3X3X3X3X3X", -"3X3X3X3Xu u d =X;X;X=X;X;X=X3.>.>.>.e.>.3.3.>.:.*._ P r 9 2X2X2X2X2X1Xn.@ , c B N m h 8 ~ 2X2X2X2X2X2X2XI h <.F.!.G.G.F.M.9.W.;X=X-X-X=X=Xm u y . 3X3X3X3X3X3X", -"3X3X3X3Xu u ' -X-X>X-X-X-X X>.>.>.>.>.>.>.u.u.u.u.3.$.P f 2X2X2X2X2X2X_.$ i / -.<.8.} h 8 1X2X2X2X2X2X2X! i <.S.G.G.G.G.Z.9.Z.=X-X=X-X&X-X} u u X 3X3X3X3X3X3X", -"3X3X3X3Xu u 4.-X-X-X-X-X-XJ.3.>.>.k.k.k.k.k.u.k.u.u.:.U k 2X2X2X2X2X1X_.% f } 8.Z.F.8.U 8 ,X2X2X2X2X2X2XI g } Z.D.G.D.G.D.Z.9.&X-X=X=X=X-Xm.u u @ 3X3X3X3X3X3X", -"3X3X3X3Xu u K.;X-X;X-X>X-Xk.3.k.k.k.k.k.k.k.k.k.k.u.e.U k 2X2X2X2X2X2X_.% f [ 8.F.M.<.b i 2X2X2X2X2X2X2Xt a X.Z.D.D.D.G.G.Z.9./.=X-X=X=X=XR.u u & 3X3X3X3X3X3X", -"3X3X3X3Xu u E.;X-X;X-X-X=Xl.l.x.c.k.x.k.k.x.x.v.x.x.u.) z 2X2X2X2X2X2X_.$ 7 L <.<.} N 6 h.2X2X2X2X2X2X_.: V 1.S.D.D.G.D.S.M.6.W.-X=X-X=X=X&Xu u > X 3X3X3X3X3X", -"3X3X3Xu a u =X;X;X;X;X;XoX7.z.c.c.c.c.c.c.c.c.c.x.k.u.) z 2X2X2X2X2X2Xn.o = i N h i l n.2X2X2X2X2X2X.o.L r [.2X2X2X9 = 8 2X2X2X}.4 r ^ _ *.*._ ) ) ^ ^ ^ O.oX=X-X-X-X-X-X-X<.u u : . 3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3Xy u u i.=X=X=X=X=X-X*X=XW.9.M.A.B.3.5.5.;.U f [.2X2X2Xq 4 8 2X2X2X}.r q _ _ ;.;.*._ _ ` _ e.+X-X-X-X-X-X-X-XR.a u 2 3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3Xu u u K.=X=X=X-X=X=X=X=XXXz.M.8.5.8.u.:.) h }.2X2X2Xj r f 2X2X2X@Xq T _ e.e.u.e.;.$.$.b.-X-X-X=X;X=X;X-X&Xa a u + 3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3Xu u d ~.=X=X=X=X=X-X=X-X+XC.3.5.7.7.2.@.) q.r.q.q.H H L g.r.w.q.T ` e.k.v.k.k.s.s.{.-X-X;X-X;X;X;X;X*XV u u & . 3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X2 u u c XX-X=X=X=X=X-X=X-X-X Xl.7.7.u.2.$.o.[ [ o.O.$.&.&.` ` ` q.s.k.v.k.k.x.{.%X>X>X>X;X>X;X>X>X*XV u u > 3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X2 u u m ~.=X-X-X-X=X-X-X-X-X-X Xc.7.5.u.3.e.y.u.s.f.k.s.e.e.s.s.k.k.k.v. X:X>X>X>X>X>X>X;X>X>X*XV u u < 3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u d R.-X=X-X=X-X-X-X-X-X-X-X+XI.v.u.s.l.k.k.x.x.x.s.s.s.s.j.].+X>X>X>X>X>X:X>X>X>X>X>XOXV u u 1 3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u a p.-X-X-X;X;X;X-X-X-X:X-X-X-X-XOX XL.J.J.J.L.I.].OX:X>X-X>X>X-X>X>X>X>X>X>X>X>XK.a a u < 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u u @.=X;X;X>X;X-X-X>X-X-X-X-X;X-X-X-X-X-X>X>X-X>X-X>X>X>X>X;X>X>X>X-X>X-X-X:X<.u u u > 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X1 u u u m n.>X;X>X>X-X-X-X-X>X-X-X-X;X;X;X-X-X-X-X-X>X-X-X>X-X>X>X-X>X>X>X>XK.B u u u & 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xw u u u / {.>X>X-X-X-X-X-X-X-X-X-X-X;X-X-X;X:X-X-X>X-X:X>X;X;X>X;X;X{.[ u u u w + 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u u u ) K.-X-X-X-X:X-X-X-X-X-X-X-X-X-X-X-X-X>X-X-X-X-X-X-XE.[ u u u u - . 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X1 u u u u m 2.E.-X+X:X-X-X-X-X-X-X-X-X-X:X-X-X-X;X-XOXi.B u u u u 1 o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X> u u u u u v [ l.I.OX-X-X-X-X-X-X-X-X+XI.f.@.m u u u u u 1 + o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X& 2 u u u u u u u d B V V V V B d u u u u u u u y - . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X+ - 1 u u u u u u u a u u u u u u u u 2 - o o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xo . X # - > 1 2 2 2 1 2 > - # o . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xo o . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X", -"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X" -}; Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/share/pixmaps/favicon.ico and /tmp/0c9SYbmYKz/bitcoin-0.8.5/share/pixmaps/favicon.ico differ diff -Nru bitcoin-0.8.1/share/qt/Info.plist bitcoin-0.8.5/share/qt/Info.plist --- bitcoin-0.8.1/share/qt/Info.plist 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/share/qt/Info.plist 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,35 @@ + + + + + CFBundleIconFile + bitcoin.icns + CFBundlePackageType + APPL + CFBundleGetInfoString + $VERSION, Copyright © 2009-$YEAR The Bitcoin developers + CFBundleShortVersionString + $VERSION + CFBundleVersion + $VERSION + CFBundleSignature + ???? + CFBundleExecutable + Bitcoin-Qt + CFBundleIdentifier + org.bitcoinfoundation.Bitcoin-Qt + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + org.bitcoinfoundation.BitcoinPayment + CFBundleURLSchemes + + bitcoin + + + + + diff -Nru bitcoin-0.8.1/share/qt/clean_mac_info_plist.py bitcoin-0.8.5/share/qt/clean_mac_info_plist.py --- bitcoin-0.8.1/share/qt/clean_mac_info_plist.py 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/share/qt/clean_mac_info_plist.py 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# Jonas Schnelli, 2013 +# make sure the Bitcoin-Qt.app contains the right plist (including the right version) +# fix made because of serval bugs in Qt mac deployment (https://bugreports.qt-project.org/browse/QTBUG-21267) + +from string import Template +from datetime import date + +bitcoinDir = "./"; + +inFile = bitcoinDir+"/share/qt/Info.plist" +outFile = "Bitcoin-Qt.app/Contents/Info.plist" +version = "unknown"; + +fileForGrabbingVersion = bitcoinDir+"bitcoin-qt.pro" +for line in open(fileForGrabbingVersion): + lineArr = line.replace(" ", "").split("="); + if lineArr[0].startswith("VERSION"): + version = lineArr[1].replace("\n", ""); + +fIn = open(inFile, "r") +fileContent = fIn.read() +s = Template(fileContent) +newFileContent = s.substitute(VERSION=version,YEAR=date.today().year) + +fOut = open(outFile, "w"); +fOut.write(newFileContent); + +print "Info.plist fresh created" \ No newline at end of file diff -Nru bitcoin-0.8.1/share/setup.nsi bitcoin-0.8.5/share/setup.nsi --- bitcoin-0.8.1/share/setup.nsi 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/share/setup.nsi 2013-09-12 03:35:18.000000000 +0000 @@ -5,7 +5,7 @@ # General Symbol Definitions !define REGKEY "SOFTWARE\$(^Name)" -!define VERSION 0.8.1 +!define VERSION 0.8.5 !define COMPANY "Bitcoin project" !define URL http://www.bitcoin.org/ @@ -45,13 +45,13 @@ !insertmacro MUI_LANGUAGE English # Installer attributes -OutFile bitcoin-0.8.1-win32-setup.exe +OutFile bitcoin-0.8.5-win32-setup.exe InstallDir $PROGRAMFILES\Bitcoin CRCCheck on XPStyle on BrandingText " " ShowInstDetails show -VIProductVersion 0.8.1.0 +VIProductVersion 0.8.5.0 VIAddVersionKey ProductName Bitcoin VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey CompanyName "${COMPANY}" diff -Nru bitcoin-0.8.1/src/alert.cpp bitcoin-0.8.5/src/alert.cpp --- bitcoin-0.8.1/src/alert.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/alert.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -2,6 +2,9 @@ // Alert system // +#include +#include +#include #include #include @@ -165,7 +168,7 @@ return retval; } -bool CAlert::ProcessAlert() +bool CAlert::ProcessAlert(bool fThread) { if (!CheckSignature()) return false; @@ -229,9 +232,35 @@ // Add to mapAlerts mapAlerts.insert(make_pair(GetHash(), *this)); - // Notify UI if it applies to me + // Notify UI and -alertnotify if it applies to me if(AppliesToMe()) + { uiInterface.NotifyAlertChanged(GetHash(), CT_NEW); + std::string strCmd = GetArg("-alertnotify", ""); + if (!strCmd.empty()) + { + // Alert text should be plain ascii coming from a trusted source, but to + // be safe we first strip anything not in safeChars, then add single quotes around + // the whole string before passing it to the shell: + std::string singleQuote("'"); + // safeChars chosen to allow simple messages/URLs/email addresses, but avoid anything + // even possibly remotely dangerous like & or > + std::string safeChars("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 .,;_/:?@"); + std::string safeStatus; + for (std::string::size_type i = 0; i < strStatusBar.size(); i++) + { + if (safeChars.find(strStatusBar[i]) != std::string::npos) + safeStatus.push_back(strStatusBar[i]); + } + safeStatus = singleQuote+safeStatus+singleQuote; + boost::replace_all(strCmd, "%s", safeStatus); + + if (fThread) + boost::thread t(runCommand, strCmd); // thread runs free + else + runCommand(strCmd); + } + } } printf("accepted alert %d, AppliesToMe()=%d\n", nID, AppliesToMe()); diff -Nru bitcoin-0.8.1/src/alert.h bitcoin-0.8.5/src/alert.h --- bitcoin-0.8.1/src/alert.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/alert.h 2013-09-12 03:35:18.000000000 +0000 @@ -91,7 +91,7 @@ bool AppliesToMe() const; bool RelayTo(CNode* pnode) const; bool CheckSignature() const; - bool ProcessAlert(); + bool ProcessAlert(bool fThread = true); /* * Get copy of (active) alert object by hash. Returns a null alert if it is not found. diff -Nru bitcoin-0.8.1/src/bignum.h bitcoin-0.8.5/src/bignum.h --- bitcoin-0.8.1/src/bignum.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/bignum.h 2013-09-12 03:35:18.000000000 +0000 @@ -222,7 +222,7 @@ BN_mpi2bn(pch, p - pch, this); } - uint256 getuint256() + uint256 getuint256() const { unsigned int nSize = BN_bn2mpi(this, NULL); if (nSize < 4) diff -Nru bitcoin-0.8.1/src/bitcoinrpc.cpp bitcoin-0.8.5/src/bitcoinrpc.cpp --- bitcoin-0.8.1/src/bitcoinrpc.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/bitcoinrpc.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -30,13 +30,16 @@ using namespace boost::asio; using namespace json_spirit; -void ThreadRPCServer2(void* parg); +// Key used by getwork/getblocktemplate miners. +// Allocated in StartRPCThreads, free'd in StopRPCThreads +CReserveKey* pMiningKey = NULL; static std::string strRPCUserColonPass; -const Object emptyobj; - -void ThreadRPCServer3(void* parg); +// These are created by StartRPCThreads, destroyed in StopRPCThreads +static asio::io_service* rpc_io_service = NULL; +static ssl::context* rpc_ssl_context = NULL; +static boost::thread_group* rpc_worker_group = NULL; static inline unsigned short GetDefaultRPCPort() { @@ -194,70 +197,70 @@ static const CRPCCommand vRPCCommands[] = -{ // name function safemd unlocked - // ------------------------ ----------------------- ------ -------- - { "help", &help, true, true }, - { "stop", &stop, true, true }, - { "getblockcount", &getblockcount, true, false }, - { "getconnectioncount", &getconnectioncount, true, false }, - { "getpeerinfo", &getpeerinfo, true, false }, - { "addnode", &addnode, true, true }, - { "getaddednodeinfo", &getaddednodeinfo, true, true }, - { "getdifficulty", &getdifficulty, true, false }, - { "getgenerate", &getgenerate, true, false }, - { "setgenerate", &setgenerate, true, false }, - { "gethashespersec", &gethashespersec, true, false }, - { "getinfo", &getinfo, true, false }, - { "getmininginfo", &getmininginfo, true, false }, - { "getnewaddress", &getnewaddress, true, false }, - { "getaccountaddress", &getaccountaddress, true, false }, - { "setaccount", &setaccount, true, false }, - { "getaccount", &getaccount, false, false }, - { "getaddressesbyaccount", &getaddressesbyaccount, true, false }, - { "sendtoaddress", &sendtoaddress, false, false }, - { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, - { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, - { "listreceivedbyaddress", &listreceivedbyaddress, false, false }, - { "listreceivedbyaccount", &listreceivedbyaccount, false, false }, - { "backupwallet", &backupwallet, true, false }, - { "keypoolrefill", &keypoolrefill, true, false }, - { "walletpassphrase", &walletpassphrase, true, false }, - { "walletpassphrasechange", &walletpassphrasechange, false, false }, - { "walletlock", &walletlock, true, false }, - { "encryptwallet", &encryptwallet, false, false }, - { "validateaddress", &validateaddress, true, false }, - { "getbalance", &getbalance, false, false }, - { "move", &movecmd, false, false }, - { "sendfrom", &sendfrom, false, false }, - { "sendmany", &sendmany, false, false }, - { "addmultisigaddress", &addmultisigaddress, false, false }, - { "createmultisig", &createmultisig, true, true }, - { "getrawmempool", &getrawmempool, true, false }, - { "getblock", &getblock, false, false }, - { "getblockhash", &getblockhash, false, false }, - { "gettransaction", &gettransaction, false, false }, - { "listtransactions", &listtransactions, false, false }, - { "listaddressgroupings", &listaddressgroupings, false, false }, - { "signmessage", &signmessage, false, false }, - { "verifymessage", &verifymessage, false, false }, - { "getwork", &getwork, true, false }, - { "listaccounts", &listaccounts, false, false }, - { "settxfee", &settxfee, false, false }, - { "getblocktemplate", &getblocktemplate, true, false }, - { "submitblock", &submitblock, false, false }, - { "listsinceblock", &listsinceblock, false, false }, - { "dumpprivkey", &dumpprivkey, false, false }, - { "importprivkey", &importprivkey, false, false }, - { "listunspent", &listunspent, false, false }, - { "getrawtransaction", &getrawtransaction, false, false }, - { "createrawtransaction", &createrawtransaction, false, false }, - { "decoderawtransaction", &decoderawtransaction, false, false }, - { "signrawtransaction", &signrawtransaction, false, false }, - { "sendrawtransaction", &sendrawtransaction, false, false }, - { "gettxoutsetinfo", &gettxoutsetinfo, true, false }, - { "gettxout", &gettxout, true, false }, - { "lockunspent", &lockunspent, false, false }, - { "listlockunspent", &listlockunspent, false, false }, +{ // name actor (function) okSafeMode threadSafe + // ------------------------ ----------------------- ---------- ---------- + { "help", &help, true, true }, + { "stop", &stop, true, true }, + { "getblockcount", &getblockcount, true, false }, + { "getconnectioncount", &getconnectioncount, true, false }, + { "getpeerinfo", &getpeerinfo, true, false }, + { "addnode", &addnode, true, true }, + { "getaddednodeinfo", &getaddednodeinfo, true, true }, + { "getdifficulty", &getdifficulty, true, false }, + { "getgenerate", &getgenerate, true, false }, + { "setgenerate", &setgenerate, true, false }, + { "gethashespersec", &gethashespersec, true, false }, + { "getinfo", &getinfo, true, false }, + { "getmininginfo", &getmininginfo, true, false }, + { "getnewaddress", &getnewaddress, true, false }, + { "getaccountaddress", &getaccountaddress, true, false }, + { "setaccount", &setaccount, true, false }, + { "getaccount", &getaccount, false, false }, + { "getaddressesbyaccount", &getaddressesbyaccount, true, false }, + { "sendtoaddress", &sendtoaddress, false, false }, + { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, + { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, + { "listreceivedbyaddress", &listreceivedbyaddress, false, false }, + { "listreceivedbyaccount", &listreceivedbyaccount, false, false }, + { "backupwallet", &backupwallet, true, false }, + { "keypoolrefill", &keypoolrefill, true, false }, + { "walletpassphrase", &walletpassphrase, true, false }, + { "walletpassphrasechange", &walletpassphrasechange, false, false }, + { "walletlock", &walletlock, true, false }, + { "encryptwallet", &encryptwallet, false, false }, + { "validateaddress", &validateaddress, true, false }, + { "getbalance", &getbalance, false, false }, + { "move", &movecmd, false, false }, + { "sendfrom", &sendfrom, false, false }, + { "sendmany", &sendmany, false, false }, + { "addmultisigaddress", &addmultisigaddress, false, false }, + { "createmultisig", &createmultisig, true, true }, + { "getrawmempool", &getrawmempool, true, false }, + { "getblock", &getblock, false, false }, + { "getblockhash", &getblockhash, false, false }, + { "gettransaction", &gettransaction, false, false }, + { "listtransactions", &listtransactions, false, false }, + { "listaddressgroupings", &listaddressgroupings, false, false }, + { "signmessage", &signmessage, false, false }, + { "verifymessage", &verifymessage, false, false }, + { "getwork", &getwork, true, false }, + { "listaccounts", &listaccounts, false, false }, + { "settxfee", &settxfee, false, false }, + { "getblocktemplate", &getblocktemplate, true, false }, + { "submitblock", &submitblock, false, false }, + { "listsinceblock", &listsinceblock, false, false }, + { "dumpprivkey", &dumpprivkey, true, false }, + { "importprivkey", &importprivkey, false, false }, + { "listunspent", &listunspent, false, false }, + { "getrawtransaction", &getrawtransaction, false, false }, + { "createrawtransaction", &createrawtransaction, false, false }, + { "decoderawtransaction", &decoderawtransaction, false, false }, + { "signrawtransaction", &signrawtransaction, false, false }, + { "sendrawtransaction", &sendrawtransaction, false, false }, + { "gettxoutsetinfo", &gettxoutsetinfo, true, false }, + { "gettxout", &gettxout, true, false }, + { "lockunspent", &lockunspent, false, false }, + { "listlockunspent", &listlockunspent, false, false }, }; CRPCTable::CRPCTable() @@ -476,7 +479,7 @@ return false; string strUserPass64 = strAuth.substr(6); boost::trim(strUserPass64); string strUserPass = DecodeBase64(strUserPass64); - return strUserPass == strRPCUserColonPass; + return TimingResistantEqual(strUserPass, strRPCUserColonPass); } // @@ -650,26 +653,7 @@ iostreams::stream< SSLIOStreamDevice > _stream; }; -void ThreadRPCServer(void* parg) -{ - // Make this thread recognisable as the RPC listener - RenameThread("bitcoin-rpclist"); - - try - { - vnThreadsRunning[THREAD_RPCLISTENER]++; - ThreadRPCServer2(parg); - vnThreadsRunning[THREAD_RPCLISTENER]--; - } - catch (std::exception& e) { - vnThreadsRunning[THREAD_RPCLISTENER]--; - PrintException(&e, "ThreadRPCServer()"); - } catch (...) { - vnThreadsRunning[THREAD_RPCLISTENER]--; - PrintException(NULL, "ThreadRPCServer()"); - } - printf("ThreadRPCServer exited\n"); -} +void ServiceConnection(AcceptedConnection *conn); // Forward declaration required for RPCListen template @@ -711,11 +695,8 @@ AcceptedConnection* conn, const boost::system::error_code& error) { - vnThreadsRunning[THREAD_RPCLISTENER]++; - // Immediately start accepting new connections, except when we're cancelled or our socket is closed. - if (error != asio::error::operation_aborted - && acceptor->is_open()) + if (error != asio::error::operation_aborted && acceptor->is_open()) RPCListen(acceptor, context, fUseSSL); AcceptedConnectionImpl* tcp_conn = dynamic_cast< AcceptedConnectionImpl* >(conn); @@ -729,27 +710,24 @@ // Restrict callers by IP. It is important to // do this before starting client thread, to filter out // certain DoS and misbehaving clients. - else if (tcp_conn - && !ClientAllowed(tcp_conn->peer.address())) + else if (tcp_conn && !ClientAllowed(tcp_conn->peer.address())) { // Only send a 403 if we're not using SSL to prevent a DoS during the SSL handshake. if (!fUseSSL) conn->stream() << HTTPReply(HTTP_FORBIDDEN, "", false) << std::flush; delete conn; } - - // start HTTP client thread - else if (!NewThread(ThreadRPCServer3, conn)) { - printf("Failed to create RPC server client thread\n"); + else { + ServiceConnection(conn); + conn->close(); delete conn; } - - vnThreadsRunning[THREAD_RPCLISTENER]--; } -void ThreadRPCServer2(void* parg) +void StartRPCThreads() { - printf("ThreadRPCServer started\n"); + // getwork/getblocktemplate mining rewards paid here: + pMiningKey = new CReserveKey(pwalletMain); strRPCUserColonPass = mapArgs["-rpcuser"] + ":" + mapArgs["-rpcpassword"]; if ((mapArgs["-rpcpassword"] == "") || @@ -763,13 +741,16 @@ else if (mapArgs.count("-daemon")) strWhatAmI = strprintf(_("To use the %s option"), "\"-daemon\""); 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" "rpcuser=bitcoinrpc\n" "rpcpassword=%s\n" "(you do not need to remember this password)\n" "The username and password MUST NOT be the same.\n" - "If the file does not exist, create it with owner-readable-only file permissions.\n"), + "If the file does not exist, create it with owner-readable-only file 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"), strWhatAmI.c_str(), GetConfigFile().string().c_str(), EncodeBase58(&rand_pwd[0],&rand_pwd[0]+32).c_str()), @@ -778,27 +759,28 @@ return; } - const bool fUseSSL = GetBoolArg("-rpcssl"); + assert(rpc_io_service == NULL); + rpc_io_service = new asio::io_service(); + rpc_ssl_context = new ssl::context(*rpc_io_service, ssl::context::sslv23); - asio::io_service io_service; + const bool fUseSSL = GetBoolArg("-rpcssl"); - ssl::context context(io_service, ssl::context::sslv23); if (fUseSSL) { - context.set_options(ssl::context::no_sslv2); + rpc_ssl_context->set_options(ssl::context::no_sslv2); filesystem::path pathCertFile(GetArg("-rpcsslcertificatechainfile", "server.cert")); if (!pathCertFile.is_complete()) pathCertFile = filesystem::path(GetDataDir()) / pathCertFile; - if (filesystem::exists(pathCertFile)) context.use_certificate_chain_file(pathCertFile.string()); + if (filesystem::exists(pathCertFile)) rpc_ssl_context->use_certificate_chain_file(pathCertFile.string()); else printf("ThreadRPCServer ERROR: missing server certificate file %s\n", pathCertFile.string().c_str()); filesystem::path pathPKFile(GetArg("-rpcsslprivatekeyfile", "server.pem")); if (!pathPKFile.is_complete()) pathPKFile = filesystem::path(GetDataDir()) / pathPKFile; - if (filesystem::exists(pathPKFile)) context.use_private_key_file(pathPKFile.string(), ssl::context::pem); + if (filesystem::exists(pathPKFile)) rpc_ssl_context->use_private_key_file(pathPKFile.string(), ssl::context::pem); else printf("ThreadRPCServer ERROR: missing server private key file %s\n", pathPKFile.string().c_str()); string strCiphers = GetArg("-rpcsslciphers", "TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH"); - SSL_CTX_set_cipher_list(context.impl(), strCiphers.c_str()); + SSL_CTX_set_cipher_list(rpc_ssl_context->impl(), strCiphers.c_str()); } // Try a dual IPv6/IPv4 socket, falling back to separate IPv4 and IPv6 sockets @@ -806,9 +788,7 @@ asio::ip::address bindAddress = loopback ? asio::ip::address_v6::loopback() : asio::ip::address_v6::any(); ip::tcp::endpoint endpoint(bindAddress, GetArg("-rpcport", GetDefaultRPCPort())); boost::system::error_code v6_only_error; - boost::shared_ptr acceptor(new ip::tcp::acceptor(io_service)); - - boost::signals2::signal StopRequests; + boost::shared_ptr acceptor(new ip::tcp::acceptor(*rpc_io_service)); bool fListening = false; std::string strerr; @@ -823,11 +803,7 @@ acceptor->bind(endpoint); acceptor->listen(socket_base::max_connections); - RPCListen(acceptor, context, fUseSSL); - // Cancel outstanding listen-requests for this acceptor when shutting down - StopRequests.connect(signals2::slot( - static_cast(&ip::tcp::acceptor::close), acceptor.get()) - .track(acceptor)); + RPCListen(acceptor, *rpc_ssl_context, fUseSSL); fListening = true; } @@ -843,17 +819,13 @@ bindAddress = loopback ? asio::ip::address_v4::loopback() : asio::ip::address_v4::any(); endpoint.address(bindAddress); - acceptor.reset(new ip::tcp::acceptor(io_service)); + acceptor.reset(new ip::tcp::acceptor(*rpc_io_service)); acceptor->open(endpoint.protocol()); acceptor->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); acceptor->bind(endpoint); acceptor->listen(socket_base::max_connections); - RPCListen(acceptor, context, fUseSSL); - // Cancel outstanding listen-requests for this acceptor when shutting down - StopRequests.connect(signals2::slot( - static_cast(&ip::tcp::acceptor::close), acceptor.get()) - .track(acceptor)); + RPCListen(acceptor, *rpc_ssl_context, fUseSSL); fListening = true; } @@ -869,11 +841,22 @@ return; } - vnThreadsRunning[THREAD_RPCLISTENER]--; - while (!fShutdown) - io_service.run_one(); - vnThreadsRunning[THREAD_RPCLISTENER]++; - StopRequests(); + rpc_worker_group = new boost::thread_group(); + for (int i = 0; i < GetArg("-rpcthreads", 4); i++) + rpc_worker_group->create_thread(boost::bind(&asio::io_service::run, rpc_io_service)); +} + +void StopRPCThreads() +{ + delete pMiningKey; pMiningKey = NULL; + + if (rpc_io_service == NULL) return; + + rpc_io_service->stop(); + rpc_worker_group->join_all(); + delete rpc_worker_group; rpc_worker_group = NULL; + delete rpc_ssl_context; rpc_ssl_context = NULL; + delete rpc_io_service; rpc_io_service = NULL; } class JSONRequest @@ -950,32 +933,11 @@ return write_string(Value(ret), false) + "\n"; } -static CCriticalSection cs_THREAD_RPCHANDLER; - -void ThreadRPCServer3(void* parg) +void ServiceConnection(AcceptedConnection *conn) { - // Make this thread recognisable as the RPC handler - RenameThread("bitcoin-rpchand"); - - { - LOCK(cs_THREAD_RPCHANDLER); - vnThreadsRunning[THREAD_RPCHANDLER]++; - } - AcceptedConnection *conn = (AcceptedConnection *) parg; - bool fRun = true; - loop { - if (fShutdown || !fRun) - { - conn->close(); - delete conn; - { - LOCK(cs_THREAD_RPCHANDLER); - --vnThreadsRunning[THREAD_RPCHANDLER]; - } - return; - } - + while (fRun) + { int nProto = 0; map mapHeaders; string strRequest, strMethod, strURI; @@ -987,6 +949,11 @@ // Read HTTP message headers and body ReadHTTPMessage(conn->stream(), mapHeaders, strRequest, nProto); + if (strURI != "/") { + conn->stream() << HTTPReply(HTTP_NOT_FOUND, "", false) << std::flush; + break; + } + // Check authorization if (mapHeaders.count("authorization") == 0) { @@ -1000,7 +967,7 @@ If this results in a DOS the user really shouldn't have their RPC port exposed.*/ if (mapArgs["-rpcpassword"].size() < 20) - Sleep(250); + MilliSleep(250); conn->stream() << HTTPReply(HTTP_UNAUTHORIZED, "", false) << std::flush; break; @@ -1046,12 +1013,6 @@ break; } } - - delete conn; - { - LOCK(cs_THREAD_RPCHANDLER); - vnThreadsRunning[THREAD_RPCHANDLER]--; - } } json_spirit::Value CRPCTable::execute(const std::string &strMethod, const json_spirit::Array ¶ms) const @@ -1072,7 +1033,7 @@ // Execute Value result; { - if (pcmd->unlocked) + if (pcmd->threadSafe) result = pcmd->actor(params, false); else { LOCK2(cs_main, pwalletMain->cs_wallet); @@ -1274,13 +1235,14 @@ strPrint = write_string(result, true); } } - catch (std::exception& e) - { + catch (boost::thread_interrupted) { + throw; + } + catch (std::exception& e) { strPrint = string("error: ") + e.what(); nRet = 87; } - catch (...) - { + catch (...) { PrintException(NULL, "CommandLineRPC()"); } @@ -1318,6 +1280,9 @@ return CommandLineRPC(argc, argv); } } + catch (boost::thread_interrupted) { + throw; + } catch (std::exception& e) { PrintException(&e, "main()"); } catch (...) { diff -Nru bitcoin-0.8.1/src/bitcoinrpc.h bitcoin-0.8.5/src/bitcoinrpc.h --- bitcoin-0.8.1/src/bitcoinrpc.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/bitcoinrpc.h 2013-09-12 03:35:18.000000000 +0000 @@ -11,6 +11,7 @@ #include class CBlockIndex; +class CReserveKey; #include "json/json_spirit_reader_template.h" #include "json/json_spirit_writer_template.h" @@ -67,7 +68,8 @@ json_spirit::Object JSONRPCError(int code, const std::string& message); -void ThreadRPCServer(void* parg); +void StartRPCThreads(); +void StopRPCThreads(); int CommandLineRPC(int argc, char *argv[]); /** Convert parameter values for RPC call from strings to command-specific JSON objects. */ @@ -95,7 +97,7 @@ std::string name; rpcfn_type actor; bool okSafeMode; - bool unlocked; + bool threadSafe; }; /** @@ -121,6 +123,7 @@ }; extern const CRPCTable tableRPC; +extern CReserveKey* pMiningKey; extern int64 nWalletUnlockTime; extern int64 AmountFromValue(const json_spirit::Value& value); diff -Nru bitcoin-0.8.1/src/bloom.cpp bitcoin-0.8.5/src/bloom.cpp --- bitcoin-0.8.1/src/bloom.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/bloom.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -23,6 +23,8 @@ // The ideal number of hash functions is filter size * ln(2) / number of elements // Again, we ignore filter parameters which will create a bloom filter with more hash functions than the protocol limits // See http://en.wikipedia.org/wiki/Bloom_filter for an explanation of these formulas +isFull(false), +isEmpty(false), nHashFuncs(min((unsigned int)(vData.size() * 8 / nElements * LN2), MAX_HASH_FUNCS)), nTweak(nTweakIn), nFlags(nFlagsIn) @@ -37,12 +39,15 @@ void CBloomFilter::insert(const vector& vKey) { + if (isFull) + return; for (unsigned int i = 0; i < nHashFuncs; i++) { unsigned int nIndex = Hash(i, vKey); // Sets bit nIndex of vData vData[nIndex >> 3] |= bit_mask[7 & nIndex]; } + isEmpty = false; } void CBloomFilter::insert(const COutPoint& outpoint) @@ -61,6 +66,10 @@ bool CBloomFilter::contains(const vector& vKey) const { + if (isFull) + return true; + if (isEmpty) + return false; for (unsigned int i = 0; i < nHashFuncs; i++) { unsigned int nIndex = Hash(i, vKey); @@ -95,6 +104,10 @@ bool fFound = false; // Match if the filter contains the hash of tx // for finding tx when they appear in a block + if (isFull) + return true; + if (isEmpty) + return false; if (contains(hash)) fFound = true; @@ -154,3 +167,16 @@ return false; } + +void CBloomFilter::UpdateEmptyFull() +{ + bool full = true; + bool empty = true; + for (unsigned int i = 0; i < vData.size(); i++) + { + full &= vData[i] == 0xff; + empty &= vData[i] == 0; + } + isFull = full; + isEmpty = empty; +} diff -Nru bitcoin-0.8.1/src/bloom.h bitcoin-0.8.5/src/bloom.h --- bitcoin-0.8.1/src/bloom.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/bloom.h 2013-09-12 03:35:18.000000000 +0000 @@ -42,6 +42,8 @@ { private: std::vector vData; + bool isFull; + bool isEmpty; unsigned int nHashFuncs; unsigned int nTweak; unsigned char nFlags; @@ -57,9 +59,7 @@ // It should generally always be a random value (and is largely only exposed for unit testing) // nFlags should be one of the BLOOM_UPDATE_* enums (not _MASK) CBloomFilter(unsigned int nElements, double nFPRate, unsigned int nTweak, unsigned char nFlagsIn); - // Using a filter initialized with this results in undefined behavior - // Should only be used for deserialization - CBloomFilter() {} + CBloomFilter() : isFull(true) {} IMPLEMENT_SERIALIZE ( @@ -83,6 +83,9 @@ // Also adds any outputs which match the filter to the filter (to match their spending txes) bool IsRelevantAndUpdate(const CTransaction& tx, const uint256& hash); + + // Checks for empty and full filters to avoid wasting cpu + void UpdateEmptyFull(); }; #endif /* BITCOIN_BLOOM_H */ diff -Nru bitcoin-0.8.1/src/checkpoints.cpp bitcoin-0.8.5/src/checkpoints.cpp --- bitcoin-0.8.1/src/checkpoints.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/checkpoints.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -14,13 +14,25 @@ { typedef std::map MapCheckpoints; - // + // How many times we expect transactions after the last checkpoint to + // be slower. This number is a compromise, as it can't be accurate for + // every system. When reindexing from a fast disk with a slow CPU, it + // can be up to 20, while when downloading from a slow network with a + // fast multicore CPU, it won't be much higher than 1. + static const double fSigcheckVerificationFactor = 5.0; + + struct CCheckpointData { + const MapCheckpoints *mapCheckpoints; + int64 nTimeLastCheckpoint; + int64 nTransactionsLastCheckpoint; + double fTransactionsPerDay; + }; + // What makes a good checkpoint block? // + Is surrounded by blocks with reasonable timestamps // (no blocks before with a timestamp after, none after with // timestamp before) // + Contains no strange transactions - // static MapCheckpoints mapCheckpoints = boost::assign::map_list_of ( 11111, uint256("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")) @@ -33,31 +45,83 @@ (210000, uint256("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")) (216116, uint256("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")) (225430, uint256("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")) + (250000, uint256("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214")) ; + static const CCheckpointData data = { + &mapCheckpoints, + 1375533383, // * UNIX timestamp of last checkpoint block + 21491097, // * total number of transactions between genesis and last checkpoint + // (the tx=... number in the SetBestChain debug.log lines) + 60000.0 // * estimated number of transactions per day after checkpoint + }; - static MapCheckpoints mapCheckpointsTestnet = + static MapCheckpoints mapCheckpointsTestnet = boost::assign::map_list_of ( 546, uint256("000000002a936ca763904c3c35fce2f3556c559c0214345d31b1bcebf76acb70")) ; + static const CCheckpointData dataTestnet = { + &mapCheckpointsTestnet, + 1338180505, + 16341, + 300 + }; + + const CCheckpointData &Checkpoints() { + if (fTestNet) + return dataTestnet; + else + return data; + } bool CheckBlock(int nHeight, const uint256& hash) { if (!GetBoolArg("-checkpoints", true)) return true; - MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints); + const MapCheckpoints& checkpoints = *Checkpoints().mapCheckpoints; MapCheckpoints::const_iterator i = checkpoints.find(nHeight); if (i == checkpoints.end()) return true; return hash == i->second; } + // Guess how far we are in the verification process at the given block index + double GuessVerificationProgress(CBlockIndex *pindex) { + if (pindex==NULL) + return 0.0; + + int64 nNow = time(NULL); + + double fWorkBefore = 0.0; // Amount of work done before pindex + double fWorkAfter = 0.0; // Amount of work left after pindex (estimated) + // Work is defined as: 1.0 per transaction before the last checkoint, and + // fSigcheckVerificationFactor per transaction after. + + const CCheckpointData &data = Checkpoints(); + + if (pindex->nChainTx <= data.nTransactionsLastCheckpoint) { + double nCheapBefore = pindex->nChainTx; + double nCheapAfter = data.nTransactionsLastCheckpoint - pindex->nChainTx; + double nExpensiveAfter = (nNow - data.nTimeLastCheckpoint)/86400.0*data.fTransactionsPerDay; + fWorkBefore = nCheapBefore; + fWorkAfter = nCheapAfter + nExpensiveAfter*fSigcheckVerificationFactor; + } else { + double nCheapBefore = data.nTransactionsLastCheckpoint; + double nExpensiveBefore = pindex->nChainTx - data.nTransactionsLastCheckpoint; + double nExpensiveAfter = (nNow - pindex->nTime)/86400.0*data.fTransactionsPerDay; + fWorkBefore = nCheapBefore + nExpensiveBefore*fSigcheckVerificationFactor; + fWorkAfter = nExpensiveAfter*fSigcheckVerificationFactor; + } + + return fWorkBefore / (fWorkBefore + fWorkAfter); + } + int GetTotalBlocksEstimate() { if (!GetBoolArg("-checkpoints", true)) return 0; - MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints); + const MapCheckpoints& checkpoints = *Checkpoints().mapCheckpoints; return checkpoints.rbegin()->first; } @@ -67,7 +131,7 @@ if (!GetBoolArg("-checkpoints", true)) return NULL; - MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints); + const MapCheckpoints& checkpoints = *Checkpoints().mapCheckpoints; BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, checkpoints) { diff -Nru bitcoin-0.8.1/src/checkpoints.h bitcoin-0.8.5/src/checkpoints.h --- bitcoin-0.8.1/src/checkpoints.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/checkpoints.h 2013-09-12 03:35:18.000000000 +0000 @@ -2,7 +2,7 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_CHECKPOINT_H -#define BITCOIN_CHECKPOINT_H +#define BITCOIN_CHECKPOINT_H #include @@ -22,6 +22,8 @@ // Returns last CBlockIndex* in mapBlockIndex that is a checkpoint CBlockIndex* GetLastCheckpoint(const std::map& mapBlockIndex); + + double GuessVerificationProgress(CBlockIndex *pindex); } #endif diff -Nru bitcoin-0.8.1/src/checkqueue.h bitcoin-0.8.5/src/checkqueue.h --- bitcoin-0.8.1/src/checkqueue.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/checkqueue.h 2013-09-12 03:35:18.000000000 +0000 @@ -33,9 +33,6 @@ // Master thread blocks on this when out of work boost::condition_variable condMaster; - // Quit method blocks on this until all workers are gone - boost::condition_variable condQuit; - // The queue of elements to be processed. // As the order of booleans doesn't matter, it is used as a LIFO (stack) std::vector queue; @@ -85,8 +82,6 @@ while (queue.empty()) { if ((fMaster || fQuit) && nTodo == 0) { nTotal--; - if (nTotal==0) - condQuit.notify_one(); bool fRet = fAllOk; // reset the status for new work later if (fMaster) @@ -151,20 +146,7 @@ condWorker.notify_all(); } - // Shut the queue down - void Quit() { - boost::unique_lock lock(mutex); - fQuit = true; - // No need to wake the master, as he will quit automatically when all jobs are - // done. - condWorker.notify_all(); - - while (nTotal > 0) - condQuit.wait(lock); - } - ~CCheckQueue() { - Quit(); } friend class CCheckQueueControl; diff -Nru bitcoin-0.8.1/src/clientversion.h bitcoin-0.8.5/src/clientversion.h --- bitcoin-0.8.1/src/clientversion.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/clientversion.h 2013-09-12 03:35:18.000000000 +0000 @@ -2,18 +2,22 @@ #define CLIENTVERSION_H // -// client versioning +// client versioning and copyright year // // These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 8 -#define CLIENT_VERSION_REVISION 1 +#define CLIENT_VERSION_REVISION 5 #define CLIENT_VERSION_BUILD 0 // Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true +// Copyright year (2009-this) +// Todo: update this when changing our copyright comments in the source +#define COPYRIGHT_YEAR 2013 + // Converts the parameter X to a string after macro replacement on X has been performed. // Don't merge these into one macro! #define STRINGIZE(X) DO_STRINGIZE(X) diff -Nru bitcoin-0.8.1/src/compat.h bitcoin-0.8.5/src/compat.h --- bitcoin-0.8.1/src/compat.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/compat.h 2013-09-12 03:35:18.000000000 +0000 @@ -11,6 +11,7 @@ #ifndef NOMINMAX #define NOMINMAX #endif +#define FD_SETSIZE 1024 // max number of fds in fd_set #include #include #include diff -Nru bitcoin-0.8.1/src/db.cpp bitcoin-0.8.5/src/db.cpp --- bitcoin-0.8.1/src/db.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/db.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -38,7 +38,7 @@ if (ret != 0) printf("EnvShutdown exception: %s (%d)\n", DbEnv::strerror(ret), ret); if (!fMockDb) - DbEnv(0).remove(strPath.c_str(), 0); + DbEnv(0).remove(path.string().c_str(), 0); } CDBEnv::CDBEnv() : dbenv(DB_CXX_NO_EXCEPTIONS) @@ -57,15 +57,14 @@ EnvShutdown(); } -bool CDBEnv::Open(const boost::filesystem::path& path) +bool CDBEnv::Open(const boost::filesystem::path& pathIn) { if (fDbEnvInit) return true; - if (fShutdown) - return false; + boost::this_thread::interruption_point(); - strPath = path.string(); + path = pathIn; filesystem::path pathLogDir = path / "database"; filesystem::create_directory(pathLogDir); filesystem::path pathErrorFile = path / "db.log"; @@ -75,18 +74,17 @@ if (GetBoolArg("-privdb", true)) nEnvFlags |= DB_PRIVATE; - unsigned int nDbCache = GetArg("-dbcache", 25); dbenv.set_lg_dir(pathLogDir.string().c_str()); - dbenv.set_cachesize(nDbCache / 1024, (nDbCache % 1024)*1048576, 1); - dbenv.set_lg_bsize(1048576); - dbenv.set_lg_max(10485760); + dbenv.set_cachesize(0, 0x100000, 1); // 1 MiB should be enough for just the wallet + dbenv.set_lg_bsize(0x10000); + dbenv.set_lg_max(1048576); dbenv.set_lk_max_locks(40000); dbenv.set_lk_max_objects(40000); dbenv.set_errfile(fopen(pathErrorFile.string().c_str(), "a")); /// debug dbenv.set_flags(DB_AUTO_COMMIT, 1); dbenv.set_flags(DB_TXN_WRITE_NOSYNC, 1); dbenv.log_set_config(DB_LOG_AUTO_REMOVE, 1); - int ret = dbenv.open(strPath.c_str(), + int ret = dbenv.open(path.string().c_str(), DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | @@ -109,8 +107,7 @@ if (fDbEnvInit) throw runtime_error("CDBEnv::MakeMock(): already initialized"); - if (fShutdown) - throw runtime_error("CDBEnv::MakeMock(): during shutdown"); + boost::this_thread::interruption_point(); printf("CDBEnv::MakeMock()\n"); @@ -167,9 +164,18 @@ Db db(&dbenv, 0); int result = db.verify(strFile.c_str(), NULL, &strDump, flags); - if (result != 0) + if (result == DB_VERIFY_BAD) { - printf("ERROR: db salvage failed\n"); + printf("Error: Salvage found errors, all data may not be recoverable.\n"); + if (!fAggressive) + { + printf("Error: Rerun with aggressive mode to ignore errors and continue.\n"); + return false; + } + } + if (result != 0 && result != DB_VERIFY_BAD) + { + printf("ERROR: db salvage failed: %d\n",result); return false; } @@ -328,7 +334,7 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip) { - while (!fShutdown) + while (true) { { LOCK(bitdb.cs_db); @@ -414,7 +420,7 @@ return fSuccess; } } - Sleep(100); + MilliSleep(100); } return false; } @@ -459,6 +465,8 @@ { dbenv.log_archive(&listp, DB_ARCH_REMOVE); Close(); + if (!fMockDb) + boost::filesystem::remove_all(path / "database"); } } } diff -Nru bitcoin-0.8.1/src/db.h bitcoin-0.8.5/src/db.h --- bitcoin-0.8.1/src/db.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/db.h 2013-09-12 03:35:18.000000000 +0000 @@ -24,7 +24,7 @@ extern unsigned int nWalletDBUpdated; -void ThreadFlushWalletDB(void* parg); +void ThreadFlushWalletDB(const std::string& strWalletFile); bool BackupWallet(const CWallet& wallet, const std::string& strDest); @@ -33,7 +33,7 @@ private: bool fDbEnvInit; bool fMockDb; - std::string strPath; + boost::filesystem::path path; void EnvShutdown(); diff -Nru bitcoin-0.8.1/src/init.cpp bitcoin-0.8.5/src/init.cpp --- bitcoin-0.8.1/src/init.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/init.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -28,6 +28,15 @@ CWallet* pwalletMain; CClientUIInterface uiInterface; +#ifdef WIN32 +// Win32 LevelDB doesn't use filedescriptors, and the ones used for +// accessing block files, don't count towards to fd_set size limit +// anyway. +#define MIN_CORE_FILEDESCRIPTORS 0 +#else +#define MIN_CORE_FILEDESCRIPTORS 150 +#endif + // Used to pass flags to the Bind() function enum BindFlags { BF_NONE = 0, @@ -40,85 +49,84 @@ // Shutdown // -void ExitTimeout(void* parg) -{ -#ifdef WIN32 - Sleep(5000); - ExitProcess(0); -#endif -} +// +// Thread management and startup/shutdown: +// +// The network-processing threads are all part of a thread group +// created by AppInit() or the Qt main() function. +// +// A clean exit happens when StartShutdown() or the SIGTERM +// signal handler sets fRequestShutdown, which triggers +// the DetectShutdownThread(), which interrupts the main thread group. +// DetectShutdownThread() then exits, which causes AppInit() to +// continue (it .joins the shutdown thread). +// Shutdown() is then +// called to clean up database connections, and stop other +// threads that should only be stopped after the main network-processing +// threads have exited. +// +// Note that if running -daemon the parent process returns from AppInit2 +// before adding any threads to the threadGroup, so .join_all() returns +// immediately and the parent exits from main(). +// +// Shutdown for Qt is very similar, only it uses a QTimer to detect +// fRequestShutdown getting set, and then does the normal Qt +// shutdown thing. +// + +volatile bool fRequestShutdown = false; void StartShutdown() { -#ifdef QT_GUI - // ensure we leave the Qt main loop for a clean GUI exit (Shutdown() is called in bitcoin.cpp afterwards) - uiInterface.QueueShutdown(); -#else - // Without UI, Shutdown() can simply be started in a new thread - NewThread(Shutdown, NULL); -#endif + fRequestShutdown = true; +} +bool ShutdownRequested() +{ + return fRequestShutdown; } static CCoinsViewDB *pcoinsdbview; -void Shutdown(void* parg) +void Shutdown() { static CCriticalSection cs_Shutdown; - static bool fTaken; + TRY_LOCK(cs_Shutdown, lockShutdown); + if (!lockShutdown) return; - // Make this thread recognisable as the shutdown thread RenameThread("bitcoin-shutoff"); + nTransactionsUpdated++; + StopRPCThreads(); + bitdb.Flush(false); + StopNode(); + { + LOCK(cs_main); + if (pwalletMain) + pwalletMain->SetBestChain(CBlockLocator(pindexBest)); + if (pblocktree) + pblocktree->Flush(); + if (pcoinsTip) + pcoinsTip->Flush(); + delete pcoinsTip; pcoinsTip = NULL; + delete pcoinsdbview; pcoinsdbview = NULL; + delete pblocktree; pblocktree = NULL; + } + bitdb.Flush(true); + boost::filesystem::remove(GetPidFile()); + UnregisterWallet(pwalletMain); + delete pwalletMain; +} - bool fFirstThread = false; - { - TRY_LOCK(cs_Shutdown, lockShutdown); - if (lockShutdown) - { - fFirstThread = !fTaken; - fTaken = true; - } - } - static bool fExit; - if (fFirstThread) - { - fShutdown = true; - fRequestShutdown = true; - nTransactionsUpdated++; - bitdb.Flush(false); - { - LOCK(cs_main); - ThreadScriptCheckQuit(); - } - StopNode(); - { - LOCK(cs_main); - if (pblocktree) - pblocktree->Flush(); - if (pcoinsTip) - pcoinsTip->Flush(); - delete pcoinsTip; - delete pcoinsdbview; - delete pblocktree; - } - bitdb.Flush(true); - boost::filesystem::remove(GetPidFile()); - UnregisterWallet(pwalletMain); - delete pwalletMain; - NewThread(ExitTimeout, NULL); - Sleep(50); - printf("Bitcoin exited\n\n"); - fExit = true; -#ifndef QT_GUI - // ensure non-UI client gets exited here, but let Bitcoin-Qt reach 'return 0;' in bitcoin.cpp - exit(0); -#endif - } - else +// +// Signal handlers are very limited in what they are allowed to do, so: +// +void DetectShutdownThread(boost::thread_group* threadGroup) +{ + // Tell the main threads to shutdown. + while (!fRequestShutdown) { - while (!fExit) - Sleep(500); - Sleep(100); - ExitThread(0); + MilliSleep(200); + if (fRequestShutdown) + threadGroup->interrupt_all(); } } @@ -143,6 +151,9 @@ #if !defined(QT_GUI) bool AppInit(int argc, char* argv[]) { + boost::thread_group threadGroup; + boost::thread* detectShutdownThread = NULL; + bool fRet = false; try { @@ -154,7 +165,7 @@ if (!boost::filesystem::is_directory(GetDataDir(false))) { fprintf(stderr, "Error: Specified directory does not exist\n"); - Shutdown(NULL); + Shutdown(); } ReadConfigFile(mapArgs, mapMultiArgs); @@ -184,16 +195,52 @@ int ret = CommandLineRPC(argc, argv); exit(ret); } +#if !defined(WIN32) + fDaemon = GetBoolArg("-daemon"); + if (fDaemon) + { + // Daemonize + pid_t pid = fork(); + if (pid < 0) + { + fprintf(stderr, "Error: fork() returned %d errno %d\n", pid, errno); + return false; + } + if (pid > 0) // Parent process, pid is child process id + { + CreatePidFile(GetPidFile(), pid); + return true; + } + // Child process falls through to rest of initialization + + pid_t sid = setsid(); + if (sid < 0) + fprintf(stderr, "Error: setsid() returned %d errno %d\n", sid, errno); + } +#endif - fRet = AppInit2(); + detectShutdownThread = new boost::thread(boost::bind(&DetectShutdownThread, &threadGroup)); + fRet = AppInit2(threadGroup); } catch (std::exception& e) { PrintExceptionContinue(&e, "AppInit()"); } catch (...) { PrintExceptionContinue(NULL, "AppInit()"); } - if (!fRet) - Shutdown(NULL); + if (!fRet) { + if (detectShutdownThread) + detectShutdownThread->interrupt(); + threadGroup.interrupt_all(); + } + + if (detectShutdownThread) + { + detectShutdownThread->join(); + delete detectShutdownThread; + detectShutdownThread = NULL; + } + Shutdown(); + return fRet; } @@ -210,7 +257,7 @@ if (fRet && fDaemon) return 0; - return 1; + return (fRet ? 0 : 1); } #endif @@ -245,8 +292,7 @@ " -? " + _("This help message") + "\n" + " -conf= " + _("Specify configuration file (default: bitcoin.conf)") + "\n" + " -pid= " + _("Specify pid file (default: bitcoind.pid)") + "\n" + - " -gen " + _("Generate coins") + "\n" + - " -gen=0 " + _("Don't generate coins") + "\n" + + " -gen " + _("Generate coins (default: 0)") + "\n" + " -datadir= " + _("Specify data directory") + "\n" + " -dbcache= " + _("Set database cache size in megabytes (default: 25)") + "\n" + " -timeout= " + _("Specify connection timeout in milliseconds (default: 5000)") + "\n" + @@ -262,7 +308,6 @@ " -externalip= " + _("Specify your own public address") + "\n" + " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n" + " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n" + - " -irc " + _("Find peers using internet relay chat (default: 0)") + "\n" + " -checkpoints " + _("Only accept block chain matching built-in checkpoints (default: 1)") + "\n" + " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n" + " -bind= " + _("Bind to given address and always listen on it. Use [host]:port notation for IPv6") + "\n" + @@ -298,8 +343,13 @@ " -rpcpassword= " + _("Password for JSON-RPC connections") + "\n" + " -rpcport= " + _("Listen for JSON-RPC connections on (default: 8332 or testnet: 18332)") + "\n" + " -rpcallowip= " + _("Allow JSON-RPC connections from specified IP address") + "\n" + +#ifndef QT_GUI " -rpcconnect= " + _("Send commands to node running on (default: 127.0.0.1)") + "\n" + +#endif + " -rpcthreads= " + _("Set the number of threads to service RPC calls (default: 4)") + "\n" + " -blocknotify= " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n" + + " -walletnotify= " + _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)") + "\n" + + " -alertnotify= " + _("Execute command when a relevant alert is received (%s in cmd is replaced by message)") + "\n" + " -upgradewallet " + _("Upgrade wallet to latest format") + "\n" + " -keypool= " + _("Set key pool size to (default: 100)") + "\n" + " -rescan " + _("Rescan the block chain for missing wallet transactions") + "\n" + @@ -308,8 +358,8 @@ " -checklevel= " + _("How thorough the block verification is (0-4, default: 3)") + "\n" + " -txindex " + _("Maintain a full transaction index (default: 0)") + "\n" + " -loadblock= " + _("Imports blocks from external blk000??.dat file") + "\n" + - " -reindex " + _("Rebuild blockchain index from current blk000??.dat files") + "\n" + - " -par=N " + _("Set the number of script verification threads (1-16, 0=auto, default: 0)") + "\n" + + " -reindex " + _("Rebuild block chain index from current blk000??.dat files") + "\n" + + " -par= " + _("Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0)") + "\n" + "\n" + _("Block creation options:") + "\n" + " -blockminsize= " + _("Set minimum block size in bytes (default: 0)") + "\n" + @@ -338,22 +388,15 @@ } }; -struct CImportData { - std::vector vFiles; -}; - -void ThreadImport(void *data) { - CImportData *import = reinterpret_cast(data); - +void ThreadImport(std::vector vImportFiles) +{ RenameThread("bitcoin-loadblk"); - vnThreadsRunning[THREAD_IMPORT]++; - // -reindex if (fReindex) { CImportingNow imp; int nFile = 0; - while (!fRequestShutdown) { + while (true) { CDiskBlockPos pos(nFile, 0); FILE *file = OpenBlockFile(pos, true); if (!file) @@ -362,18 +405,16 @@ LoadExternalBlockFile(file, &pos); nFile++; } - if (!fRequestShutdown) { - pblocktree->WriteReindexing(false); - fReindex = false; - printf("Reindexing finished\n"); - // To avoid ending up in a situation without genesis block, re-try initializing (no-op if reindexing worked): - InitBlockIndex(); - } + pblocktree->WriteReindexing(false); + fReindex = false; + printf("Reindexing finished\n"); + // To avoid ending up in a situation without genesis block, re-try initializing (no-op if reindexing worked): + InitBlockIndex(); } // hardcoded $DATADIR/bootstrap.dat filesystem::path pathBootstrap = GetDataDir() / "bootstrap.dat"; - if (filesystem::exists(pathBootstrap) && !fRequestShutdown) { + if (filesystem::exists(pathBootstrap)) { FILE *file = fopen(pathBootstrap.string().c_str(), "rb"); if (file) { CImportingNow imp; @@ -385,9 +426,7 @@ } // -loadblock= - BOOST_FOREACH(boost::filesystem::path &path, import->vFiles) { - if (fRequestShutdown) - break; + BOOST_FOREACH(boost::filesystem::path &path, vImportFiles) { FILE *file = fopen(path.string().c_str(), "rb"); if (file) { CImportingNow imp; @@ -395,16 +434,12 @@ LoadExternalBlockFile(file); } } - - delete import; - - vnThreadsRunning[THREAD_IMPORT]--; } /** Initialize bitcoin. * @pre Parameters should be parsed and config file should be read. */ -bool AppInit2() +bool AppInit2(boost::thread_group& threadGroup) { // ********************************************************* Step 1: setup #ifdef _MSC_VER @@ -428,6 +463,14 @@ typedef BOOL (WINAPI *PSETPROCDEPPOL)(DWORD); PSETPROCDEPPOL setProcDEPPol = (PSETPROCDEPPOL)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "SetProcessDEPPolicy"); if (setProcDEPPol != NULL) setProcDEPPol(PROCESS_DEP_ENABLE); + + // Initialize Windows Sockets + WSADATA wsadata; + int ret = WSAStartup(MAKEWORD(2,2), &wsadata); + if (ret != NO_ERROR || LOBYTE(wsadata.wVersion ) != 2 || HIBYTE(wsadata.wVersion) != 2) + { + return InitError(strprintf("Error: Winsock library failed to start (WSAStartup returned error %d)", ret)); + } #endif #ifndef WIN32 umask(077); @@ -451,9 +494,6 @@ // ********************************************************* Step 2: parameter interactions fTestNet = GetBoolArg("-testnet"); - if (fTestNet) { - SoftSetBoolArg("-irc", true); - } if (mapArgs.count("-bind")) { // when specifying an explicit binding address, you want to listen on it @@ -488,6 +528,16 @@ SoftSetBoolArg("-rescan", true); } + // Make sure enough file descriptors are available + int nBind = std::max((int)mapArgs.count("-bind"), 1); + nMaxConnections = GetArg("-maxconnections", 125); + nMaxConnections = std::max(std::min(nMaxConnections, FD_SETSIZE - nBind - MIN_CORE_FILEDESCRIPTORS), 0); + int nFD = RaiseFileDescriptorLimit(nMaxConnections + MIN_CORE_FILEDESCRIPTORS); + if (nFD < MIN_CORE_FILEDESCRIPTORS) + return InitError(_("Not enough file descriptors available.")); + if (nFD - MIN_CORE_FILEDESCRIPTORS < nMaxConnections) + nMaxConnections = nFD - MIN_CORE_FILEDESCRIPTORS; + // ********************************************************* Step 3: parameter-to-internal-flags fDebug = GetBoolArg("-debug"); @@ -495,9 +545,9 @@ // -par=0 means autodetect, but nScriptCheckThreads==0 means no concurrency nScriptCheckThreads = GetArg("-par", 0); - if (nScriptCheckThreads == 0) - nScriptCheckThreads = boost::thread::hardware_concurrency(); - if (nScriptCheckThreads <= 1) + if (nScriptCheckThreads <= 0) + nScriptCheckThreads += boost::thread::hardware_concurrency(); + if (nScriptCheckThreads <= 1) nScriptCheckThreads = 0; else if (nScriptCheckThreads > MAX_SCRIPTCHECK_THREADS) nScriptCheckThreads = MAX_SCRIPTCHECK_THREADS; @@ -508,12 +558,6 @@ else fDebugNet = GetBoolArg("-debugnet"); -#if !defined(WIN32) && !defined(QT_GUI) - fDaemon = GetBoolArg("-daemon"); -#else - fDaemon = false; -#endif - if (fDaemon) fServer = true; else @@ -540,6 +584,28 @@ const char* pszP2SH = "/P2SH/"; COINBASE_FLAGS << std::vector(pszP2SH, pszP2SH+strlen(pszP2SH)); + // Fee-per-kilobyte amount considered the same as "free" + // If you are mining, be careful setting this: + // if you set it to zero then + // a transaction spammer can cheaply fill blocks using + // 1-satoshi-fee transactions. It should be set above the real + // cost to you of processing a transaction. + if (mapArgs.count("-mintxfee")) + { + int64 n = 0; + if (ParseMoney(mapArgs["-mintxfee"], n) && n > 0) + CTransaction::nMinTxFee = n; + else + return InitError(strprintf(_("Invalid amount for -mintxfee=: '%s'"), mapArgs["-mintxfee"].c_str())); + } + if (mapArgs.count("-minrelaytxfee")) + { + int64 n = 0; + if (ParseMoney(mapArgs["-minrelaytxfee"], n) && n > 0) + CTransaction::nMinRelayTxFee = n; + else + return InitError(strprintf(_("Invalid amount for -minrelaytxfee=: '%s'"), mapArgs["-minrelaytxfee"].c_str())); + } if (mapArgs.count("-paytxfee")) { @@ -561,28 +627,6 @@ if (!lock.try_lock()) return InitError(strprintf(_("Cannot obtain a lock on data directory %s. Bitcoin is probably already running."), strDataDir.c_str())); -#if !defined(WIN32) && !defined(QT_GUI) - if (fDaemon) - { - // Daemonize - pid_t pid = fork(); - if (pid < 0) - { - fprintf(stderr, "Error: fork() returned %d errno %d\n", pid, errno); - return false; - } - if (pid > 0) - { - CreatePidFile(GetPidFile(), pid); - return true; - } - - pid_t sid = setsid(); - if (sid < 0) - fprintf(stderr, "Error: setsid() returned %d errno %d\n", sid, errno); - } -#endif - if (GetBoolArg("-shrinkdebugfile", !fDebug)) ShrinkDebugFile(); printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); @@ -591,7 +635,8 @@ if (!fLogTimestamps) printf("Startup time: %s\n", DateTimeStrFormat("%Y-%m-%d %H:%M:%S", GetTime()).c_str()); printf("Default data directory %s\n", GetDefaultDataDir().string().c_str()); - printf("Used data directory %s\n", strDataDir.c_str()); + printf("Using data directory %s\n", strDataDir.c_str()); + printf("Using at most %i connections (%i file descriptors available)\n", nMaxConnections, nFD); std::ostringstream strErrors; if (fDaemon) @@ -600,21 +645,33 @@ if (nScriptCheckThreads) { printf("Using %u threads for script verification\n", nScriptCheckThreads); for (int i=0; iGetKeyFromPool(newDefaultKey, false)) - strErrors << _("Cannot initialize keypool") << "\n"; - pwalletMain->SetDefaultKey(newDefaultKey); - if (!pwalletMain->SetAddressBookName(pwalletMain->vchDefaultKey.GetID(), "")) - strErrors << _("Cannot write default address") << "\n"; + if (pwalletMain->GetKeyFromPool(newDefaultKey, false)) { + pwalletMain->SetDefaultKey(newDefaultKey); + if (!pwalletMain->SetAddressBookName(pwalletMain->vchDefaultKey.GetID(), "")) + strErrors << _("Cannot write default address") << "\n"; + } + + pwalletMain->SetBestChain(CBlockLocator(pindexBest)); } printf("%s", strErrors.str().c_str()); @@ -971,6 +1018,8 @@ CBlockLocator locator; if (walletdb.ReadBestBlock(locator)) pindexRescan = locator.GetBlockIndex(); + else + pindexRescan = pindexGenesisBlock; } if (pindexBest && pindexBest != pindexRescan) { @@ -979,23 +1028,24 @@ nStart = GetTimeMillis(); pwalletMain->ScanForWalletTransactions(pindexRescan, true); printf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart); + pwalletMain->SetBestChain(CBlockLocator(pindexBest)); + nWalletDBUpdated++; } // ********************************************************* Step 9: import blocks // scan for better chains in the block chain database, that are not yet connected in the active best chain - uiInterface.InitMessage(_("Importing blocks from block database...")); CValidationState state; if (!ConnectBestBlock(state)) strErrors << "Failed to connect best block"; - CImportData *pimport = new CImportData(); + std::vector vImportFiles; if (mapArgs.count("-loadblock")) { BOOST_FOREACH(string strFile, mapMultiArgs["-loadblock"]) - pimport->vFiles.push_back(strFile); + vImportFiles.push_back(strFile); } - NewThread(ThreadImport, pimport); + threadGroup.create_thread(boost::bind(&ThreadImport, vImportFiles)); // ********************************************************* Step 10: load peers @@ -1017,6 +1067,9 @@ if (!CheckDiskSpace()) return false; + if (!strErrors.str().empty()) + return InitError(strErrors.str()); + RandAddSeedPerfmon(); //// debug print @@ -1026,28 +1079,23 @@ printf("mapWallet.size() = %"PRIszu"\n", pwalletMain->mapWallet.size()); printf("mapAddressBook.size() = %"PRIszu"\n", pwalletMain->mapAddressBook.size()); - if (!NewThread(StartNode, NULL)) - InitError(_("Error: could not start node")); + StartNode(threadGroup); if (fServer) - NewThread(ThreadRPCServer, NULL); + StartRPCThreads(); + + // Generate coins in the background + GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain); // ********************************************************* Step 12: finished uiInterface.InitMessage(_("Done loading")); - if (!strErrors.str().empty()) - return InitError(strErrors.str()); - // Add wallet transactions that aren't already in a block to mapTransactions pwalletMain->ReacceptWalletTransactions(); -#if !defined(QT_GUI) - // Loop until process is exit()ed from shutdown() function, - // called from ThreadRPCServer thread when a "stop" command is received. - while (1) - Sleep(5000); -#endif + // Run a thread to flush wallet periodically + threadGroup.create_thread(boost::bind(&ThreadFlushWalletDB, boost::ref(pwalletMain->strWalletFile))); - return true; + return !fRequestShutdown; } diff -Nru bitcoin-0.8.1/src/init.h bitcoin-0.8.5/src/init.h --- bitcoin-0.8.1/src/init.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/init.h 2013-09-12 03:35:18.000000000 +0000 @@ -10,8 +10,9 @@ extern CWallet* pwalletMain; void StartShutdown(); -void Shutdown(void* parg); -bool AppInit2(); +bool ShutdownRequested(); +void Shutdown(); +bool AppInit2(boost::thread_group& threadGroup); std::string HelpMessage(); #endif diff -Nru bitcoin-0.8.1/src/irc.cpp bitcoin-0.8.5/src/irc.cpp --- bitcoin-0.8.1/src/irc.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/irc.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,403 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "irc.h" -#include "net.h" -#include "base58.h" - -#include // for startswith() and endswith() - -using namespace std; -using namespace boost; - -int nGotIRCAddresses = 0; - -void ThreadIRCSeed2(void* parg); - - - - -#pragma pack(push, 1) -struct ircaddr -{ - struct in_addr ip; - short port; -}; -#pragma pack(pop) - -string EncodeAddress(const CService& addr) -{ - struct ircaddr tmp; - if (addr.GetInAddr(&tmp.ip)) - { - tmp.port = htons(addr.GetPort()); - - vector vch(UBEGIN(tmp), UEND(tmp)); - return string("u") + EncodeBase58Check(vch); - } - return ""; -} - -bool DecodeAddress(string str, CService& addr) -{ - vector vch; - if (!DecodeBase58Check(str.substr(1), vch)) - return false; - - struct ircaddr tmp; - if (vch.size() != sizeof(tmp)) - return false; - memcpy(&tmp, &vch[0], sizeof(tmp)); - - addr = CService(tmp.ip, ntohs(tmp.port)); - return true; -} - - - - - - -static bool Send(SOCKET hSocket, const char* pszSend) -{ - if (strstr(pszSend, "PONG") != pszSend) - printf("IRC SENDING: %s\n", pszSend); - const char* psz = pszSend; - const char* pszEnd = psz + strlen(psz); - while (psz < pszEnd) - { - int ret = send(hSocket, psz, pszEnd - psz, MSG_NOSIGNAL); - if (ret < 0) - return false; - psz += ret; - } - return true; -} - -bool RecvLineIRC(SOCKET hSocket, string& strLine) -{ - loop - { - bool fRet = RecvLine(hSocket, strLine); - if (fRet) - { - if (fShutdown) - return false; - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() >= 1 && vWords[0] == "PING") - { - strLine[1] = 'O'; - strLine += '\r'; - Send(hSocket, strLine.c_str()); - continue; - } - } - return fRet; - } -} - -int RecvUntil(SOCKET hSocket, const char* psz1, const char* psz2=NULL, const char* psz3=NULL, const char* psz4=NULL) -{ - loop - { - string strLine; - strLine.reserve(10000); - if (!RecvLineIRC(hSocket, strLine)) - return 0; - printf("IRC %s\n", strLine.c_str()); - if (psz1 && strLine.find(psz1) != string::npos) - return 1; - if (psz2 && strLine.find(psz2) != string::npos) - return 2; - if (psz3 && strLine.find(psz3) != string::npos) - return 3; - if (psz4 && strLine.find(psz4) != string::npos) - return 4; - } -} - -bool Wait(int nSeconds) -{ - if (fShutdown) - return false; - printf("IRC waiting %d seconds to reconnect\n", nSeconds); - for (int i = 0; i < nSeconds; i++) - { - if (fShutdown) - return false; - Sleep(1000); - } - return true; -} - -bool RecvCodeLine(SOCKET hSocket, const char* psz1, string& strRet) -{ - strRet.clear(); - loop - { - string strLine; - if (!RecvLineIRC(hSocket, strLine)) - return false; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 2) - continue; - - if (vWords[1] == psz1) - { - printf("IRC %s\n", strLine.c_str()); - strRet = strLine; - return true; - } - } -} - -bool GetIPFromIRC(SOCKET hSocket, string strMyName, CNetAddr& ipRet) -{ - Send(hSocket, strprintf("USERHOST %s\r", strMyName.c_str()).c_str()); - - string strLine; - if (!RecvCodeLine(hSocket, "302", strLine)) - return false; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 4) - return false; - - string str = vWords[3]; - if (str.rfind("@") == string::npos) - return false; - string strHost = str.substr(str.rfind("@")+1); - - // Hybrid IRC used by lfnet always returns IP when you userhost yourself, - // but in case another IRC is ever used this should work. - printf("GetIPFromIRC() got userhost %s\n", strHost.c_str()); - CNetAddr addr(strHost, true); - if (!addr.IsValid()) - return false; - ipRet = addr; - - return true; -} - - - -void ThreadIRCSeed(void* parg) -{ - // Make this thread recognisable as the IRC seeding thread - RenameThread("bitcoin-ircseed"); - - printf("ThreadIRCSeed started\n"); - - try - { - ThreadIRCSeed2(parg); - } - catch (std::exception& e) { - PrintExceptionContinue(&e, "ThreadIRCSeed()"); - } catch (...) { - PrintExceptionContinue(NULL, "ThreadIRCSeed()"); - } - printf("ThreadIRCSeed exited\n"); -} - -void ThreadIRCSeed2(void* parg) -{ - // Don't connect to IRC if we won't use IPv4 connections. - if (IsLimited(NET_IPV4)) - return; - - // ... or if we won't make outbound connections and won't accept inbound ones. - if (mapArgs.count("-connect") && fNoListen) - return; - - // ... or if IRC is not enabled. - if (!GetBoolArg("-irc", false)) - return; - - printf("ThreadIRCSeed trying to connect...\n"); - - int nErrorWait = 10; - int nRetryWait = 10; - int nNameRetry = 0; - - while (!fShutdown) - { - CService addrConnect("92.243.23.21", 6667); // irc.lfnet.org - - CService addrIRC("irc.lfnet.org", 6667, true); - if (addrIRC.IsValid()) - addrConnect = addrIRC; - - SOCKET hSocket; - if (!ConnectSocket(addrConnect, hSocket)) - { - printf("IRC connect failed\n"); - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - - if (!RecvUntil(hSocket, "Found your hostname", "using your IP address instead", "Couldn't look up your hostname", "ignoring hostname")) - { - closesocket(hSocket); - hSocket = INVALID_SOCKET; - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - - CNetAddr addrIPv4("1.2.3.4"); // arbitrary IPv4 address to make GetLocal prefer IPv4 addresses - CService addrLocal; - string strMyName; - // Don't use our IP as our nick if we're not listening - // or if it keeps failing because the nick is already in use. - if (!fNoListen && GetLocal(addrLocal, &addrIPv4) && nNameRetry<3) - strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); - if (strMyName == "") - strMyName = strprintf("x%"PRI64u"", GetRand(1000000000)); - - Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); - Send(hSocket, strprintf("USER %s 8 * : %s\r", strMyName.c_str(), strMyName.c_str()).c_str()); - - int nRet = RecvUntil(hSocket, " 004 ", " 433 "); - if (nRet != 1) - { - closesocket(hSocket); - hSocket = INVALID_SOCKET; - if (nRet == 2) - { - printf("IRC name already in use\n"); - nNameRetry++; - Wait(10); - continue; - } - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - nNameRetry = 0; - Sleep(500); - - // Get our external IP from the IRC server and re-nick before joining the channel - CNetAddr addrFromIRC; - if (GetIPFromIRC(hSocket, strMyName, addrFromIRC)) - { - printf("GetIPFromIRC() returned %s\n", addrFromIRC.ToString().c_str()); - // Don't use our IP as our nick if we're not listening - if (!fNoListen && addrFromIRC.IsRoutable()) - { - // IRC lets you to re-nick - AddLocal(addrFromIRC, LOCAL_IRC); - strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); - Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); - } - } - - if (fTestNet) { - Send(hSocket, "JOIN #bitcoinTEST3\r"); - Send(hSocket, "WHO #bitcoinTEST3\r"); - } else { - // randomly join #bitcoin00-#bitcoin99 - int channel_number = GetRandInt(100); - Send(hSocket, strprintf("JOIN #bitcoin%02d\r", channel_number).c_str()); - Send(hSocket, strprintf("WHO #bitcoin%02d\r", channel_number).c_str()); - } - - int64 nStart = GetTime(); - string strLine; - strLine.reserve(10000); - while (!fShutdown && RecvLineIRC(hSocket, strLine)) - { - if (strLine.empty() || strLine.size() > 900 || strLine[0] != ':') - continue; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 2) - continue; - - std::string strName; - - if (vWords[1] == "352" && vWords.size() >= 8) - { - // index 7 is limited to 16 characters - // could get full length name at index 10, but would be different from join messages - strName = vWords[7].c_str(); - printf("IRC got who\n"); - } - - if (vWords[1] == "JOIN" && vWords[0].size() > 1) - { - // :username!username@50000007.F000000B.90000002.IP JOIN :#channelname - strName = vWords[0].substr(1, vWords[0].find('!', 1) - 1); - printf("IRC got join\n"); - } - - if (boost::algorithm::starts_with(strName, "u")) - { - CAddress addr; - if (DecodeAddress(strName, addr)) - { - addr.nTime = GetAdjustedTime(); - if (addrman.Add(addr, addrConnect, 51 * 60)) - printf("IRC got new address: %s\n", addr.ToString().c_str()); - nGotIRCAddresses++; - } - else - { - printf("IRC decode failed\n"); - } - } - } - closesocket(hSocket); - hSocket = INVALID_SOCKET; - - if (GetTime() - nStart > 20 * 60) - { - nErrorWait /= 3; - nRetryWait /= 3; - } - - nRetryWait = nRetryWait * 11 / 10; - if (!Wait(nRetryWait += 60)) - return; - } -} - - - - - - - - - - -#ifdef TEST -int main(int argc, char *argv[]) -{ - WSADATA wsadata; - if (WSAStartup(MAKEWORD(2,2), &wsadata) != NO_ERROR) - { - printf("Error at WSAStartup()\n"); - return false; - } - - ThreadIRCSeed(NULL); - - WSACleanup(); - return 0; -} -#endif diff -Nru bitcoin-0.8.1/src/irc.h bitcoin-0.8.5/src/irc.h --- bitcoin-0.8.1/src/irc.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/irc.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef BITCOIN_IRC_H -#define BITCOIN_IRC_H - -void ThreadIRCSeed(void* parg); - -extern int nGotIRCAddresses; - -#endif diff -Nru bitcoin-0.8.1/src/leveldb/.gitignore bitcoin-0.8.5/src/leveldb/.gitignore --- bitcoin-0.8.1/src/leveldb/.gitignore 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/.gitignore 2013-09-12 03:35:18.000000000 +0000 @@ -6,6 +6,7 @@ *.so.* *_test db_bench +leveldbutil Release Debug Benchmark diff -Nru bitcoin-0.8.1/src/leveldb/AUTHORS bitcoin-0.8.5/src/leveldb/AUTHORS --- bitcoin-0.8.1/src/leveldb/AUTHORS 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/AUTHORS 2013-09-12 03:35:18.000000000 +0000 @@ -6,3 +6,6 @@ # Initial version authors: Jeffrey Dean Sanjay Ghemawat + +# Partial list of contributors: +Kevin Regan diff -Nru bitcoin-0.8.1/src/leveldb/Makefile bitcoin-0.8.5/src/leveldb/Makefile --- bitcoin-0.8.1/src/leveldb/Makefile 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/Makefile 2013-09-12 03:35:18.000000000 +0000 @@ -12,7 +12,7 @@ #----------------------------------------------- # detect what platform we're building on -$(shell CC=$(CC) CXX=$(CXX) TARGET_OS=$(TARGET_OS) \ +$(shell CC="$(CC)" CXX="$(CXX)" TARGET_OS="$(TARGET_OS)" \ ./build_detect_platform build_config.mk ./) # this file is generated by the previous line to set build flags and sources include build_config.mk @@ -42,6 +42,7 @@ env_test \ filename_test \ filter_block_test \ + issue178_test \ log_test \ memenv_test \ skiplist_test \ @@ -69,7 +70,7 @@ else # Update db.h if you change these. SHARED_MAJOR = 1 -SHARED_MINOR = 9 +SHARED_MINOR = 12 SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT) SHARED2 = $(SHARED1).$(SHARED_MAJOR) SHARED3 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR) @@ -146,6 +147,9 @@ filter_block_test: table/filter_block_test.o $(LIBOBJECTS) $(TESTHARNESS) $(CXX) $(LDFLAGS) table/filter_block_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) +issue178_test: issues/issue178_test.o $(LIBOBJECTS) $(TESTHARNESS) + $(CXX) $(LDFLAGS) issues/issue178_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) + log_test: db/log_test.o $(LIBOBJECTS) $(TESTHARNESS) $(CXX) $(LDFLAGS) db/log_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) diff -Nru bitcoin-0.8.1/src/leveldb/build_detect_platform bitcoin-0.8.5/src/leveldb/build_detect_platform --- bitcoin-0.8.1/src/leveldb/build_detect_platform 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/build_detect_platform 2013-09-12 03:35:18.000000000 +0000 @@ -44,6 +44,10 @@ CXX=g++ fi +if test -z "$TMPDIR"; then + TMPDIR=/tmp +fi + # Detect OS if test -z "$TARGET_OS"; then TARGET_OS=`uname -s` @@ -94,6 +98,12 @@ PLATFORM_LIBS="-lpthread" PORT_FILE=port/port_posix.cc ;; + GNU/kFreeBSD) + PLATFORM=OS_KFREEBSD + COMMON_FLAGS="$MEMCMP_FLAG -D_REENTRANT -DOS_KFREEBSD" + PLATFORM_LIBS="-lpthread" + PORT_FILE=port/port_posix.cc + ;; NetBSD) PLATFORM=OS_NETBSD COMMON_FLAGS="$MEMCMP_FLAG -D_REENTRANT -DOS_NETBSD" @@ -163,8 +173,10 @@ # Cross-compiling; do not try any compilation tests. true else + CXXOUTPUT="${TMPDIR}/leveldb_build_detect_platform-cxx.$$" + # If -std=c++0x works, use . Otherwise use port_posix.h. - $CXX $CXXFLAGS -std=c++0x -x c++ - -o /dev/null 2>/dev/null </dev/null < int main() {} EOF @@ -176,12 +188,14 @@ fi # Test whether tcmalloc is available - $CXX $CXXFLAGS -x c++ - -o /dev/null -ltcmalloc 2>/dev/null </dev/null </dev/null fi PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS" diff -Nru bitcoin-0.8.1/src/leveldb/db/db_impl.cc bitcoin-0.8.5/src/leveldb/db/db_impl.cc --- bitcoin-0.8.1/src/leveldb/db/db_impl.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/db/db_impl.cc 2013-09-12 03:35:18.000000000 +0000 @@ -35,6 +35,8 @@ namespace leveldb { +const int kNumNonTableCacheFiles = 10; + // Information kept for every waiting writer struct DBImpl::Writer { Status status; @@ -92,9 +94,9 @@ Options result = src; result.comparator = icmp; result.filter_policy = (src.filter_policy != NULL) ? ipolicy : NULL; - ClipToRange(&result.max_open_files, 20, 50000); - ClipToRange(&result.write_buffer_size, 64<<10, 1<<30); - ClipToRange(&result.block_size, 1<<10, 4<<20); + ClipToRange(&result.max_open_files, 64 + kNumNonTableCacheFiles, 50000); + ClipToRange(&result.write_buffer_size, 64<<10, 1<<30); + ClipToRange(&result.block_size, 1<<10, 4<<20); if (result.info_log == NULL) { // Open a log file in the same directory as the db src.env->CreateDir(dbname); // In case it does not exist @@ -130,12 +132,13 @@ log_(NULL), tmp_batch_(new WriteBatch), bg_compaction_scheduled_(false), - manual_compaction_(NULL) { + manual_compaction_(NULL), + consecutive_compaction_errors_(0) { mem_->Ref(); has_imm_.Release_Store(NULL); // Reserve ten files or so for other uses and give the rest to TableCache. - const int table_cache_size = options.max_open_files - 10; + const int table_cache_size = options.max_open_files - kNumNonTableCacheFiles; table_cache_ = new TableCache(dbname_, &options_, table_cache_size); versions_ = new VersionSet(dbname_, &options_, table_cache_, @@ -310,16 +313,24 @@ if (!s.ok()) { return s; } + std::set expected; + versions_->AddLiveFiles(&expected); uint64_t number; FileType type; std::vector logs; for (size_t i = 0; i < filenames.size(); i++) { - if (ParseFileName(filenames[i], &number, &type) - && type == kLogFile - && ((number >= min_log) || (number == prev_log))) { - logs.push_back(number); + if (ParseFileName(filenames[i], &number, &type)) { + expected.erase(number); + if (type == kLogFile && ((number >= min_log) || (number == prev_log))) + logs.push_back(number); } } + if (!expected.empty()) { + char buf[50]; + snprintf(buf, sizeof(buf), "%d missing files; e.g.", + static_cast(expected.size())); + return Status::Corruption(buf, TableFileName(dbname_, *(expected.begin()))); + } // Recover in the order in which the logs were generated std::sort(logs.begin(), logs.end()); @@ -611,6 +622,7 @@ Status s = BackgroundCompaction(); if (s.ok()) { // Success + consecutive_compaction_errors_ = 0; } else if (shutting_down_.Acquire_Load()) { // Error most likely due to shutdown; do not wait } else { @@ -622,7 +634,12 @@ Log(options_.info_log, "Waiting after background compaction error: %s", s.ToString().c_str()); mutex_.Unlock(); - env_->SleepForMicroseconds(1000000); + ++consecutive_compaction_errors_; + int seconds_to_sleep = 1; + for (int i = 0; i < 3 && i < consecutive_compaction_errors_ - 1; ++i) { + seconds_to_sleep *= 2; + } + env_->SleepForMicroseconds(seconds_to_sleep * 1000000); mutex_.Lock(); } } @@ -1268,10 +1285,11 @@ } else if (imm_ != NULL) { // We have filled up the current memtable, but the previous // one is still being compacted, so we wait. + Log(options_.info_log, "Current memtable full; waiting...\n"); bg_cv_.Wait(); } else if (versions_->NumLevelFiles(0) >= config::kL0_StopWritesTrigger) { // There are too many level-0 files. - Log(options_.info_log, "waiting...\n"); + Log(options_.info_log, "Too many L0 files; waiting...\n"); bg_cv_.Wait(); } else { // Attempt to switch to a new memtable and trigger compaction of old diff -Nru bitcoin-0.8.1/src/leveldb/db/db_impl.h bitcoin-0.8.5/src/leveldb/db/db_impl.h --- bitcoin-0.8.1/src/leveldb/db/db_impl.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/db/db_impl.h 2013-09-12 03:35:18.000000000 +0000 @@ -163,6 +163,7 @@ // Have we encountered a background error in paranoid mode? Status bg_error_; + int consecutive_compaction_errors_; // Per level compaction stats. stats_[level] stores the stats for // compactions that produced data for the specified "level". diff -Nru bitcoin-0.8.1/src/leveldb/db/db_test.cc bitcoin-0.8.5/src/leveldb/db/db_test.cc --- bitcoin-0.8.1/src/leveldb/db/db_test.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/db/db_test.cc 2013-09-12 03:35:18.000000000 +0000 @@ -33,8 +33,11 @@ public: AtomicCounter() : count_(0) { } void Increment() { + IncrementBy(1); + } + void IncrementBy(int count) { MutexLock l(&mu_); - count_++; + count_ += count; } int Read() { MutexLock l(&mu_); @@ -45,6 +48,10 @@ count_ = 0; } }; + +void DelayMilliseconds(int millis) { + Env::Default()->SleepForMicroseconds(millis * 1000); +} } // Special Env used to delay background operations @@ -69,6 +76,7 @@ AtomicCounter random_read_counter_; AtomicCounter sleep_counter_; + AtomicCounter sleep_time_counter_; explicit SpecialEnv(Env* base) : EnvWrapper(base) { delay_sstable_sync_.Release_Store(NULL); @@ -103,7 +111,7 @@ Status Flush() { return base_->Flush(); } Status Sync() { while (env_->delay_sstable_sync_.Acquire_Load() != NULL) { - env_->SleepForMicroseconds(100000); + DelayMilliseconds(100); } return base_->Sync(); } @@ -174,8 +182,9 @@ virtual void SleepForMicroseconds(int micros) { sleep_counter_.Increment(); - target()->SleepForMicroseconds(micros); + sleep_time_counter_.IncrementBy(micros); } + }; class DBTest { @@ -461,6 +470,20 @@ } return result; } + + bool DeleteAnSSTFile() { + std::vector filenames; + ASSERT_OK(env_->GetChildren(dbname_, &filenames)); + uint64_t number; + FileType type; + for (size_t i = 0; i < filenames.size(); i++) { + if (ParseFileName(filenames[i], &number, &type) && type == kTableFile) { + ASSERT_OK(env_->DeleteFile(TableFileName(dbname_, number))); + return true; + } + } + return false; + } }; TEST(DBTest, Empty) { @@ -611,7 +634,7 @@ } // Step 4: Wait for compaction to finish - env_->SleepForMicroseconds(1000000); + DelayMilliseconds(1000); ASSERT_EQ(NumTableFilesAtLevel(0), 0); } while (ChangeOptions()); @@ -1295,7 +1318,7 @@ Reopen(); Reopen(); ASSERT_EQ("(a->v)", Contents()); - env_->SleepForMicroseconds(1000000); // Wait for compaction to finish + DelayMilliseconds(1000); // Wait for compaction to finish ASSERT_EQ("(a->v)", Contents()); } @@ -1311,7 +1334,7 @@ Put("",""); Reopen(); Put("",""); - env_->SleepForMicroseconds(1000000); // Wait for compaction to finish + DelayMilliseconds(1000); // Wait for compaction to finish Reopen(); Put("d","dv"); Reopen(); @@ -1321,7 +1344,7 @@ Delete("b"); Reopen(); ASSERT_EQ("(->)(c->cv)", Contents()); - env_->SleepForMicroseconds(1000000); // Wait for compaction to finish + DelayMilliseconds(1000); // Wait for compaction to finish ASSERT_EQ("(->)(c->cv)", Contents()); } @@ -1506,6 +1529,30 @@ ASSERT_GE(env_->sleep_counter_.Read(), 5); } +TEST(DBTest, ExponentialBackoff) { + Options options = CurrentOptions(); + options.env = env_; + Reopen(&options); + + ASSERT_OK(Put("foo", "v1")); + ASSERT_EQ("v1", Get("foo")); + Compact("a", "z"); + env_->non_writable_.Release_Store(env_); // Force errors for new files + env_->sleep_counter_.Reset(); + env_->sleep_time_counter_.Reset(); + for (int i = 0; i < 5; i++) { + dbfull()->TEST_CompactRange(2, NULL, NULL); + } + env_->non_writable_.Release_Store(NULL); + + // Wait for compaction to finish + DelayMilliseconds(1000); + + ASSERT_GE(env_->sleep_counter_.Read(), 5); + ASSERT_LT(env_->sleep_counter_.Read(), 10); + ASSERT_GE(env_->sleep_time_counter_.Read(), 10e6); +} + TEST(DBTest, NonWritableFileSystem) { Options options = CurrentOptions(); options.write_buffer_size = 1000; @@ -1519,7 +1566,7 @@ fprintf(stderr, "iter %d; errors %d\n", i, errors); if (!Put("foo", big).ok()) { errors++; - env_->SleepForMicroseconds(100000); + DelayMilliseconds(100); } } ASSERT_GT(errors, 0); @@ -1567,6 +1614,24 @@ } } +TEST(DBTest, MissingSSTFile) { + ASSERT_OK(Put("foo", "bar")); + ASSERT_EQ("bar", Get("foo")); + + // Dump the memtable to disk. + dbfull()->TEST_CompactMemTable(); + ASSERT_EQ("bar", Get("foo")); + + Close(); + ASSERT_TRUE(DeleteAnSSTFile()); + Options options = CurrentOptions(); + options.paranoid_checks = true; + Status s = TryReopen(&options); + ASSERT_TRUE(!s.ok()); + ASSERT_TRUE(s.ToString().find("issing") != std::string::npos) + << s.ToString(); +} + TEST(DBTest, FilesDeletedAfterCompaction) { ASSERT_OK(Put("foo", "v2")); Compact("a", "z"); @@ -1711,13 +1776,13 @@ } // Let them run for a while - env_->SleepForMicroseconds(kTestSeconds * 1000000); + DelayMilliseconds(kTestSeconds * 1000); // Stop the threads and wait for them to finish mt.stop.Release_Store(&mt); for (int id = 0; id < kNumThreads; id++) { while (mt.thread_done[id].Acquire_Load() == NULL) { - env_->SleepForMicroseconds(100000); + DelayMilliseconds(100); } } } while (ChangeOptions()); diff -Nru bitcoin-0.8.1/src/leveldb/db/dbformat.cc bitcoin-0.8.5/src/leveldb/db/dbformat.cc --- bitcoin-0.8.1/src/leveldb/db/dbformat.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/db/dbformat.cc 2013-09-12 03:35:18.000000000 +0000 @@ -26,7 +26,7 @@ (unsigned long long) sequence, int(type)); std::string result = "'"; - result += user_key.ToString(); + result += EscapeString(user_key.ToString()); result += buf; return result; } diff -Nru bitcoin-0.8.1/src/leveldb/db/filename_test.cc bitcoin-0.8.5/src/leveldb/db/filename_test.cc --- bitcoin-0.8.1/src/leveldb/db/filename_test.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/db/filename_test.cc 2013-09-12 03:35:18.000000000 +0000 @@ -70,7 +70,7 @@ for (int i = 0; i < sizeof(errors) / sizeof(errors[0]); i++) { std::string f = errors[i]; ASSERT_TRUE(!ParseFileName(f, &number, &type)) << f; - }; + } } TEST(FileNameTest, Construction) { diff -Nru bitcoin-0.8.1/src/leveldb/db/version_set.cc bitcoin-0.8.5/src/leveldb/db/version_set.cc --- bitcoin-0.8.1/src/leveldb/db/version_set.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/db/version_set.cc 2013-09-12 03:35:18.000000000 +0000 @@ -1331,14 +1331,19 @@ } // Avoid compacting too much in one shot in case the range is large. - const uint64_t limit = MaxFileSizeForLevel(level); - uint64_t total = 0; - for (size_t i = 0; i < inputs.size(); i++) { - uint64_t s = inputs[i]->file_size; - total += s; - if (total >= limit) { - inputs.resize(i + 1); - break; + // But we cannot do this for level-0 since level-0 files can overlap + // and we must not pick one file and drop another older file if the + // two files overlap. + if (level > 0) { + const uint64_t limit = MaxFileSizeForLevel(level); + uint64_t total = 0; + for (size_t i = 0; i < inputs.size(); i++) { + uint64_t s = inputs[i]->file_size; + total += s; + if (total >= limit) { + inputs.resize(i + 1); + break; + } } } diff -Nru bitcoin-0.8.1/src/leveldb/include/leveldb/db.h bitcoin-0.8.5/src/leveldb/include/leveldb/db.h --- bitcoin-0.8.1/src/leveldb/include/leveldb/db.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/include/leveldb/db.h 2013-09-12 03:35:18.000000000 +0000 @@ -14,7 +14,7 @@ // Update Makefile if you change these static const int kMajorVersion = 1; -static const int kMinorVersion = 9; +static const int kMinorVersion = 12; struct Options; struct ReadOptions; diff -Nru bitcoin-0.8.1/src/leveldb/issues/issue178_test.cc bitcoin-0.8.5/src/leveldb/issues/issue178_test.cc --- bitcoin-0.8.1/src/leveldb/issues/issue178_test.cc 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/issues/issue178_test.cc 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,92 @@ +// Copyright (c) 2013 The LevelDB Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. See the AUTHORS file for names of contributors. + +// Test for issue 178: a manual compaction causes deleted data to reappear. +#include +#include +#include + +#include "leveldb/db.h" +#include "leveldb/write_batch.h" +#include "util/testharness.h" + +namespace { + +const int kNumKeys = 1100000; + +std::string Key1(int i) { + char buf[100]; + snprintf(buf, sizeof(buf), "my_key_%d", i); + return buf; +} + +std::string Key2(int i) { + return Key1(i) + "_xxx"; +} + +class Issue178 { }; + +TEST(Issue178, Test) { + // Get rid of any state from an old run. + std::string dbpath = leveldb::test::TmpDir() + "/leveldb_cbug_test"; + DestroyDB(dbpath, leveldb::Options()); + + // Open database. Disable compression since it affects the creation + // of layers and the code below is trying to test against a very + // specific scenario. + leveldb::DB* db; + leveldb::Options db_options; + db_options.create_if_missing = true; + db_options.compression = leveldb::kNoCompression; + ASSERT_OK(leveldb::DB::Open(db_options, dbpath, &db)); + + // create first key range + leveldb::WriteBatch batch; + for (size_t i = 0; i < kNumKeys; i++) { + batch.Put(Key1(i), "value for range 1 key"); + } + ASSERT_OK(db->Write(leveldb::WriteOptions(), &batch)); + + // create second key range + batch.Clear(); + for (size_t i = 0; i < kNumKeys; i++) { + batch.Put(Key2(i), "value for range 2 key"); + } + ASSERT_OK(db->Write(leveldb::WriteOptions(), &batch)); + + // delete second key range + batch.Clear(); + for (size_t i = 0; i < kNumKeys; i++) { + batch.Delete(Key2(i)); + } + ASSERT_OK(db->Write(leveldb::WriteOptions(), &batch)); + + // compact database + std::string start_key = Key1(0); + std::string end_key = Key1(kNumKeys - 1); + leveldb::Slice least(start_key.data(), start_key.size()); + leveldb::Slice greatest(end_key.data(), end_key.size()); + + // commenting out the line below causes the example to work correctly + db->CompactRange(&least, &greatest); + + // count the keys + leveldb::Iterator* iter = db->NewIterator(leveldb::ReadOptions()); + size_t num_keys = 0; + for (iter->SeekToFirst(); iter->Valid(); iter->Next()) { + num_keys++; + } + delete iter; + ASSERT_EQ(kNumKeys, num_keys) << "Bad number of keys"; + + // close database + delete db; + DestroyDB(dbpath, leveldb::Options()); +} + +} // anonymous namespace + +int main(int argc, char** argv) { + return leveldb::test::RunAllTests(); +} diff -Nru bitcoin-0.8.1/src/leveldb/port/port_posix.h bitcoin-0.8.5/src/leveldb/port/port_posix.h --- bitcoin-0.8.1/src/leveldb/port/port_posix.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/port/port_posix.h 2013-09-12 03:35:18.000000000 +0000 @@ -62,12 +62,16 @@ #define fflush_unlocked fflush #endif -#if defined(OS_MACOSX) || defined(OS_FREEBSD) ||\ +#if defined(OS_FREEBSD) ||\ defined(OS_OPENBSD) || defined(OS_DRAGONFLYBSD) // Use fsync() on platforms without fdatasync() #define fdatasync fsync #endif +#if defined(OS_MACOSX) +#define fdatasync(fd) fcntl(fd, F_FULLFSYNC, 0) +#endif + #if defined(OS_ANDROID) && __ANDROID_API__ < 9 // fdatasync() was only introduced in API level 9 on Android. Use fsync() // when targetting older platforms. diff -Nru bitcoin-0.8.1/src/leveldb/port/port_win.cc bitcoin-0.8.5/src/leveldb/port/port_win.cc --- bitcoin-0.8.1/src/leveldb/port/port_win.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/port/port_win.cc 2013-09-12 03:35:18.000000000 +0000 @@ -109,12 +109,10 @@ void CondVar::SignalAll() { wait_mtx_.Lock(); - for(long i = 0; i < waiting_; ++i) { - ::ReleaseSemaphore(sem1_, 1, NULL); - while(waiting_ > 0) { - --waiting_; - ::WaitForSingleObject(sem2_, INFINITE); - } + ::ReleaseSemaphore(sem1_, waiting_, NULL); + while(waiting_ > 0) { + --waiting_; + ::WaitForSingleObject(sem2_, INFINITE); } wait_mtx_.Unlock(); } diff -Nru bitcoin-0.8.1/src/leveldb/table/block.cc bitcoin-0.8.5/src/leveldb/table/block.cc --- bitcoin-0.8.1/src/leveldb/table/block.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/table/block.cc 2013-09-12 03:35:18.000000000 +0000 @@ -16,7 +16,7 @@ namespace leveldb { inline uint32_t Block::NumRestarts() const { - assert(size_ >= 2*sizeof(uint32_t)); + assert(size_ >= sizeof(uint32_t)); return DecodeFixed32(data_ + size_ - sizeof(uint32_t)); } @@ -27,11 +27,12 @@ if (size_ < sizeof(uint32_t)) { size_ = 0; // Error marker } else { - restart_offset_ = size_ - (1 + NumRestarts()) * sizeof(uint32_t); - if (restart_offset_ > size_ - sizeof(uint32_t)) { - // The size is too small for NumRestarts() and therefore - // restart_offset_ wrapped around. + size_t max_restarts_allowed = (size_-sizeof(uint32_t)) / sizeof(uint32_t); + if (NumRestarts() > max_restarts_allowed) { + // The size is too small for NumRestarts() size_ = 0; + } else { + restart_offset_ = size_ - (1 + NumRestarts()) * sizeof(uint32_t); } } } @@ -253,7 +254,7 @@ }; Iterator* Block::NewIterator(const Comparator* cmp) { - if (size_ < 2*sizeof(uint32_t)) { + if (size_ < sizeof(uint32_t)) { return NewErrorIterator(Status::Corruption("bad block contents")); } const uint32_t num_restarts = NumRestarts(); diff -Nru bitcoin-0.8.1/src/leveldb/table/table.cc bitcoin-0.8.5/src/leveldb/table/table.cc --- bitcoin-0.8.1/src/leveldb/table/table.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/table/table.cc 2013-09-12 03:35:18.000000000 +0000 @@ -228,7 +228,6 @@ !filter->KeyMayMatch(handle.offset(), k)) { // Not found } else { - Slice handle = iiter->value(); Iterator* block_iter = BlockReader(this, options, iiter->value()); block_iter->Seek(k); if (block_iter->Valid()) { diff -Nru bitcoin-0.8.1/src/leveldb/table/table_test.cc bitcoin-0.8.5/src/leveldb/table/table_test.cc --- bitcoin-0.8.1/src/leveldb/table/table_test.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/table/table_test.cc 2013-09-12 03:35:18.000000000 +0000 @@ -644,6 +644,36 @@ Constructor* constructor_; }; +// Test empty table/block. +TEST(Harness, Empty) { + for (int i = 0; i < kNumTestArgs; i++) { + Init(kTestArgList[i]); + Random rnd(test::RandomSeed() + 1); + Test(&rnd); + } +} + +// Special test for a block with no restart entries. The C++ leveldb +// code never generates such blocks, but the Java version of leveldb +// seems to. +TEST(Harness, ZeroRestartPointsInBlock) { + char data[sizeof(uint32_t)]; + memset(data, 0, sizeof(data)); + BlockContents contents; + contents.data = Slice(data, sizeof(data)); + contents.cachable = false; + contents.heap_allocated = false; + Block block(contents); + Iterator* iter = block.NewIterator(BytewiseComparator()); + iter->SeekToFirst(); + ASSERT_TRUE(!iter->Valid()); + iter->SeekToLast(); + ASSERT_TRUE(!iter->Valid()); + iter->Seek("foo"); + ASSERT_TRUE(!iter->Valid()); + delete iter; +} + // Test the empty key TEST(Harness, SimpleEmptyKey) { for (int i = 0; i < kNumTestArgs; i++) { diff -Nru bitcoin-0.8.1/src/leveldb/util/cache.cc bitcoin-0.8.5/src/leveldb/util/cache.cc --- bitcoin-0.8.1/src/leveldb/util/cache.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/util/cache.cc 2013-09-12 03:35:18.000000000 +0000 @@ -116,7 +116,6 @@ LRUHandle* h = list_[i]; while (h != NULL) { LRUHandle* next = h->next_hash; - Slice key = h->key(); uint32_t hash = h->hash; LRUHandle** ptr = &new_list[hash & (new_length - 1)]; h->next_hash = *ptr; @@ -160,7 +159,6 @@ // mutex_ protects the following state. port::Mutex mutex_; size_t usage_; - uint64_t last_id_; // Dummy head of LRU list. // lru.prev is newest entry, lru.next is oldest entry. @@ -170,8 +168,7 @@ }; LRUCache::LRUCache() - : usage_(0), - last_id_(0) { + : usage_(0) { // Make empty circular linked list lru_.next = &lru_; lru_.prev = &lru_; diff -Nru bitcoin-0.8.1/src/leveldb/util/coding_test.cc bitcoin-0.8.5/src/leveldb/util/coding_test.cc --- bitcoin-0.8.1/src/leveldb/util/coding_test.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/util/coding_test.cc 2013-09-12 03:35:18.000000000 +0000 @@ -109,7 +109,7 @@ values.push_back(power); values.push_back(power-1); values.push_back(power+1); - }; + } std::string s; for (int i = 0; i < values.size(); i++) { diff -Nru bitcoin-0.8.1/src/leveldb/util/env_posix.cc bitcoin-0.8.5/src/leveldb/util/env_posix.cc --- bitcoin-0.8.1/src/leveldb/util/env_posix.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/util/env_posix.cc 2013-09-12 03:35:18.000000000 +0000 @@ -386,7 +386,7 @@ PosixEnv(); virtual ~PosixEnv() { fprintf(stderr, "Destroying Env::Default()\n"); - exit(1); + abort(); } virtual Status NewSequentialFile(const std::string& fname, @@ -467,7 +467,7 @@ result = IOError(fname, errno); } return result; - }; + } virtual Status CreateDir(const std::string& name) { Status result; @@ -475,7 +475,7 @@ result = IOError(name, errno); } return result; - }; + } virtual Status DeleteDir(const std::string& name) { Status result; @@ -483,7 +483,7 @@ result = IOError(name, errno); } return result; - }; + } virtual Status GetFileSize(const std::string& fname, uint64_t* size) { Status s; @@ -589,7 +589,7 @@ void PthreadCall(const char* label, int result) { if (result != 0) { fprintf(stderr, "pthread %s: %s\n", label, strerror(result)); - exit(1); + abort(); } } diff -Nru bitcoin-0.8.1/src/leveldb/util/env_win.cc bitcoin-0.8.5/src/leveldb/util/env_win.cc --- bitcoin-0.8.1/src/leveldb/util/env_win.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/util/env_win.cc 2013-09-12 03:35:18.000000000 +0000 @@ -420,7 +420,7 @@ { BOOL bRet = FALSE; if(!_hFile) - _hFile = ::CreateFileW(path,GENERIC_READ,0,NULL,OPEN_EXISTING, + _hFile = ::CreateFileW(path,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS,NULL); if(!_hFile || _hFile == INVALID_HANDLE_VALUE ) _hFile = NULL; @@ -462,8 +462,8 @@ // Defer syncing this data until next Sync() call, if any _pending_sync = true; } - UnmapViewOfFile(_base); - CloseHandle(_base_handle); + if (!UnmapViewOfFile(_base) || !CloseHandle(_base_handle)) + result = false; _file_offset += _limit - _base; _base = NULL; _base_handle = NULL; @@ -971,7 +971,7 @@ if(!pFile->isEnable()){ delete pFile; *result = NULL; - sRet = Status::IOError(path,"Could not create random access file."); + sRet = Status::IOError(path, Win32::GetLastErrSz()); }else *result = pFile; return sRet; diff -Nru bitcoin-0.8.1/src/leveldb/util/hash.cc bitcoin-0.8.5/src/leveldb/util/hash.cc --- bitcoin-0.8.1/src/leveldb/util/hash.cc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb/util/hash.cc 2013-09-12 03:35:18.000000000 +0000 @@ -6,6 +6,13 @@ #include "util/coding.h" #include "util/hash.h" +// The FALLTHROUGH_INTENDED macro can be used to annotate implicit fall-through +// between switch labels. The real definition should be provided externally. +// This one is a fallback version for unsupported compilers. +#ifndef FALLTHROUGH_INTENDED +#define FALLTHROUGH_INTENDED do { } while (0) +#endif + namespace leveldb { uint32_t Hash(const char* data, size_t n, uint32_t seed) { @@ -28,10 +35,10 @@ switch (limit - data) { case 3: h += data[2] << 16; - // fall through + FALLTHROUGH_INTENDED; case 2: h += data[1] << 8; - // fall through + FALLTHROUGH_INTENDED; case 1: h += data[0]; h *= m; diff -Nru bitcoin-0.8.1/src/leveldb.cpp bitcoin-0.8.5/src/leveldb.cpp --- bitcoin-0.8.1/src/leveldb.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/leveldb.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -30,6 +30,7 @@ options.write_buffer_size = nCacheSize / 4; // up to two write buffers may be held in memory simultaneously options.filter_policy = leveldb::NewBloomFilterPolicy(10); options.compression = leveldb::kNoCompression; + options.max_open_files = 64; return options; } diff -Nru bitcoin-0.8.1/src/limitedmap.h bitcoin-0.8.5/src/limitedmap.h --- bitcoin-0.8.1/src/limitedmap.h 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/limitedmap.h 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,100 @@ +// Copyright (c) 2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. +#ifndef BITCOIN_LIMITEDMAP_H +#define BITCOIN_LIMITEDMAP_H + +#include +#include + +/** STL-like map container that only keeps the N elements with the highest value. */ +template class limitedmap +{ +public: + typedef K key_type; + typedef V mapped_type; + typedef std::pair value_type; + typedef typename std::map::const_iterator const_iterator; + typedef typename std::map::size_type size_type; + +protected: + std::map map; + typedef typename std::map::iterator iterator; + std::multimap rmap; + typedef typename std::multimap::iterator rmap_iterator; + size_type nMaxSize; + +public: + limitedmap(size_type nMaxSizeIn = 0) { nMaxSize = nMaxSizeIn; } + const_iterator begin() const { return map.begin(); } + const_iterator end() const { return map.end(); } + size_type size() const { return map.size(); } + bool empty() const { return map.empty(); } + const_iterator find(const key_type& k) const { return map.find(k); } + size_type count(const key_type& k) const { return map.count(k); } + void insert(const value_type& x) + { + std::pair ret = map.insert(x); + if (ret.second) + { + if (nMaxSize && map.size() == nMaxSize) + { + map.erase(rmap.begin()->second); + rmap.erase(rmap.begin()); + } + rmap.insert(make_pair(x.second, ret.first)); + } + return; + } + void erase(const key_type& k) + { + iterator itTarget = map.find(k); + if (itTarget == map.end()) + return; + std::pair itPair = rmap.equal_range(itTarget->second); + for (rmap_iterator it = itPair.first; it != itPair.second; ++it) + if (it->second == itTarget) + { + rmap.erase(it); + map.erase(itTarget); + return; + } + // Shouldn't ever get here + assert(0); //TODO remove me + map.erase(itTarget); + } + void update(const_iterator itIn, const mapped_type& v) + { + //TODO: When we switch to C++11, use map.erase(itIn, itIn) to get the non-const iterator + iterator itTarget = map.find(itIn->first); + if (itTarget == map.end()) + return; + std::pair itPair = rmap.equal_range(itTarget->second); + for (rmap_iterator it = itPair.first; it != itPair.second; ++it) + if (it->second == itTarget) + { + rmap.erase(it); + itTarget->second = v; + rmap.insert(make_pair(v, itTarget)); + return; + } + // Shouldn't ever get here + assert(0); //TODO remove me + itTarget->second = v; + rmap.insert(make_pair(v, itTarget)); + } + size_type max_size() const { return nMaxSize; } + size_type max_size(size_type s) + { + if (s) + while (map.size() > s) + { + map.erase(rmap.begin()->second); + rmap.erase(rmap.begin()); + } + nMaxSize = s; + return nMaxSize; + } +}; + +#endif diff -Nru bitcoin-0.8.1/src/main.cpp bitcoin-0.8.5/src/main.cpp --- bitcoin-0.8.1/src/main.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/main.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -35,8 +35,8 @@ static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); CBlockIndex* pindexGenesisBlock = NULL; int nBestHeight = -1; -CBigNum bnBestChainWork = 0; -CBigNum bnBestInvalidWork = 0; +uint256 nBestChainWork = 0; +uint256 nBestInvalidWork = 0; uint256 hashBestChain = 0; CBlockIndex* pindexBest = NULL; set setBlockIndexValid; // may contain all CBlockIndex*'s that have validness >=BLOCK_VALID_TRANSACTIONS, and must contain those who aren't failed @@ -48,21 +48,26 @@ bool fTxIndex = false; unsigned int nCoinCacheSize = 5000; +/** Fees smaller than this (in satoshi) are considered zero fee (for transaction creation) */ +int64 CTransaction::nMinTxFee = 10000; // Override with -mintxfee +/** Fees smaller than this (in satoshi) are considered zero fee (for relaying) */ +int64 CTransaction::nMinRelayTxFee = 10000; + CMedianFilter cPeerBlockCounts(8, 0); // Amount of blocks that other nodes claim to have map mapOrphanBlocks; multimap mapOrphanBlocksByPrev; -map mapOrphanTransactions; -map > mapOrphanTransactionsByPrev; +map mapOrphanTransactions; +map > mapOrphanTransactionsByPrev; // Constant stuff for coinbase transactions we create: CScript COINBASE_FLAGS; const string strMessageMagic = "Bitcoin Signed Message:\n"; -double dHashesPerSec; -int64 nHPSTimerStart; +double dHashesPerSec = 0.0; +int64 nHPSTimerStart = 0; // Settings int64 nTransactionFee = 0; @@ -162,9 +167,9 @@ // CCoinsView implementations // -bool CCoinsView::GetCoins(uint256 txid, CCoins &coins) { return false; } -bool CCoinsView::SetCoins(uint256 txid, const CCoins &coins) { return false; } -bool CCoinsView::HaveCoins(uint256 txid) { return false; } +bool CCoinsView::GetCoins(const uint256 &txid, CCoins &coins) { return false; } +bool CCoinsView::SetCoins(const uint256 &txid, const CCoins &coins) { return false; } +bool CCoinsView::HaveCoins(const uint256 &txid) { return false; } CBlockIndex *CCoinsView::GetBestBlock() { return NULL; } bool CCoinsView::SetBestBlock(CBlockIndex *pindex) { return false; } bool CCoinsView::BatchWrite(const std::map &mapCoins, CBlockIndex *pindex) { return false; } @@ -172,9 +177,9 @@ CCoinsViewBacked::CCoinsViewBacked(CCoinsView &viewIn) : base(&viewIn) { } -bool CCoinsViewBacked::GetCoins(uint256 txid, CCoins &coins) { return base->GetCoins(txid, coins); } -bool CCoinsViewBacked::SetCoins(uint256 txid, const CCoins &coins) { return base->SetCoins(txid, coins); } -bool CCoinsViewBacked::HaveCoins(uint256 txid) { return base->HaveCoins(txid); } +bool CCoinsViewBacked::GetCoins(const uint256 &txid, CCoins &coins) { return base->GetCoins(txid, coins); } +bool CCoinsViewBacked::SetCoins(const uint256 &txid, const CCoins &coins) { return base->SetCoins(txid, coins); } +bool CCoinsViewBacked::HaveCoins(const uint256 &txid) { return base->HaveCoins(txid); } CBlockIndex *CCoinsViewBacked::GetBestBlock() { return base->GetBestBlock(); } bool CCoinsViewBacked::SetBestBlock(CBlockIndex *pindex) { return base->SetBestBlock(pindex); } void CCoinsViewBacked::SetBackend(CCoinsView &viewIn) { base = &viewIn; } @@ -183,7 +188,7 @@ CCoinsViewCache::CCoinsViewCache(CCoinsView &baseIn, bool fDummy) : CCoinsViewBacked(baseIn), pindexTip(NULL) { } -bool CCoinsViewCache::GetCoins(uint256 txid, CCoins &coins) { +bool CCoinsViewCache::GetCoins(const uint256 &txid, CCoins &coins) { if (cacheCoins.count(txid)) { coins = cacheCoins[txid]; return true; @@ -195,29 +200,30 @@ return false; } -std::map::iterator CCoinsViewCache::FetchCoins(uint256 txid) { - std::map::iterator it = cacheCoins.find(txid); - if (it != cacheCoins.end()) +std::map::iterator CCoinsViewCache::FetchCoins(const uint256 &txid) { + std::map::iterator it = cacheCoins.lower_bound(txid); + if (it != cacheCoins.end() && it->first == txid) return it; CCoins tmp; if (!base->GetCoins(txid,tmp)) - return it; - std::pair::iterator,bool> ret = cacheCoins.insert(std::make_pair(txid, tmp)); - return ret.first; + return cacheCoins.end(); + std::map::iterator ret = cacheCoins.insert(it, std::make_pair(txid, CCoins())); + tmp.swap(ret->second); + return ret; } -CCoins &CCoinsViewCache::GetCoins(uint256 txid) { +CCoins &CCoinsViewCache::GetCoins(const uint256 &txid) { std::map::iterator it = FetchCoins(txid); assert(it != cacheCoins.end()); return it->second; } -bool CCoinsViewCache::SetCoins(uint256 txid, const CCoins &coins) { +bool CCoinsViewCache::SetCoins(const uint256 &txid, const CCoins &coins) { cacheCoins[txid] = coins; return true; } -bool CCoinsViewCache::HaveCoins(uint256 txid) { +bool CCoinsViewCache::HaveCoins(const uint256 &txid) { return FetchCoins(txid) != cacheCoins.end(); } @@ -254,7 +260,7 @@ It does not check for spendings by memory pool transactions. */ CCoinsViewMemPool::CCoinsViewMemPool(CCoinsView &baseIn, CTxMemPool &mempoolIn) : CCoinsViewBacked(baseIn), mempool(mempoolIn) { } -bool CCoinsViewMemPool::GetCoins(uint256 txid, CCoins &coins) { +bool CCoinsViewMemPool::GetCoins(const uint256 &txid, CCoins &coins) { if (base->GetCoins(txid, coins)) return true; if (mempool.exists(txid)) { @@ -265,7 +271,7 @@ return false; } -bool CCoinsViewMemPool::HaveCoins(uint256 txid) { +bool CCoinsViewMemPool::HaveCoins(const uint256 &txid) { return mempool.exists(txid) || base->HaveCoins(txid); } @@ -277,16 +283,12 @@ // mapOrphanTransactions // -bool AddOrphanTx(const CDataStream& vMsg) +bool AddOrphanTx(const CTransaction& tx) { - CTransaction tx; - CDataStream(vMsg) >> tx; uint256 hash = tx.GetHash(); if (mapOrphanTransactions.count(hash)) return false; - CDataStream* pvMsg = new CDataStream(vMsg); - // Ignore big transactions, to avoid a // send-big-orphans memory exhaustion attack. If a peer has a legitimate // large transaction with a missing parent then we assume @@ -294,18 +296,18 @@ // have been mined or received. // 10,000 orphans, each of which is at most 5,000 bytes big is // at most 500 megabytes of orphans: - if (pvMsg->size() > 5000) + unsigned int sz = tx.GetSerializeSize(SER_NETWORK, CTransaction::CURRENT_VERSION); + if (sz > 5000) { - printf("ignoring large orphan tx (size: %"PRIszu", hash: %s)\n", pvMsg->size(), hash.ToString().substr(0,10).c_str()); - delete pvMsg; + printf("ignoring large orphan tx (size: %u, hash: %s)\n", sz, hash.ToString().c_str()); return false; } - mapOrphanTransactions[hash] = pvMsg; + mapOrphanTransactions[hash] = tx; BOOST_FOREACH(const CTxIn& txin, tx.vin) - mapOrphanTransactionsByPrev[txin.prevout.hash].insert(make_pair(hash, pvMsg)); + mapOrphanTransactionsByPrev[txin.prevout.hash].insert(hash); - printf("stored orphan tx %s (mapsz %"PRIszu")\n", hash.ToString().substr(0,10).c_str(), + printf("stored orphan tx %s (mapsz %"PRIszu")\n", hash.ToString().c_str(), mapOrphanTransactions.size()); return true; } @@ -314,16 +316,13 @@ { if (!mapOrphanTransactions.count(hash)) return; - const CDataStream* pvMsg = mapOrphanTransactions[hash]; - CTransaction tx; - CDataStream(*pvMsg) >> tx; + const CTransaction& tx = mapOrphanTransactions[hash]; BOOST_FOREACH(const CTxIn& txin, tx.vin) { mapOrphanTransactionsByPrev[txin.prevout.hash].erase(hash); if (mapOrphanTransactionsByPrev[txin.prevout.hash].empty()) mapOrphanTransactionsByPrev.erase(txin.prevout.hash); } - delete pvMsg; mapOrphanTransactions.erase(hash); } @@ -334,7 +333,7 @@ { // Evict a random orphan: uint256 randomhash = GetRandHash(); - map::iterator it = mapOrphanTransactions.lower_bound(randomhash); + map::iterator it = mapOrphanTransactions.lower_bound(randomhash); if (it == mapOrphanTransactions.end()) it = mapOrphanTransactions.begin(); EraseOrphanTx(it->first); @@ -351,12 +350,25 @@ ////////////////////////////////////////////////////////////////////////////// // -// CTransaction +// CTransaction / CTxOut // +bool CTxOut::IsDust() const +{ + // "Dust" is defined in terms of CTransaction::nMinRelayTxFee, + // which has units satoshis-per-kilobyte. + // If you'd pay more than 1/3 in fees + // to spend something, then we consider it dust. + // A typical txout is 33 bytes big, and will + // need a CTxIn of at least 148 bytes to spend, + // so dust is a txout less than 54 uBTC + // (5430 satoshis) with default nMinRelayTxFee + return ((nValue*1000)/(3*((int)GetSerializeSize(SER_DISK,0)+148)) < CTransaction::nMinRelayTxFee); +} + bool CTransaction::IsStandard() const { - if (nVersion > CTransaction::CURRENT_VERSION) + if (nVersion > CTransaction::CURRENT_VERSION || nVersion < 1) return false; if (!IsFinal()) @@ -383,7 +395,7 @@ BOOST_FOREACH(const CTxOut& txout, vout) { if (!::IsStandard(txout.scriptPubKey)) return false; - if (txout.nValue == 0) + if (txout.IsDust()) return false; } return true; @@ -454,8 +466,7 @@ return true; } -unsigned int -CTransaction::GetLegacySigOpCount() const +unsigned int CTransaction::GetLegacySigOpCount() const { unsigned int nSigOps = 0; BOOST_FOREACH(const CTxIn& txin, vin) @@ -574,8 +585,8 @@ int64 CTransaction::GetMinFee(unsigned int nBlockSize, bool fAllowFree, enum GetMinFee_mode mode) const { - // Base fee is either MIN_TX_FEE or MIN_RELAY_TX_FEE - int64 nBaseFee = (mode == GMF_RELAY) ? MIN_RELAY_TX_FEE : MIN_TX_FEE; + // Base fee is either nMinTxFee or nMinRelayTxFee + int64 nBaseFee = (mode == GMF_RELAY) ? nMinRelayTxFee : nMinTxFee; unsigned int nBytes = ::GetSerializeSize(*this, SER_NETWORK, PROTOCOL_VERSION); unsigned int nNewBlockSize = nBlockSize + nBytes; @@ -598,7 +609,7 @@ } } - // To limit dust spam, require MIN_TX_FEE/MIN_RELAY_TX_FEE if any output is less than 0.01 + // To limit dust spam, require base fee if any output is less than 0.01 if (nMinFee < nBaseFee) { BOOST_FOREACH(const CTxOut& txout, vout) @@ -746,7 +757,7 @@ // Continuously rate-limit free transactions // This mitigates 'penny-flooding' -- sending thousands of free transactions just to // be annoying or make others' transactions take longer to confirm. - if (fLimitFree && nFees < MIN_RELAY_TX_FEE) + if (fLimitFree && nFees < CTransaction::nMinRelayTxFee) { static double dFreeCount; static int64 nLastTime; @@ -768,9 +779,9 @@ // Check against previous transactions // This is done last to help prevent CPU exhaustion denial-of-service attacks. - if (!tx.CheckInputs(state, view, true, SCRIPT_VERIFY_P2SH)) + if (!tx.CheckInputs(state, view, true, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC)) { - return error("CTxMemPool::accept() : ConnectInputs failed %s", hash.ToString().substr(0,10).c_str()); + return error("CTxMemPool::accept() : ConnectInputs failed %s", hash.ToString().c_str()); } } @@ -792,7 +803,7 @@ SyncWithWallets(hash, tx, NULL, true); printf("CTxMemPool::accept() : accepted %s (poolsz %"PRIszu")\n", - hash.ToString().substr(0,10).c_str(), + hash.ToString().c_str(), mapTx.size()); return true; } @@ -806,7 +817,7 @@ } } -bool CTxMemPool::addUnchecked(const uint256& hash, CTransaction &tx) +bool CTxMemPool::addUnchecked(const uint256& hash, const CTransaction &tx) { // Add to memory pool without checking anything. Don't call this directly, // call CTxMemPool::accept to properly check the transaction first. @@ -826,15 +837,15 @@ { LOCK(cs); uint256 hash = tx.GetHash(); + if (fRecursive) { + for (unsigned int i = 0; i < tx.vout.size(); i++) { + std::map::iterator it = mapNextTx.find(COutPoint(hash, i)); + if (it != mapNextTx.end()) + remove(*it->second.ptx, true); + } + } if (mapTx.count(hash)) { - if (fRecursive) { - for (unsigned int i = 0; i < tx.vout.size(); i++) { - std::map::iterator it = mapNextTx.find(COutPoint(hash, i)); - if (it != mapNextTx.end()) - remove(*it->second.ptx, true); - } - } BOOST_FOREACH(const CTxIn& txin, tx.vin) mapNextTx.erase(txin.prevout); mapTx.erase(hash); @@ -1176,7 +1187,7 @@ bool IsInitialBlockDownload() { - if (pindexBest == NULL || nBestHeight < Checkpoints::GetTotalBlocksEstimate() || fReindex || fImporting) + if (pindexBest == NULL || fImporting || fReindex || nBestHeight < Checkpoints::GetTotalBlocksEstimate()) return true; static int64 nLastUpdate; static CBlockIndex* pindexLastBest; @@ -1191,20 +1202,20 @@ void static InvalidChainFound(CBlockIndex* pindexNew) { - if (pindexNew->bnChainWork > bnBestInvalidWork) + if (pindexNew->nChainWork > nBestInvalidWork) { - bnBestInvalidWork = pindexNew->bnChainWork; - pblocktree->WriteBestInvalidWork(bnBestInvalidWork); + nBestInvalidWork = pindexNew->nChainWork; + pblocktree->WriteBestInvalidWork(CBigNum(nBestInvalidWork)); uiInterface.NotifyBlocksChanged(); } - printf("InvalidChainFound: invalid block=%s height=%d work=%s date=%s\n", - BlockHashStr(pindexNew->GetBlockHash()).c_str(), pindexNew->nHeight, - pindexNew->bnChainWork.ToString().c_str(), DateTimeStrFormat("%Y-%m-%d %H:%M:%S", + printf("InvalidChainFound: invalid block=%s height=%d log2_work=%.8g date=%s\n", + pindexNew->GetBlockHash().ToString().c_str(), pindexNew->nHeight, + log(pindexNew->nChainWork.getdouble())/log(2.0), DateTimeStrFormat("%Y-%m-%d %H:%M:%S", pindexNew->GetBlockTime()).c_str()); - printf("InvalidChainFound: current best=%s height=%d work=%s date=%s\n", - BlockHashStr(hashBestChain).c_str(), nBestHeight, bnBestChainWork.ToString().c_str(), + printf("InvalidChainFound: current best=%s height=%d log2_work=%.8g date=%s\n", + hashBestChain.ToString().c_str(), nBestHeight, log(nBestChainWork.getdouble())/log(2.0), DateTimeStrFormat("%Y-%m-%d %H:%M:%S", pindexBest->GetBlockTime()).c_str()); - if (pindexBest && bnBestInvalidWork > bnBestChainWork + pindexBest->GetBlockWork() * 6) + if (pindexBest && nBestInvalidWork > nBestChainWork + (pindexBest->GetBlockWork() * 6).getuint256()) printf("InvalidChainFound: Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.\n"); } @@ -1230,7 +1241,7 @@ pindexNewBest = *it; } - if (pindexNewBest == pindexBest || (pindexBest && pindexNewBest->bnChainWork == pindexBest->bnChainWork)) + if (pindexNewBest == pindexBest || (pindexBest && pindexNewBest->nChainWork == pindexBest->nChainWork)) return true; // nothing to do // check ancestry @@ -1250,14 +1261,13 @@ break; } - if (pindexBest == NULL || pindexTest->bnChainWork > pindexBest->bnChainWork) + if (pindexBest == NULL || pindexTest->nChainWork > pindexBest->nChainWork) vAttach.push_back(pindexTest); if (pindexTest->pprev == NULL || pindexTest->pnext != NULL) { reverse(vAttach.begin(), vAttach.end()); BOOST_FOREACH(CBlockIndex *pindexSwitch, vAttach) { - if (fRequestShutdown) - break; + boost::this_thread::interruption_point(); try { if (!SetBestChain(state, pindexSwitch)) return false; @@ -1325,7 +1335,7 @@ return nSigOps; } -bool CTransaction::UpdateCoins(CValidationState &state, CCoinsViewCache &inputs, CTxUndo &txundo, int nHeight, const uint256 &txhash) const +void CTransaction::UpdateCoins(CValidationState &state, CCoinsViewCache &inputs, CTxUndo &txundo, int nHeight, const uint256 &txhash) const { // mark inputs spent if (!IsCoinBase()) { @@ -1339,8 +1349,6 @@ // add outputs assert(inputs.SetCoins(txhash, CCoins(*this, nHeight))); - - return true; } bool CTransaction::HaveInputs(CCoinsViewCache &inputs) const @@ -1367,7 +1375,7 @@ bool CScriptCheck::operator()() const { const CScript &scriptSig = ptxTo->vin[nIn].scriptSig; if (!VerifyScript(scriptSig, scriptPubKey, *ptxTo, nIn, nFlags, nHashType)) - return error("CScriptCheck() : %s VerifySignature failed", ptxTo->GetHash().ToString().substr(0,10).c_str()); + return error("CScriptCheck() : %s VerifySignature failed", ptxTo->GetHash().ToString().c_str()); return true; } @@ -1386,7 +1394,7 @@ // This doesn't trigger the DoS code on purpose; if it did, it would make it easier // for an attacker to attempt to split the network. if (!HaveInputs(inputs)) - return state.Invalid(error("CheckInputs() : %s inputs unavailable", GetHash().ToString().substr(0,10).c_str())); + return state.Invalid(error("CheckInputs() : %s inputs unavailable", GetHash().ToString().c_str())); // While checking, GetBestBlock() refers to the parent block. // This is also true for mempool checks. @@ -1412,12 +1420,12 @@ } if (nValueIn < GetValueOut()) - return state.DoS(100, error("CheckInputs() : %s value in < value out", GetHash().ToString().substr(0,10).c_str())); + return state.DoS(100, error("CheckInputs() : %s value in < value out", GetHash().ToString().c_str())); // Tally transaction fees int64 nTxFee = nValueIn - GetValueOut(); if (nTxFee < 0) - return state.DoS(100, error("CheckInputs() : %s nTxFee < 0", GetHash().ToString().substr(0,10).c_str())); + return state.DoS(100, error("CheckInputs() : %s nTxFee < 0", GetHash().ToString().c_str())); nFees += nTxFee; if (!MoneyRange(nFees)) return state.DoS(100, error("CheckInputs() : nFees out of range")); @@ -1439,8 +1447,16 @@ if (pvChecks) { pvChecks->push_back(CScriptCheck()); check.swap(pvChecks->back()); - } else if (!check()) + } else if (!check()) { + if (flags & SCRIPT_VERIFY_STRICTENC) { + // For now, check whether the failure was caused by non-canonical + // encodings or not; if so, don't trigger DoS protection. + CScriptCheck check(coins, *this, i, flags & (~SCRIPT_VERIFY_STRICTENC), 0); + if (check()) + return state.Invalid(); + } return state.DoS(100,false); + } } } } @@ -1483,6 +1499,11 @@ CCoins &outs = view.GetCoins(hash); CCoins outsBlock = CCoins(tx, pindex->nHeight); + // The CCoins serialization does not serialize negative numbers. + // No network rules currently depend on the version here, so an inconsistency is harmless + // but it must be corrected before txout nversion ever influences a network rule. + if (outsBlock.nVersion < 0) + outs.nVersion = outsBlock.nVersion; if (outs != outsBlock) fClean = fClean && error("DisconnectBlock() : added transaction mismatch? database corrupted"); @@ -1533,7 +1554,7 @@ } } -void static FlushBlockFile() +void static FlushBlockFile(bool fFinalize = false) { LOCK(cs_LastBlockFile); @@ -1541,12 +1562,16 @@ FILE *fileOld = OpenBlockFile(posOld); if (fileOld) { + if (fFinalize) + TruncateFile(fileOld, infoLastBlockFile.nSize); FileCommit(fileOld); fclose(fileOld); } fileOld = OpenUndoFile(posOld); if (fileOld) { + if (fFinalize) + TruncateFile(fileOld, infoLastBlockFile.nUndoSize); FileCommit(fileOld); fclose(fileOld); } @@ -1556,15 +1581,9 @@ static CCheckQueue scriptcheckqueue(128); -void ThreadScriptCheck(void*) { - vnThreadsRunning[THREAD_SCRIPTCHECK]++; +void ThreadScriptCheck() { RenameThread("bitcoin-scriptch"); scriptcheckqueue.Thread(); - vnThreadsRunning[THREAD_SCRIPTCHECK]--; -} - -void ThreadScriptCheckQuit() { - scriptcheckqueue.Quit(); } bool CBlock::ConnectBlock(CValidationState &state, CBlockIndex* pindex, CCoinsViewCache &view, bool fJustCheck) @@ -1629,7 +1648,6 @@ vPos.reserve(vtx.size()); for (unsigned int i=0; inHeight, GetTxHash(i))) - return error("ConnectBlock() : UpdateInputs failed"); + tx.UpdateCoins(state, view, txundo, pindex->nHeight, GetTxHash(i)); if (!tx.IsCoinBase()) blockundo.vtxundo.push_back(txundo); @@ -1754,28 +1771,28 @@ reverse(vConnect.begin(), vConnect.end()); if (vDisconnect.size() > 0) { - printf("REORGANIZE: Disconnect %"PRIszu" blocks; %s..%s\n", vDisconnect.size(), BlockHashStr(pfork->GetBlockHash()).c_str(), BlockHashStr(pindexBest->GetBlockHash()).c_str()); - printf("REORGANIZE: Connect %"PRIszu" blocks; %s..%s\n", vConnect.size(), BlockHashStr(pfork->GetBlockHash()).c_str(), BlockHashStr(pindexNew->GetBlockHash()).c_str()); + printf("REORGANIZE: Disconnect %"PRIszu" blocks; %s..\n", vDisconnect.size(), pfork->GetBlockHash().ToString().c_str()); + printf("REORGANIZE: Connect %"PRIszu" blocks; ..%s\n", vConnect.size(), pindexNew->GetBlockHash().ToString().c_str()); } // Disconnect shorter branch - vector vResurrect; + list vResurrect; BOOST_FOREACH(CBlockIndex* pindex, vDisconnect) { CBlock block; if (!block.ReadFromDisk(pindex)) return state.Abort(_("Failed to read block")); int64 nStart = GetTimeMicros(); if (!block.DisconnectBlock(state, pindex, view)) - return error("SetBestBlock() : DisconnectBlock %s failed", BlockHashStr(pindex->GetBlockHash()).c_str()); + return error("SetBestBlock() : DisconnectBlock %s failed", pindex->GetBlockHash().ToString().c_str()); if (fBenchmark) printf("- Disconnect: %.2fms\n", (GetTimeMicros() - nStart) * 0.001); // Queue memory transactions to resurrect. // We only do this for blocks after the last checkpoint (reorganisation before that // point should only happen with -reindex/-loadblock, or a misbehaving peer. - BOOST_FOREACH(const CTransaction& tx, block.vtx) + BOOST_REVERSE_FOREACH(const CTransaction& tx, block.vtx) if (!tx.IsCoinBase() && pindex->nHeight > Checkpoints::GetTotalBlocksEstimate()) - vResurrect.push_back(tx); + vResurrect.push_front(tx); } // Connect longer branch @@ -1790,10 +1807,10 @@ InvalidChainFound(pindexNew); InvalidBlockFound(pindex); } - return error("SetBestBlock() : ConnectBlock %s failed", BlockHashStr(pindex->GetBlockHash()).c_str()); + return error("SetBestBlock() : ConnectBlock %s failed", pindex->GetBlockHash().ToString().c_str()); } if (fBenchmark) - printf("- Connect: %.2fms\n", (GetTimeMicros() - nStart) * 0.001); + printf("- Connect: %.2fms\n", (GetTimeMicros() - nStart) * 0.001); // Queue memory transactions to delete BOOST_FOREACH(const CTransaction& tx, block.vtx) @@ -1841,7 +1858,8 @@ BOOST_FOREACH(CTransaction& tx, vResurrect) { // ignore validation errors in resurrected transactions CValidationState stateDummy; - tx.AcceptToMemoryPool(stateDummy, true, false); + if (!tx.AcceptToMemoryPool(stateDummy, true, false)) + mempool.remove(tx, true); } // Delete redundant memory transactions that are in the connected branch @@ -1851,7 +1869,7 @@ } // Update best block in wallet (so we can detect restored wallets) - if (!fIsInitialDownload) + if ((pindexNew->nHeight % 20160) == 0 || (!fIsInitialDownload && (pindexNew->nHeight % 144) == 0)) { const CBlockLocator locator(pindexNew); ::SetBestChain(locator); @@ -1862,12 +1880,13 @@ pindexBest = pindexNew; pblockindexFBBHLast = NULL; nBestHeight = pindexBest->nHeight; - bnBestChainWork = pindexNew->bnChainWork; + nBestChainWork = pindexNew->nChainWork; nTimeBestReceived = GetTime(); nTransactionsUpdated++; - printf("SetBestChain: new best=%s height=%d work=%s tx=%lu date=%s\n", - BlockHashStr(hashBestChain).c_str(), nBestHeight, bnBestChainWork.ToString().c_str(), (unsigned long)pindexNew->nChainTx, - DateTimeStrFormat("%Y-%m-%d %H:%M:%S", pindexBest->GetBlockTime()).c_str()); + printf("SetBestChain: new best=%s height=%d log2_work=%.8g tx=%lu date=%s progress=%f\n", + hashBestChain.ToString().c_str(), nBestHeight, log(nBestChainWork.getdouble())/log(2.0), (unsigned long)pindexNew->nChainTx, + DateTimeStrFormat("%Y-%m-%d %H:%M:%S", pindexBest->GetBlockTime()).c_str(), + Checkpoints::GuessVerificationProgress(pindexBest)); // Check the version of the last 100 blocks to see if we need to upgrade: if (!fIsInitialDownload) @@ -1904,7 +1923,7 @@ // Check for duplicate uint256 hash = GetHash(); if (mapBlockIndex.count(hash)) - return state.Invalid(error("AddToBlockIndex() : %s already exists", BlockHashStr(hash).c_str())); + return state.Invalid(error("AddToBlockIndex() : %s already exists", hash.ToString().c_str())); // Construct new block index object CBlockIndex* pindexNew = new CBlockIndex(*this); @@ -1918,7 +1937,7 @@ pindexNew->nHeight = pindexNew->pprev->nHeight + 1; } pindexNew->nTx = vtx.size(); - pindexNew->bnChainWork = (pindexNew->pprev ? pindexNew->pprev->bnChainWork : 0) + pindexNew->GetBlockWork(); + pindexNew->nChainWork = (pindexNew->pprev ? pindexNew->pprev->nChainWork : 0) + pindexNew->GetBlockWork().getuint256(); pindexNew->nChainTx = (pindexNew->pprev ? pindexNew->pprev->nChainTx : 0) + pindexNew->nTx; pindexNew->nFile = pos.nFile; pindexNew->nDataPos = pos.nPos; @@ -1965,7 +1984,7 @@ } else { while (infoLastBlockFile.nSize + nAddSize >= MAX_BLOCKFILE_SIZE) { printf("Leaving block file %i: %s\n", nLastBlockFile, infoLastBlockFile.ToString().c_str()); - FlushBlockFile(); + FlushBlockFile(true); nLastBlockFile++; infoLastBlockFile.SetNull(); pblocktree->ReadBlockFileInfo(nLastBlockFile, infoLastBlockFile); // check whether data for the new file somehow already exist; can fail just fine @@ -2172,7 +2191,8 @@ (fTestNet && CBlockIndex::IsSuperMajority(2, pindexPrev, 51, 100))) { CScript expect = CScript() << nHeight; - if (!std::equal(expect.begin(), expect.end(), vtx[0].vin[0].scriptSig.begin())) + if (vtx[0].vin[0].scriptSig.size() < expect.size() || + !std::equal(expect.begin(), expect.end(), vtx[0].vin[0].scriptSig.begin())) return state.DoS(100, error("AcceptBlock() : block height mismatch in coinbase")); } } @@ -2225,9 +2245,9 @@ // Check for duplicate uint256 hash = pblock->GetHash(); if (mapBlockIndex.count(hash)) - return state.Invalid(error("ProcessBlock() : already have block %d %s", mapBlockIndex[hash]->nHeight, BlockHashStr(hash).c_str())); + return state.Invalid(error("ProcessBlock() : already have block %d %s", mapBlockIndex[hash]->nHeight, hash.ToString().c_str())); if (mapOrphanBlocks.count(hash)) - return state.Invalid(error("ProcessBlock() : already have block (orphan) %s", BlockHashStr(hash).c_str())); + return state.Invalid(error("ProcessBlock() : already have block (orphan) %s", hash.ToString().c_str())); // Preliminary checks if (!pblock->CheckBlock(state)) @@ -2256,7 +2276,7 @@ // If we don't already have its previous block, shunt it off to holding area until we get it if (pblock->hashPrevBlock != 0 && !mapBlockIndex.count(pblock->hashPrevBlock)) { - printf("ProcessBlock: ORPHAN BLOCK, prev=%s\n", BlockHashStr(pblock->hashPrevBlock).c_str()); + printf("ProcessBlock: ORPHAN BLOCK, prev=%s\n", pblock->hashPrevBlock.ToString().c_str()); // Accept orphans as long as there is a node to request its parents from if (pfrom) { @@ -2460,10 +2480,9 @@ bool AbortNode(const std::string &strMessage) { - fRequestShutdown = true; strMiscWarning = strMessage; printf("*** %s\n", strMessage.c_str()); - uiInterface.ThreadSafeMessageBox(strMessage, "", CClientUIInterface::MSG_ERROR | CClientUIInterface::MODAL); + uiInterface.ThreadSafeMessageBox(strMessage, "", CClientUIInterface::MSG_ERROR); StartShutdown(); return false; } @@ -2510,7 +2529,7 @@ return OpenDiskFile(pos, "blk", fReadOnly); } -FILE *OpenUndoFile(const CDiskBlockPos &pos, bool fReadOnly) { +FILE* OpenUndoFile(const CDiskBlockPos &pos, bool fReadOnly) { return OpenDiskFile(pos, "rev", fReadOnly); } @@ -2539,10 +2558,9 @@ if (!pblocktree->LoadBlockIndexGuts()) return false; - if (fRequestShutdown) - return true; + boost::this_thread::interruption_point(); - // Calculate bnChainWork + // Calculate nChainWork vector > vSortedByHeight; vSortedByHeight.reserve(mapBlockIndex.size()); BOOST_FOREACH(const PAIRTYPE(uint256, CBlockIndex*)& item, mapBlockIndex) @@ -2554,7 +2572,7 @@ BOOST_FOREACH(const PAIRTYPE(int, CBlockIndex*)& item, vSortedByHeight) { CBlockIndex* pindex = item.second; - pindex->bnChainWork = (pindex->pprev ? pindex->pprev->bnChainWork : 0) + pindex->GetBlockWork(); + pindex->nChainWork = (pindex->pprev ? pindex->pprev->nChainWork : 0) + pindex->GetBlockWork().getuint256(); pindex->nChainTx = (pindex->pprev ? pindex->pprev->nChainTx : 0) + pindex->nTx; if ((pindex->nStatus & BLOCK_VALID_MASK) >= BLOCK_VALID_TRANSACTIONS && !(pindex->nStatus & BLOCK_FAILED_MASK)) setBlockIndexValid.insert(pindex); @@ -2562,12 +2580,14 @@ // Load block file info pblocktree->ReadLastBlockFile(nLastBlockFile); - printf("LoadBlockIndex(): last block file = %i\n", nLastBlockFile); + printf("LoadBlockIndexDB(): last block file = %i\n", nLastBlockFile); if (pblocktree->ReadBlockFileInfo(nLastBlockFile, infoLastBlockFile)) - printf("LoadBlockIndex(): last block file: %s\n", infoLastBlockFile.ToString().c_str()); + printf("LoadBlockIndexDB(): last block file info: %s\n", infoLastBlockFile.ToString().c_str()); - // Load bnBestInvalidWork, OK if it doesn't exist + // Load nBestInvalidWork, OK if it doesn't exist + CBigNum bnBestInvalidWork; pblocktree->ReadBestInvalidWork(bnBestInvalidWork); + nBestInvalidWork = bnBestInvalidWork.getuint256(); // Check whether we need to continue reindexing bool fReindexing = false; @@ -2576,7 +2596,7 @@ // Check whether we have a transaction index pblocktree->ReadFlag("txindex", fTxIndex); - printf("LoadBlockIndex(): transaction index %s\n", fTxIndex ? "enabled" : "disabled"); + printf("LoadBlockIndexDB(): transaction index %s\n", fTxIndex ? "enabled" : "disabled"); // Load hashBestChain pointer to end of best chain pindexBest = pcoinsTip->GetBestBlock(); @@ -2584,7 +2604,7 @@ return true; hashBestChain = pindexBest->GetBlockHash(); nBestHeight = pindexBest->nHeight; - bnBestChainWork = pindexBest->bnChainWork; + nBestChainWork = pindexBest->nChainWork; // set 'next' pointers in best chain CBlockIndex *pindex = pindexBest; @@ -2593,8 +2613,8 @@ pindexPrev->pnext = pindex; pindex = pindexPrev; } - printf("LoadBlockIndex(): hashBestChain=%s height=%d date=%s\n", - BlockHashStr(hashBestChain).c_str(), nBestHeight, + printf("LoadBlockIndexDB(): hashBestChain=%s height=%d date=%s\n", + hashBestChain.ToString().c_str(), nBestHeight, DateTimeStrFormat("%Y-%m-%d %H:%M:%S", pindexBest->GetBlockTime()).c_str()); return true; @@ -2620,7 +2640,8 @@ CValidationState state; for (CBlockIndex* pindex = pindexBest; pindex && pindex->pprev; pindex = pindex->pprev) { - if (fRequestShutdown || pindex->nHeight < nBestHeight-nCheckDepth) + boost::this_thread::interruption_point(); + if (pindex->nHeight < nBestHeight-nCheckDepth) break; CBlock block; // check level 0: read from disk @@ -2657,13 +2678,14 @@ // check level 4: try reconnecting blocks if (nCheckLevel >= 4) { CBlockIndex *pindex = pindexState; - while (pindex != pindexBest && !fRequestShutdown) { - pindex = pindex->pnext; - CBlock block; - if (!block.ReadFromDisk(pindex)) - return error("VerifyDB() : *** block.ReadFromDisk failed at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString().c_str()); - if (!block.ConnectBlock(state, pindex, coins)) - return error("VerifyDB() : *** found unconnectable block at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString().c_str()); + while (pindex != pindexBest) { + boost::this_thread::interruption_point(); + pindex = pindex->pnext; + CBlock block; + if (!block.ReadFromDisk(pindex)) + return error("VerifyDB() : *** block.ReadFromDisk failed at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString().c_str()); + if (!block.ConnectBlock(state, pindex, coins)) + return error("VerifyDB() : *** found unconnectable block at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString().c_str()); } } @@ -2678,8 +2700,8 @@ setBlockIndexValid.clear(); pindexGenesisBlock = NULL; nBestHeight = 0; - bnBestChainWork = 0; - bnBestInvalidWork = 0; + nBestChainWork = 0; + nBestInvalidWork = 0; hashBestChain = 0; pindexBest = NULL; } @@ -2762,7 +2784,7 @@ CDiskBlockPos blockPos; CValidationState state; if (!FindBlockPos(state, blockPos, nBlockSize+8, 0, block.nTime)) - return error("AcceptBlock() : FindBlockPos failed"); + return error("LoadBlockIndex() : FindBlockPos failed"); if (!block.WriteToDisk(blockPos)) return error("LoadBlockIndex() : writing genesis block to disk failed"); if (!block.AddToBlockIndex(state, blockPos)) @@ -2864,7 +2886,9 @@ } } uint64 nRewind = blkdat.GetPos(); - while (blkdat.good() && !blkdat.eof() && !fRequestShutdown) { + while (blkdat.good() && !blkdat.eof()) { + boost::this_thread::interruption_point(); + blkdat.SetPos(nRewind); nRewind++; // start one byte further next time, in case of failure blkdat.SetLimit(); // remove former limit @@ -2954,7 +2978,7 @@ } // Longer invalid proof-of-work chain - if (pindexBest && bnBestInvalidWork > bnBestChainWork + pindexBest->GetBlockWork() * 6) + if (pindexBest && nBestInvalidWork > nBestChainWork + (pindexBest->GetBlockWork() * 6).getuint256()) { nPriority = 2000; strStatusBar = strRPC = _("Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade."); @@ -3026,6 +3050,114 @@ unsigned char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 }; +void static ProcessGetData(CNode* pfrom) +{ + std::deque::iterator it = pfrom->vRecvGetData.begin(); + + vector vNotFound; + + while (it != pfrom->vRecvGetData.end()) { + // Don't bother if send buffer is too full to respond anyway + if (pfrom->nSendSize >= SendBufferSize()) + break; + + const CInv &inv = *it; + { + boost::this_thread::interruption_point(); + it++; + + if (inv.type == MSG_BLOCK || inv.type == MSG_FILTERED_BLOCK) + { + // Send block from disk + map::iterator mi = mapBlockIndex.find(inv.hash); + if (mi != mapBlockIndex.end()) + { + CBlock block; + block.ReadFromDisk((*mi).second); + if (inv.type == MSG_BLOCK) + pfrom->PushMessage("block", block); + else // MSG_FILTERED_BLOCK) + { + LOCK(pfrom->cs_filter); + if (pfrom->pfilter) + { + CMerkleBlock merkleBlock(block, *pfrom->pfilter); + pfrom->PushMessage("merkleblock", merkleBlock); + // CMerkleBlock just contains hashes, so also push any transactions in the block the client did not see + // This avoids hurting performance by pointlessly requiring a round-trip + // Note that there is currently no way for a node to request any single transactions we didnt send here - + // they must either disconnect and retry or request the full block. + // Thus, the protocol spec specified allows for us to provide duplicate txn here, + // however we MUST always provide at least what the remote peer needs + typedef std::pair PairType; + BOOST_FOREACH(PairType& pair, merkleBlock.vMatchedTxn) + if (!pfrom->setInventoryKnown.count(CInv(MSG_TX, pair.second))) + pfrom->PushMessage("tx", block.vtx[pair.first]); + } + // else + // no response + } + + // Trigger them to send a getblocks request for the next batch of inventory + if (inv.hash == pfrom->hashContinue) + { + // Bypass PushInventory, this must send even if redundant, + // and we want it right after the last block so they don't + // wait for other stuff first. + vector vInv; + vInv.push_back(CInv(MSG_BLOCK, hashBestChain)); + pfrom->PushMessage("inv", vInv); + pfrom->hashContinue = 0; + } + } + } + else if (inv.IsKnownType()) + { + // Send stream from relay memory + bool pushed = false; + { + LOCK(cs_mapRelay); + map::iterator mi = mapRelay.find(inv); + if (mi != mapRelay.end()) { + pfrom->PushMessage(inv.GetCommand(), (*mi).second); + pushed = true; + } + } + if (!pushed && inv.type == MSG_TX) { + LOCK(mempool.cs); + if (mempool.exists(inv.hash)) { + CTransaction tx = mempool.lookup(inv.hash); + CDataStream ss(SER_NETWORK, PROTOCOL_VERSION); + ss.reserve(1000); + ss << tx; + pfrom->PushMessage("tx", ss); + pushed = true; + } + } + if (!pushed) { + vNotFound.push_back(inv); + } + } + + // Track requests for our stuff. + Inventory(inv.hash); + } + } + + pfrom->vRecvGetData.erase(pfrom->vRecvGetData.begin(), it); + + if (!vNotFound.empty()) { + // Let the peer know that we didn't find what it asked for, so it doesn't + // have to wait around forever. Currently only SPV clients actually care + // about this message: it's needed when they are recursively walking the + // dependencies of relevant unconfirmed transactions. SPV clients want to + // do that because they want to know about (and store and rebroadcast and + // risk analyze) the dependencies of transactions relevant to them, without + // having to download the entire memory pool. + pfrom->PushMessage("notfound", vNotFound); + } +} + bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) { RandAddSeedPerfmon(); @@ -3101,7 +3233,7 @@ // Change version pfrom->PushMessage("verack"); - pfrom->vSend.SetVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); + pfrom->ssSend.SetVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); if (!pfrom->fInbound) { @@ -3128,18 +3260,6 @@ } } - // Ask the first connected node for block updates - static int nAskedForBlocks = 0; - if (!pfrom->fClient && !pfrom->fOneShot && !fImporting && !fReindex && - (pfrom->nStartingHeight > (nBestHeight - 144)) && - (pfrom->nVersion < NOBLKS_VERSION_START || - pfrom->nVersion >= NOBLKS_VERSION_END) && - (nAskedForBlocks < 1 || vNodes.size() <= 1)) - { - nAskedForBlocks++; - pfrom->PushGetBlocks(pindexBest, uint256(0)); - } - // Relay alerts { LOCK(cs_mapAlerts); @@ -3165,7 +3285,7 @@ else if (strCommand == "verack") { - pfrom->vRecv.SetVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); + pfrom->SetRecvVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); } @@ -3189,8 +3309,8 @@ int64 nSince = nNow - 10 * 60; BOOST_FOREACH(CAddress& addr, vAddr) { - if (fShutdown) - return true; + boost::this_thread::interruption_point(); + if (addr.nTime <= 100000000 || addr.nTime > nNow + 10 * 60) addr.nTime = nNow - 5 * 24 * 60 * 60; pfrom->AddAddressKnown(addr); @@ -3258,8 +3378,7 @@ { const CInv &inv = vInv[nInv]; - if (fShutdown) - return true; + boost::this_thread::interruption_point(); pfrom->AddInventoryKnown(inv); bool fAlreadyHave = AlreadyHave(inv); @@ -3299,101 +3418,11 @@ if (fDebugNet || (vInv.size() != 1)) printf("received getdata (%"PRIszu" invsz)\n", vInv.size()); - vector vNotFound; - BOOST_FOREACH(const CInv& inv, vInv) - { - if (fShutdown) - return true; - if (fDebugNet || (vInv.size() == 1)) - printf("received getdata for: %s\n", inv.ToString().c_str()); + if ((fDebugNet && vInv.size() > 0) || (vInv.size() == 1)) + printf("received getdata for: %s\n", vInv[0].ToString().c_str()); - if (inv.type == MSG_BLOCK || inv.type == MSG_FILTERED_BLOCK) - { - // Send block from disk - map::iterator mi = mapBlockIndex.find(inv.hash); - if (mi != mapBlockIndex.end()) - { - CBlock block; - block.ReadFromDisk((*mi).second); - if (inv.type == MSG_BLOCK) - pfrom->PushMessage("block", block); - else // MSG_FILTERED_BLOCK) - { - LOCK(pfrom->cs_filter); - if (pfrom->pfilter) - { - CMerkleBlock merkleBlock(block, *pfrom->pfilter); - pfrom->PushMessage("merkleblock", merkleBlock); - // CMerkleBlock just contains hashes, so also push any transactions in the block the client did not see - // This avoids hurting performance by pointlessly requiring a round-trip - // Note that there is currently no way for a node to request any single transactions we didnt send here - - // they must either disconnect and retry or request the full block. - // Thus, the protocol spec specified allows for us to provide duplicate txn here, - // however we MUST always provide at least what the remote peer needs - typedef std::pair PairType; - BOOST_FOREACH(PairType& pair, merkleBlock.vMatchedTxn) - if (!pfrom->setInventoryKnown.count(CInv(MSG_TX, pair.second))) - pfrom->PushMessage("tx", block.vtx[pair.first]); - } - // else - // no response - } - - // Trigger them to send a getblocks request for the next batch of inventory - if (inv.hash == pfrom->hashContinue) - { - // Bypass PushInventory, this must send even if redundant, - // and we want it right after the last block so they don't - // wait for other stuff first. - vector vInv; - vInv.push_back(CInv(MSG_BLOCK, hashBestChain)); - pfrom->PushMessage("inv", vInv); - pfrom->hashContinue = 0; - } - } - } - else if (inv.IsKnownType()) - { - // Send stream from relay memory - bool pushed = false; - { - LOCK(cs_mapRelay); - map::iterator mi = mapRelay.find(inv); - if (mi != mapRelay.end()) { - pfrom->PushMessage(inv.GetCommand(), (*mi).second); - pushed = true; - } - } - if (!pushed && inv.type == MSG_TX) { - LOCK(mempool.cs); - if (mempool.exists(inv.hash)) { - CTransaction tx = mempool.lookup(inv.hash); - CDataStream ss(SER_NETWORK, PROTOCOL_VERSION); - ss.reserve(1000); - ss << tx; - pfrom->PushMessage("tx", ss); - pushed = true; - } - } - if (!pushed) { - vNotFound.push_back(inv); - } - } - - // Track requests for our stuff. - Inventory(inv.hash); - - if (!vNotFound.empty()) { - // Let the peer know that we didn't find what it asked for, so it doesn't - // have to wait around forever. Currently only SPV clients actually care - // about this message: it's needed when they are recursively walking the - // dependencies of relevant unconfirmed transactions. SPV clients want to - // do that because they want to know about (and store and rebroadcast and - // risk analyze) the dependencies of transactions relevant to them, without - // having to download the entire memory pool. - pfrom->PushMessage("notfound", vNotFound); - } - } + pfrom->vRecvGetData.insert(pfrom->vRecvGetData.end(), vInv.begin(), vInv.end()); + ProcessGetData(pfrom); } @@ -3410,12 +3439,12 @@ if (pindex) pindex = pindex->pnext; int nLimit = 500; - printf("getblocks %d to %s limit %d\n", (pindex ? pindex->nHeight : -1), BlockHashStr(hashStop).c_str(), nLimit); + printf("getblocks %d to %s limit %d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().c_str(), nLimit); for (; pindex; pindex = pindex->pnext) { if (pindex->GetBlockHash() == hashStop) { - printf(" getblocks stopping at %d %s\n", pindex->nHeight, BlockHashStr(pindex->GetBlockHash()).c_str()); + printf(" getblocks stopping at %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString().c_str()); break; } pfrom->PushInventory(CInv(MSG_BLOCK, pindex->GetBlockHash())); @@ -3423,7 +3452,7 @@ { // When this block is requested, we'll send an inv that'll make them // getblocks the next batch of inventory. - printf(" getblocks stopping at limit %d %s\n", pindex->nHeight, BlockHashStr(pindex->GetBlockHash()).c_str()); + printf(" getblocks stopping at limit %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString().c_str()); pfrom->hashContinue = pindex->GetBlockHash(); break; } @@ -3457,7 +3486,7 @@ // we must use CBlocks, as CBlockHeaders won't include the 0x00 nTx count at the end vector vHeaders; int nLimit = 2000; - printf("getheaders %d to %s\n", (pindex ? pindex->nHeight : -1), BlockHashStr(hashStop).c_str()); + printf("getheaders %d to %s\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().c_str()); for (; pindex; pindex = pindex->pnext) { vHeaders.push_back(pindex->GetBlockHeader()); @@ -3483,7 +3512,7 @@ CValidationState state; if (tx.AcceptToMemoryPool(state, true, true, &fMissingInputs)) { - RelayTransaction(tx, inv.hash, vMsg); + RelayTransaction(tx, inv.hash); mapAlreadyAskedFor.erase(inv); vWorkQueue.push_back(inv.hash); vEraseQueue.push_back(inv.hash); @@ -3492,31 +3521,31 @@ for (unsigned int i = 0; i < vWorkQueue.size(); i++) { uint256 hashPrev = vWorkQueue[i]; - for (map::iterator mi = mapOrphanTransactionsByPrev[hashPrev].begin(); + for (set::iterator mi = mapOrphanTransactionsByPrev[hashPrev].begin(); mi != mapOrphanTransactionsByPrev[hashPrev].end(); ++mi) { - const CDataStream& vMsg = *((*mi).second); - CTransaction tx; - CDataStream(vMsg) >> tx; - CInv inv(MSG_TX, tx.GetHash()); + const uint256& orphanHash = *mi; + const CTransaction& orphanTx = mapOrphanTransactions[orphanHash]; bool fMissingInputs2 = false; - // Use a dummy CValidationState so someone can't setup nodes to counter-DoS based on orphan resolution (that is, feeding people an invalid transaction based on LegitTxX in order to get anyone relaying LegitTxX banned) + // Use a dummy CValidationState so someone can't setup nodes to counter-DoS based on orphan + // resolution (that is, feeding people an invalid transaction based on LegitTxX in order to get + // anyone relaying LegitTxX banned) CValidationState stateDummy; if (tx.AcceptToMemoryPool(stateDummy, true, true, &fMissingInputs2)) { - printf(" accepted orphan tx %s\n", inv.hash.ToString().substr(0,10).c_str()); - RelayTransaction(tx, inv.hash, vMsg); - mapAlreadyAskedFor.erase(inv); - vWorkQueue.push_back(inv.hash); - vEraseQueue.push_back(inv.hash); + printf(" accepted orphan tx %s\n", orphanHash.ToString().c_str()); + RelayTransaction(orphanTx, orphanHash); + mapAlreadyAskedFor.erase(CInv(MSG_TX, orphanHash)); + vWorkQueue.push_back(orphanHash); + vEraseQueue.push_back(orphanHash); } else if (!fMissingInputs2) { // invalid or too-little-fee orphan - vEraseQueue.push_back(inv.hash); - printf(" removed orphan tx %s\n", inv.hash.ToString().substr(0,10).c_str()); + vEraseQueue.push_back(orphanHash); + printf(" removed orphan tx %s\n", orphanHash.ToString().c_str()); } } } @@ -3526,7 +3555,7 @@ } else if (fMissingInputs) { - AddOrphanTx(vMsg); + AddOrphanTx(tx); // DoS prevention: do not allow mapOrphanTransactions to grow unbounded unsigned int nEvicted = LimitOrphanTxSize(MAX_ORPHAN_TRANSACTIONS); @@ -3544,7 +3573,7 @@ CBlock block; vRecv >> block; - printf("received block %s\n", BlockHashStr(block.GetHash()).c_str()); + printf("received block %s\n", block.GetHash().ToString().c_str()); // block.print(); CInv inv(MSG_BLOCK, block.GetHash()); @@ -3653,6 +3682,7 @@ LOCK(pfrom->cs_filter); delete pfrom->pfilter; pfrom->pfilter = new CBloomFilter(filter); + pfrom->pfilter->UpdateEmptyFull(); } pfrom->fRelayTxes = true; } @@ -3682,7 +3712,7 @@ { LOCK(pfrom->cs_filter); delete pfrom->pfilter; - pfrom->pfilter = NULL; + pfrom->pfilter = new CBloomFilter(); pfrom->fRelayTxes = true; } @@ -3702,13 +3732,11 @@ return true; } +// requires LOCK(cs_vRecvMsg) bool ProcessMessages(CNode* pfrom) { - CDataStream& vRecv = pfrom->vRecv; - if (vRecv.empty()) - return true; //if (fDebug) - // printf("ProcessMessages(%u bytes)\n", vRecv.size()); + // printf("ProcessMessages(%zu messages)\n", pfrom->vRecvMsg.size()); // // Message format @@ -3718,33 +3746,41 @@ // (4) checksum // (x) data // + bool fOk = true; - loop - { + if (!pfrom->vRecvGetData.empty()) + ProcessGetData(pfrom); + + std::deque::iterator it = pfrom->vRecvMsg.begin(); + while (!pfrom->fDisconnect && it != pfrom->vRecvMsg.end()) { // Don't bother if send buffer is too full to respond anyway - if (pfrom->vSend.size() >= SendBufferSize()) + if (pfrom->nSendSize >= SendBufferSize()) break; + // get next message + CNetMessage& msg = *it; + + //if (fDebug) + // printf("ProcessMessages(message %u msgsz, %zu bytes, complete:%s)\n", + // msg.hdr.nMessageSize, msg.vRecv.size(), + // msg.complete() ? "Y" : "N"); + + // end, if an incomplete message is found + if (!msg.complete()) + break; + + // at this point, any failure means we can delete the current message + it++; + // Scan for message start - CDataStream::iterator pstart = search(vRecv.begin(), vRecv.end(), BEGIN(pchMessageStart), END(pchMessageStart)); - int nHeaderSize = vRecv.GetSerializeSize(CMessageHeader()); - if (vRecv.end() - pstart < nHeaderSize) - { - if ((int)vRecv.size() > nHeaderSize) - { - printf("\n\nPROCESSMESSAGE MESSAGESTART NOT FOUND\n\n"); - vRecv.erase(vRecv.begin(), vRecv.end() - nHeaderSize); - } + if (memcmp(msg.hdr.pchMessageStart, pchMessageStart, sizeof(pchMessageStart)) != 0) { + printf("\n\nPROCESSMESSAGE: INVALID MESSAGESTART\n\n"); + fOk = false; break; } - if (pstart - vRecv.begin() > 0) - printf("\n\nPROCESSMESSAGE SKIPPED %"PRIpdd" BYTES\n\n", pstart - vRecv.begin()); - vRecv.erase(vRecv.begin(), pstart); // Read header - vector vHeaderSave(vRecv.begin(), vRecv.begin() + nHeaderSize); - CMessageHeader hdr; - vRecv >> hdr; + CMessageHeader& hdr = msg.hdr; if (!hdr.IsValid()) { printf("\n\nPROCESSMESSAGE: ERRORS IN HEADER %s\n\n\n", hdr.GetCommand().c_str()); @@ -3754,19 +3790,9 @@ // Message size unsigned int nMessageSize = hdr.nMessageSize; - if (nMessageSize > MAX_SIZE) - { - printf("ProcessMessages(%s, %u bytes) : nMessageSize > MAX_SIZE\n", strCommand.c_str(), nMessageSize); - continue; - } - if (nMessageSize > vRecv.size()) - { - // Rewind and wait for rest of message - vRecv.insert(vRecv.begin(), vHeaderSave.begin(), vHeaderSave.end()); - break; - } // Checksum + CDataStream& vRecv = msg.vRecv; uint256 hash = Hash(vRecv.begin(), vRecv.begin() + nMessageSize); unsigned int nChecksum = 0; memcpy(&nChecksum, &hash, sizeof(nChecksum)); @@ -3777,20 +3803,15 @@ continue; } - // Copy message to its own buffer - CDataStream vMsg(vRecv.begin(), vRecv.begin() + nMessageSize, vRecv.nType, vRecv.nVersion); - vRecv.ignore(nMessageSize); - // Process message bool fRet = false; try { { LOCK(cs_main); - fRet = ProcessMessage(pfrom, strCommand, vMsg); + fRet = ProcessMessage(pfrom, strCommand, vRecv); } - if (fShutdown) - return true; + boost::this_thread::interruption_point(); } catch (std::ios_base::failure& e) { @@ -3809,6 +3830,9 @@ PrintExceptionContinue(&e, "ProcessMessages()"); } } + catch (boost::thread_interrupted) { + throw; + } catch (std::exception& e) { PrintExceptionContinue(&e, "ProcessMessages()"); } catch (...) { @@ -3819,8 +3843,11 @@ printf("ProcessMessage(%s, %u bytes) FAILED\n", strCommand.c_str(), nMessageSize); } - vRecv.Compact(); - return true; + // In case the connection got shut down, its receive buffer was wiped + if (!pfrom->fDisconnect) + pfrom->vRecvMsg.erase(pfrom->vRecvMsg.begin(), it); + + return fOk; } @@ -3834,7 +3861,7 @@ // Keep-alive ping. We send a nonce of zero because we don't use it anywhere // right now. - if (pto->nLastSend && GetTime() - pto->nLastSend > 30 * 60 && pto->vSend.empty()) { + if (pto->nLastSend && GetTime() - pto->nLastSend > 30 * 60 && pto->vSendMsg.empty()) { uint64 nonce = 0; if (pto->nVersion > BIP0031_VERSION) pto->PushMessage("ping", nonce); @@ -3842,6 +3869,12 @@ pto->PushMessage("ping"); } + // Start block sync + if (pto->fStartSync && !fImporting && !fReindex) { + pto->fStartSync = false; + pto->PushGetBlocks(pindexBest, uint256(0)); + } + // Resend wallet transactions that haven't gotten in a block yet // Except during reindex, importing and IBD, when old wallet // transactions become unconfirmed and spams other nodes. @@ -3977,7 +4010,6 @@ pto->PushMessage("getdata", vGetData); vGetData.clear(); } - mapAlreadyAskedFor[inv] = nNow; } pto->mapAskFor.erase(pto->mapAskFor.begin()); } @@ -4072,6 +4104,8 @@ nHashesDone = 0xffff+1; return (unsigned int) -1; } + if ((nNonce & 0xfff) == 0) + boost::this_thread::interruption_point(); } } @@ -4093,9 +4127,9 @@ void print() const { printf("COrphan(hash=%s, dPriority=%.1f, dFeePerKb=%.1f)\n", - ptx->GetHash().ToString().substr(0,10).c_str(), dPriority, dFeePerKb); + ptx->GetHash().ToString().c_str(), dPriority, dFeePerKb); BOOST_FOREACH(uint256 hash, setDependsOn) - printf(" setDependsOn %s\n", hash.ToString().substr(0,10).c_str()); + printf(" setDependsOn %s\n", hash.ToString().c_str()); } }; @@ -4140,7 +4174,10 @@ txNew.vin.resize(1); txNew.vin[0].prevout.SetNull(); txNew.vout.resize(1); - txNew.vout[0].scriptPubKey << reservekey.GetReservedKey() << OP_CHECKSIG; + CPubKey pubkey; + if (!reservekey.GetReservedKey(pubkey)) + return NULL; + txNew.vout[0].scriptPubKey << pubkey << OP_CHECKSIG; // Add our coinbase tx as first transaction pblock->vtx.push_back(txNew); @@ -4166,15 +4203,6 @@ unsigned int nBlockMinSize = GetArg("-blockminsize", 0); nBlockMinSize = std::min(nBlockMaxSize, nBlockMinSize); - // Fee-per-kilobyte amount considered the same as "free" - // Be careful setting this: if you set it to zero then - // a transaction spammer can cheaply fill blocks using - // 1-satoshi-fee transactions. It should be set above the real - // cost to you of processing a transaction. - int64 nMinTxFee = MIN_TX_FEE; - if (mapArgs.count("-mintxfee")) - ParseMoney(mapArgs["-mintxfee"], nMinTxFee); - // Collect memory pool transactions into the block int64 nFees = 0; { @@ -4203,8 +4231,7 @@ BOOST_FOREACH(const CTxIn& txin, tx.vin) { // Read prev transaction - CCoins coins; - if (!view.GetCoins(txin.prevout.hash, coins)) + if (!view.HaveCoins(txin.prevout.hash)) { // This should never happen; all transactions in the memory // pool should connect to either transactions in the chain @@ -4231,6 +4258,7 @@ nTotalIn += mempool.mapTx[txin.prevout.hash].vout[txin.prevout.n].nValue; continue; } + const CCoins &coins = view.GetCoins(txin.prevout.hash); int64 nValueIn = coins.vout[txin.prevout.n].nValue; nTotalIn += nValueIn; @@ -4278,9 +4306,6 @@ std::pop_heap(vecPriority.begin(), vecPriority.end(), comparer); vecPriority.pop_back(); - // second layer cached modifications just for this transaction - CCoinsViewCache viewTemp(view, true); - // Size limits unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION); if (nBlockSize + nTxSize >= nBlockMaxSize) @@ -4292,7 +4317,7 @@ continue; // Skip free transactions if we're past the minimum block size: - if (fSortedByFee && (dFeePerKb < nMinTxFee) && (nBlockSize + nTxSize >= nBlockMinSize)) + if (fSortedByFee && (dFeePerKb < CTransaction::nMinTxFee) && (nBlockSize + nTxSize >= nBlockMinSize)) continue; // Prioritize by fee once past the priority size or we run out of high-priority @@ -4305,26 +4330,22 @@ std::make_heap(vecPriority.begin(), vecPriority.end(), comparer); } - if (!tx.HaveInputs(viewTemp)) + if (!tx.HaveInputs(view)) continue; - int64 nTxFees = tx.GetValueIn(viewTemp)-tx.GetValueOut(); + int64 nTxFees = tx.GetValueIn(view)-tx.GetValueOut(); - nTxSigOps += tx.GetP2SHSigOpCount(viewTemp); + nTxSigOps += tx.GetP2SHSigOpCount(view); if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS) continue; CValidationState state; - if (!tx.CheckInputs(state, viewTemp, true, SCRIPT_VERIFY_P2SH)) + if (!tx.CheckInputs(state, view, true, SCRIPT_VERIFY_P2SH)) continue; CTxUndo txundo; uint256 hash = tx.GetHash(); - if (!tx.UpdateCoins(state, viewTemp, txundo, pindexPrev->nHeight+1, hash)) - continue; - - // push changes from the second layer cache to the first one - viewTemp.Flush(); + tx.UpdateCoins(state, view, txundo, pindexPrev->nHeight+1, hash); // Added pblock->vtx.push_back(tx); @@ -4489,37 +4510,19 @@ return true; } -void static ThreadBitcoinMiner(void* parg); - -static bool fGenerateBitcoins = false; -static bool fLimitProcessors = false; -static int nLimitProcessors = -1; - void static BitcoinMiner(CWallet *pwallet) { printf("BitcoinMiner started\n"); SetThreadPriority(THREAD_PRIORITY_LOWEST); - - // Make this thread recognisable as the mining thread RenameThread("bitcoin-miner"); // Each thread has its own key and counter CReserveKey reservekey(pwallet); unsigned int nExtraNonce = 0; - while (fGenerateBitcoins) - { - if (fShutdown) - return; - while (vNodes.empty() || IsInitialBlockDownload()) - { - Sleep(1000); - if (fShutdown) - return; - if (!fGenerateBitcoins) - return; - } - + try { loop { + while (vNodes.empty()) + MilliSleep(1000); // // Create new block @@ -4536,7 +4539,6 @@ printf("Running BitcoinMiner with %"PRIszu" transactions in block (%u bytes)\n", pblock->vtx.size(), ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); - // // Pre-build hash buffers // @@ -4609,19 +4611,14 @@ if (GetTime() - nLogTime > 30 * 60) { nLogTime = GetTime(); - printf("hashmeter %3d CPUs %6.0f khash/s\n", vnThreadsRunning[THREAD_MINER], dHashesPerSec/1000.0); + printf("hashmeter %6.0f khash/s\n", dHashesPerSec/1000.0); } } } } // Check for stop or if block needs to be rebuilt - if (fShutdown) - return; - if (!fGenerateBitcoins) - return; - if (fLimitProcessors && vnThreadsRunning[THREAD_MINER] > nLimitProcessors) - return; + boost::this_thread::interruption_point(); if (vNodes.empty()) break; if (nBlockNonce >= 0xffff0000) @@ -4641,57 +4638,35 @@ hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); } } + } } + catch (boost::thread_interrupted) + { + printf("BitcoinMiner terminated\n"); + throw; } } -void static ThreadBitcoinMiner(void* parg) +void GenerateBitcoins(bool fGenerate, CWallet* pwallet) { - CWallet* pwallet = (CWallet*)parg; - try - { - vnThreadsRunning[THREAD_MINER]++; - BitcoinMiner(pwallet); - vnThreadsRunning[THREAD_MINER]--; - } - catch (std::exception& e) { - vnThreadsRunning[THREAD_MINER]--; - PrintException(&e, "ThreadBitcoinMiner()"); - } catch (...) { - vnThreadsRunning[THREAD_MINER]--; - PrintException(NULL, "ThreadBitcoinMiner()"); - } - nHPSTimerStart = 0; - if (vnThreadsRunning[THREAD_MINER] == 0) - dHashesPerSec = 0; - printf("ThreadBitcoinMiner exiting, %d threads remaining\n", vnThreadsRunning[THREAD_MINER]); -} + static boost::thread_group* minerThreads = NULL; + int nThreads = GetArg("-genproclimit", -1); + if (nThreads < 0) + nThreads = boost::thread::hardware_concurrency(); -void GenerateBitcoins(bool fGenerate, CWallet* pwallet) -{ - fGenerateBitcoins = fGenerate; - nLimitProcessors = GetArg("-genproclimit", -1); - if (nLimitProcessors == 0) - fGenerateBitcoins = false; - fLimitProcessors = (nLimitProcessors != -1); - - if (fGenerate) - { - int nProcessors = boost::thread::hardware_concurrency(); - printf("%d processors\n", nProcessors); - if (nProcessors < 1) - nProcessors = 1; - if (fLimitProcessors && nProcessors > nLimitProcessors) - nProcessors = nLimitProcessors; - int nAddThreads = nProcessors - vnThreadsRunning[THREAD_MINER]; - printf("Starting %d BitcoinMiner threads\n", nAddThreads); - for (int i = 0; i < nAddThreads; i++) - { - if (!NewThread(ThreadBitcoinMiner, pwallet)) - printf("Error: NewThread(ThreadBitcoinMiner) failed\n"); - Sleep(10); - } + if (minerThreads != NULL) + { + minerThreads->interrupt_all(); + delete minerThreads; + minerThreads = NULL; } + + if (nThreads == 0 || !fGenerate) + return; + + minerThreads = new boost::thread_group(); + for (int i = 0; i < nThreads; i++) + minerThreads->create_thread(boost::bind(&BitcoinMiner, pwallet)); } // Amount compression: @@ -4747,3 +4722,26 @@ } return n; } + + +class CMainCleanup +{ +public: + CMainCleanup() {} + ~CMainCleanup() { + // block headers + std::map::iterator it1 = mapBlockIndex.begin(); + for (; it1 != mapBlockIndex.end(); it1++) + delete (*it1).second; + mapBlockIndex.clear(); + + // orphan blocks + std::map::iterator it2 = mapOrphanBlocks.begin(); + for (; it2 != mapOrphanBlocks.end(); it2++) + delete (*it2).second; + mapOrphanBlocks.clear(); + + // orphan transactions + mapOrphanTransactions.clear(); + } +} instance_of_cmaincleanup; diff -Nru bitcoin-0.8.1/src/main.h bitcoin-0.8.5/src/main.h --- bitcoin-0.8.1/src/main.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/main.h 2013-09-12 03:35:18.000000000 +0000 @@ -28,7 +28,7 @@ static const unsigned int MAX_BLOCK_SIZE = 1000000; /** The maximum size for mined blocks */ static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2; -/** The maximum size for transactions we're willing to relay/mine **/ +/** The maximum size for transactions we're willing to relay/mine */ static const unsigned int MAX_STANDARD_TX_SIZE = MAX_BLOCK_SIZE_GEN/5; /** The maximum allowed number of signature check operations in a block (network rule) */ static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50; @@ -44,10 +44,6 @@ static const unsigned int UNDOFILE_CHUNK_SIZE = 0x100000; // 1 MiB /** Fake height value used in CCoins to signify they are only in the memory pool (since 0.8) */ static const unsigned int MEMPOOL_HEIGHT = 0x7FFFFFFF; -/** Fees smaller than this (in satoshi) are considered zero fee (for transaction creation) */ -static const int64 MIN_TX_FEE = 50000; -/** Fees smaller than this (in satoshi) are considered zero fee (for relaying) */ -static const int64 MIN_RELAY_TX_FEE = 10000; /** No amount larger than this (in satoshi) is valid */ static const int64 MAX_MONEY = 21000000 * COIN; inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } @@ -77,8 +73,8 @@ extern uint256 hashGenesisBlock; extern CBlockIndex* pindexGenesisBlock; extern int nBestHeight; -extern CBigNum bnBestChainWork; -extern CBigNum bnBestInvalidWork; +extern uint256 nBestChainWork; +extern uint256 nBestInvalidWork; extern uint256 hashBestChain; extern CBlockIndex* pindexBest; extern unsigned int nTransactionsUpdated; @@ -118,7 +114,6 @@ struct CBlockTemplate; - /** Register a wallet to receive updates from core */ void RegisterWallet(CWallet* pwalletIn); /** Unregister a wallet from core */ @@ -151,12 +146,8 @@ bool ProcessMessages(CNode* pfrom); /** Send queued protocol messages to be sent to a give node */ bool SendMessages(CNode* pto, bool fSendTrickle); -/** Run the importer thread, which deals with reindexing, loading bootstrap.dat, and whatever is passed to -loadblock */ -void ThreadImport(void *parg); /** Run an instance of the script checking thread */ -void ThreadScriptCheck(void* parg); -/** Stop the script checking threads */ -void ThreadScriptCheckQuit(); +void ThreadScriptCheck(); /** Run the miner threads */ void GenerateBitcoins(bool fGenerate, CWallet* pwallet); /** Generate a new block, without valid proof-of-work */ @@ -200,11 +191,6 @@ -static inline std::string BlockHashStr(const uint256& hash) -{ - return hash.ToString(); -} - bool GetWalletFile(CWallet* pwallet, std::string &strWalletFileOut); struct CDiskBlockPos @@ -306,7 +292,7 @@ std::string ToString() const { - return strprintf("COutPoint(%s, %u)", hash.ToString().substr(0,10).c_str(), n); + return strprintf("COutPoint(%s, %u)", hash.ToString().c_str(), n); } void print() const @@ -449,6 +435,8 @@ return !(a == b); } + bool IsDust() const; + std::string ToString() const { if (scriptPubKey.size() < 6) @@ -477,6 +465,8 @@ class CTransaction { public: + static int64 nMinTxFee; + static int64 nMinRelayTxFee; static const int CURRENT_VERSION=1; int nVersion; std::vector vin; @@ -640,7 +630,7 @@ { std::string str; str += strprintf("CTransaction(hash=%s, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%u)\n", - GetHash().ToString().substr(0,10).c_str(), + GetHash().ToString().c_str(), nVersion, vin.size(), vout.size(), @@ -669,7 +659,7 @@ std::vector *pvChecks = NULL) const; // Apply the effects of this transaction on the UTXO set represented by view - bool UpdateCoins(CValidationState &state, CCoinsViewCache &view, CTxUndo &txundo, int nHeight, const uint256 &txhash) const; + void UpdateCoins(CValidationState &state, CCoinsViewCache &view, CTxUndo &txundo, int nHeight, const uint256 &txhash) const; // Context-independent validity checks bool CheckTransaction(CValidationState &state) const; @@ -909,6 +899,15 @@ void Cleanup() { while (vout.size() > 0 && vout.back().IsNull()) vout.pop_back(); + if (vout.empty()) + std::vector().swap(vout); + } + + void swap(CCoins &to) { + std::swap(to.fCoinBase, fCoinBase); + to.vout.swap(vout); + std::swap(to.nHeight, nHeight); + std::swap(to.nVersion, nVersion); } // equality test @@ -1468,10 +1467,10 @@ void print() const { printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%"PRIszu")\n", - BlockHashStr(GetHash()).c_str(), + GetHash().ToString().c_str(), nVersion, - BlockHashStr(hashPrevBlock).c_str(), - hashMerkleRoot.ToString().substr(0,10).c_str(), + hashPrevBlock.ToString().c_str(), + hashMerkleRoot.ToString().c_str(), nTime, nBits, nNonce, vtx.size()); for (unsigned int i = 0; i < vtx.size(); i++) @@ -1481,7 +1480,7 @@ } printf(" vMerkleTree: "); for (unsigned int i = 0; i < vMerkleTree.size(); i++) - printf("%s ", vMerkleTree[i].ToString().substr(0,10).c_str()); + printf("%s ", vMerkleTree[i].ToString().c_str()); printf("\n"); } @@ -1549,7 +1548,7 @@ } std::string ToString() const { - return strprintf("CBlockFileInfo(blocks=%u, size=%u, heights=%u..%u, time=%s..%s)", nBlocks, nSize, nHeightFirst, nHeightLast, DateTimeStrFormat("%Y-%m-%d", nTimeFirst).c_str(), DateTimeStrFormat("%Y-%m-%d", nTimeLast).c_str()); + return strprintf("CBlockFileInfo(blocks=%u, size=%u, heights=%u...%u, time=%s...%s)", nBlocks, nSize, nHeightFirst, nHeightLast, DateTimeStrFormat("%Y-%m-%d", nTimeFirst).c_str(), DateTimeStrFormat("%Y-%m-%d", nTimeLast).c_str()); } // update statistics (does not update nSize) @@ -1620,7 +1619,7 @@ unsigned int nUndoPos; // (memory only) Total amount of work (expected number of hashes) in the chain up to and including this block - CBigNum bnChainWork; + uint256 nChainWork; // Number of transactions in this block. // Note: in a potential headers-first mode, this number cannot be relied upon @@ -1649,7 +1648,7 @@ nFile = 0; nDataPos = 0; nUndoPos = 0; - bnChainWork = 0; + nChainWork = 0; nTx = 0; nChainTx = 0; nStatus = 0; @@ -1670,7 +1669,7 @@ nFile = 0; nDataPos = 0; nUndoPos = 0; - bnChainWork = 0; + nChainWork = 0; nTx = 0; nChainTx = 0; nStatus = 0; @@ -1781,8 +1780,8 @@ { return strprintf("CBlockIndex(pprev=%p, pnext=%p, nHeight=%d, merkle=%s, hashBlock=%s)", pprev, pnext, nHeight, - hashMerkleRoot.ToString().substr(0,10).c_str(), - BlockHashStr(GetBlockHash()).c_str()); + hashMerkleRoot.ToString().c_str(), + GetBlockHash().ToString().c_str()); } void print() const @@ -1794,8 +1793,8 @@ struct CBlockIndexWorkComparator { bool operator()(CBlockIndex *pa, CBlockIndex *pb) { - if (pa->bnChainWork > pb->bnChainWork) return false; - if (pa->bnChainWork < pb->bnChainWork) return true; + if (pa->nChainWork > pb->nChainWork) return false; + if (pa->nChainWork < pb->nChainWork) return true; if (pa->GetBlockHash() < pb->GetBlockHash()) return false; if (pa->GetBlockHash() > pb->GetBlockHash()) return true; @@ -1863,7 +1862,7 @@ str += CBlockIndex::ToString(); str += strprintf("\n hashBlock=%s, hashPrev=%s)", GetBlockHash().ToString().c_str(), - BlockHashStr(hashPrev).c_str()); + hashPrev.ToString().c_str()); return str; } @@ -2068,7 +2067,7 @@ std::map mapNextTx; bool accept(CValidationState &state, CTransaction &tx, bool fCheckInputs, bool fLimitFree, bool* pfMissingInputs); - bool addUnchecked(const uint256& hash, CTransaction &tx); + bool addUnchecked(const uint256& hash, const CTransaction &tx); bool remove(const CTransaction &tx, bool fRecursive = false); bool removeConflicts(const CTransaction &tx); void clear(); @@ -2097,11 +2096,14 @@ struct CCoinsStats { int nHeight; + uint256 hashBlock; uint64 nTransactions; uint64 nTransactionOutputs; uint64 nSerializedSize; + uint256 hashSerialized; + int64 nTotalAmount; - CCoinsStats() : nHeight(0), nTransactions(0), nTransactionOutputs(0), nSerializedSize(0) {} + CCoinsStats() : nHeight(0), hashBlock(0), nTransactions(0), nTransactionOutputs(0), nSerializedSize(0), hashSerialized(0), nTotalAmount(0) {} }; /** Abstract view on the open txout dataset. */ @@ -2109,14 +2111,14 @@ { public: // Retrieve the CCoins (unspent transaction outputs) for a given txid - virtual bool GetCoins(uint256 txid, CCoins &coins); + virtual bool GetCoins(const uint256 &txid, CCoins &coins); // Modify the CCoins for a given txid - virtual bool SetCoins(uint256 txid, const CCoins &coins); + virtual bool SetCoins(const uint256 &txid, const CCoins &coins); // Just check whether we have data for a given txid. // This may (but cannot always) return true for fully spent transactions - virtual bool HaveCoins(uint256 txid); + virtual bool HaveCoins(const uint256 &txid); // Retrieve the block index whose state this CCoinsView currently represents virtual CBlockIndex *GetBestBlock(); @@ -2142,9 +2144,9 @@ public: CCoinsViewBacked(CCoinsView &viewIn); - bool GetCoins(uint256 txid, CCoins &coins); - bool SetCoins(uint256 txid, const CCoins &coins); - bool HaveCoins(uint256 txid); + bool GetCoins(const uint256 &txid, CCoins &coins); + bool SetCoins(const uint256 &txid, const CCoins &coins); + bool HaveCoins(const uint256 &txid); CBlockIndex *GetBestBlock(); bool SetBestBlock(CBlockIndex *pindex); void SetBackend(CCoinsView &viewIn); @@ -2163,9 +2165,9 @@ CCoinsViewCache(CCoinsView &baseIn, bool fDummy = false); // Standard CCoinsView methods - bool GetCoins(uint256 txid, CCoins &coins); - bool SetCoins(uint256 txid, const CCoins &coins); - bool HaveCoins(uint256 txid); + bool GetCoins(const uint256 &txid, CCoins &coins); + bool SetCoins(const uint256 &txid, const CCoins &coins); + bool HaveCoins(const uint256 &txid); CBlockIndex *GetBestBlock(); bool SetBestBlock(CBlockIndex *pindex); bool BatchWrite(const std::map &mapCoins, CBlockIndex *pindex); @@ -2173,7 +2175,7 @@ // Return a modifiable reference to a CCoins. Check HaveCoins first. // Many methods explicitly require a CCoinsViewCache because of this method, to reduce // copying. - CCoins &GetCoins(uint256 txid); + CCoins &GetCoins(const uint256 &txid); // Push the modifications applied to this cache to its base. // Failure to call this method before destruction will cause the changes to be forgotten. @@ -2183,7 +2185,7 @@ unsigned int GetCacheSize(); private: - std::map::iterator FetchCoins(uint256 txid); + std::map::iterator FetchCoins(const uint256 &txid); }; /** CCoinsView that brings transactions from a memorypool into view. @@ -2195,8 +2197,8 @@ public: CCoinsViewMemPool(CCoinsView &baseIn, CTxMemPool &mempoolIn); - bool GetCoins(uint256 txid, CCoins &coins); - bool HaveCoins(uint256 txid); + bool GetCoins(const uint256 &txid, CCoins &coins); + bool HaveCoins(const uint256 &txid); }; /** Global variable that points to the active CCoinsView (protected by cs_main) */ diff -Nru bitcoin-0.8.1/src/makefile.linux-mingw bitcoin-0.8.5/src/makefile.linux-mingw --- bitcoin-0.8.1/src/makefile.linux-mingw 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/makefile.linux-mingw 2013-09-12 03:35:18.000000000 +0000 @@ -36,9 +36,9 @@ DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE DEBUGFLAGS=-g -CFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) +xCXXFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) $(CXXFLAGS) # enable: ASLR, DEP and large address aware -LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware +xLDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware $(LDFLAGS) TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) @@ -71,7 +71,6 @@ obj/key.o \ obj/db.o \ obj/init.o \ - obj/irc.o \ obj/keystore.o \ obj/main.o \ obj/net.o \ @@ -99,7 +98,7 @@ DEFS += -I"$(CURDIR)/leveldb/include" DEFS += -I"$(CURDIR)/leveldb/helpers" leveldb/libleveldb.a: - @echo "Building LevelDB ..." && cd leveldb && TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(CFLAGS)" libleveldb.a libmemenv.a && i586-mingw32msvc-ranlib libleveldb.a && i586-mingw32msvc-ranlib libmemenv.a && cd .. + @echo "Building LevelDB ..." && cd leveldb && TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libleveldb.a libmemenv.a && i586-mingw32msvc-ranlib libleveldb.a && i586-mingw32msvc-ranlib libmemenv.a && cd .. obj/build.h: FORCE /bin/sh ../share/genbuild.sh obj/build.h @@ -107,18 +106,18 @@ DEFS += -DHAVE_BUILD_INFO obj/%.o: %.cpp $(HEADERS) - $(CXX) -c $(CFLAGS) -o $@ $< + $(CXX) -c $(xCXXFLAGS) -o $@ $< bitcoind.exe: $(OBJS:obj/%=obj/%) - $(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) + $(CXX) $(xCXXFLAGS) $(xLDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) obj-test/%.o: test/%.cpp $(HEADERS) - $(CXX) -c $(TESTDEFS) $(CFLAGS) -o $@ $< + $(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -o $@ $< test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) - $(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework-mt-s $(LIBS) + $(CXX) $(xCXXFLAGS) $(xLDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework-mt-s $(LIBS) clean: diff -Nru bitcoin-0.8.1/src/makefile.mingw bitcoin-0.8.5/src/makefile.mingw --- bitcoin-0.8.1/src/makefile.mingw 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/makefile.mingw 2013-09-12 03:35:18.000000000 +0000 @@ -79,7 +79,6 @@ obj/key.o \ obj/db.o \ obj/init.o \ - obj/irc.o \ obj/keystore.o \ obj/main.o \ obj/net.o \ diff -Nru bitcoin-0.8.1/src/makefile.osx bitcoin-0.8.5/src/makefile.osx --- bitcoin-0.8.1/src/makefile.osx 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/makefile.osx 2013-09-12 03:35:18.000000000 +0000 @@ -36,6 +36,7 @@ $(DEPSDIR)/lib/libboost_filesystem-mt.a \ $(DEPSDIR)/lib/libboost_program_options-mt.a \ $(DEPSDIR)/lib/libboost_thread-mt.a \ + $(DEPSDIR)/lib/libboost_chrono-mt.a \ $(DEPSDIR)/lib/libssl.a \ $(DEPSDIR)/lib/libcrypto.a \ -lz @@ -48,6 +49,7 @@ -lboost_filesystem-mt \ -lboost_program_options-mt \ -lboost_thread-mt \ + -lboost_chrono-mt \ -lssl \ -lcrypto \ -lz @@ -80,7 +82,6 @@ obj/key.o \ obj/db.o \ obj/init.o \ - obj/irc.o \ obj/keystore.o \ obj/main.o \ obj/net.o \ diff -Nru bitcoin-0.8.1/src/makefile.unix bitcoin-0.8.5/src/makefile.unix --- bitcoin-0.8.1/src/makefile.unix 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/makefile.unix 2013-09-12 03:35:18.000000000 +0000 @@ -2,7 +2,13 @@ # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. +# :=0 --> UPnP support turned off by default at runtime +# :=1 --> UPnP support turned on by default at runtime +# :=- --> No UPnP support - miniupnp not required USE_UPNP:=0 + +# :=1 --> Enable IPv6 support +# :=0 --> Disable IPv6 support USE_IPV6:=1 LINK:=$(CXX) @@ -36,6 +42,10 @@ -l ssl \ -l crypto +TESTLIBS += \ + -Wl,-B$(LMODE) \ + -l boost_unit_test_framework$(BOOST_LIB_SUFFIX) + ifndef USE_UPNP override USE_UPNP = - endif @@ -111,7 +121,6 @@ obj/key.o \ obj/db.o \ obj/init.o \ - obj/irc.o \ obj/keystore.o \ obj/main.o \ obj/net.o \ @@ -179,7 +188,7 @@ rm -f $(@:%.o=%.d) test_bitcoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) - $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS) + $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ $(TESTLIBS) $(xLDFLAGS) $(LIBS) clean: -rm -f bitcoind test_bitcoin diff -Nru bitcoin-0.8.1/src/net.cpp bitcoin-0.8.5/src/net.cpp --- bitcoin-0.8.1/src/net.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/net.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -3,7 +3,6 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "irc.h" #include "db.h" #include "net.h" #include "init.h" @@ -22,19 +21,14 @@ #include #endif +// Dump addresses to peers.dat every 15 minutes (900s) +#define DUMP_ADDRESSES_INTERVAL 900 + using namespace std; using namespace boost; static const int MAX_OUTBOUND_CONNECTIONS = 8; -void ThreadMessageHandler2(void* parg); -void ThreadSocketHandler2(void* parg); -void ThreadOpenConnections2(void* parg); -void ThreadOpenAddedConnections2(void* parg); -#ifdef USE_UPNP -void ThreadMapPort2(void* parg); -#endif -void ThreadDNSAddressSeed2(void* parg); bool OpenNetworkConnection(const CAddress& addrConnect, CSemaphoreGrant *grantOutbound = NULL, const char *strDest = NULL, bool fOneShot = false); @@ -47,24 +41,24 @@ // Global state variables // bool fDiscover = true; -bool fUseUPnP = false; uint64 nLocalServices = NODE_NETWORK; static CCriticalSection cs_mapLocalHost; static map mapLocalHost; static bool vfReachable[NET_MAX] = {}; static bool vfLimited[NET_MAX] = {}; static CNode* pnodeLocalHost = NULL; +static CNode* pnodeSync = NULL; uint64 nLocalHostNonce = 0; -array vnThreadsRunning; static std::vector vhListenSocket; CAddrMan addrman; +int nMaxConnections = 125; vector vNodes; CCriticalSection cs_vNodes; map mapRelay; deque > vRelayExpiration; CCriticalSection cs_mapRelay; -map mapAlreadyAskedFor; +limitedmap mapAlreadyAskedFor(MAX_INV_SZ); static deque vOneShots; CCriticalSection cs_vOneShots; @@ -157,8 +151,7 @@ } else if (nBytes <= 0) { - if (fShutdown) - return false; + boost::this_thread::interruption_point(); if (nBytes < 0) { int nErr = WSAGetLastError(); @@ -166,7 +159,7 @@ continue; if (nErr == WSAEWOULDBLOCK || nErr == WSAEINTR || nErr == WSAEINPROGRESS) { - Sleep(10); + MilliSleep(10); continue; } } @@ -347,7 +340,6 @@ return error("GetMyExternalIP() : connection closed"); } -// We now get our external IP from the IRC server first and only use this as a backup bool GetMyExternalIP(CNetAddr& ipRet) { CService addrConnect; @@ -357,13 +349,13 @@ for (int nLookup = 0; nLookup <= 1; nLookup++) for (int nHost = 1; nHost <= 2; nHost++) { - // We should be phasing out our use of sites like these. If we need + // We should be phasing out our use of sites like these. If we need // replacements, we should ask for volunteers to put this simple // php file on their web server that prints the client IP: // if (nHost == 1) { - addrConnect = CService("91.198.22.70",80); // checkip.dyndns.org + addrConnect = CService("91.198.22.70", 80); // checkip.dyndns.org if (nLookup == 1) { @@ -437,12 +429,10 @@ CNode* FindNode(const CNetAddr& ip) { - { - LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) - if ((CNetAddr)pnode->addr == ip) - return (pnode); - } + LOCK(cs_vNodes); + BOOST_FOREACH(CNode* pnode, vNodes) + if ((CNetAddr)pnode->addr == ip) + return (pnode); return NULL; } @@ -457,16 +447,14 @@ CNode* FindNode(const CService& addr) { - { - LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) - if ((CService)pnode->addr == addr) - return (pnode); - } + LOCK(cs_vNodes); + BOOST_FOREACH(CNode* pnode, vNodes) + if ((CService)pnode->addr == addr) + return (pnode); return NULL; } -CNode* ConnectNode(CAddress addrConnect, const char *pszDest, int64 nTimeout) +CNode* ConnectNode(CAddress addrConnect, const char *pszDest) { if (pszDest == NULL) { if (IsLocal(addrConnect)) @@ -476,10 +464,7 @@ CNode* pnode = FindNode((CService)addrConnect); if (pnode) { - if (nTimeout != 0) - pnode->AddRef(nTimeout); - else - pnode->AddRef(); + pnode->AddRef(); return pnode; } } @@ -511,10 +496,7 @@ // Add node CNode* pnode = new CNode(hSocket, addrConnect, pszDest ? pszDest : "", false); - if (nTimeout != 0) - pnode->AddRef(nTimeout); - else - pnode->AddRef(); + pnode->AddRef(); { LOCK(cs_vNodes); @@ -538,8 +520,16 @@ printf("disconnecting node %s\n", addrName.c_str()); closesocket(hSocket); hSocket = INVALID_SOCKET; - vRecv.clear(); } + + // in case this fails, we'll empty the recv buffer when the CNode is deleted + TRY_LOCK(cs_vRecvMsg, lockRecv); + if (lockRecv) + vRecvMsg.clear(); + + // if this was the sync node, we'll need a new one + if (this == pnodeSync) + pnodeSync = NULL; } void CNode::Cleanup() @@ -624,48 +614,142 @@ X(nVersion); X(strSubVer); X(fInbound); - X(nReleaseTime); X(nStartingHeight); X(nMisbehavior); + X(nSendBytes); + X(nRecvBytes); + stats.fSyncNode = (this == pnodeSync); } #undef X +// requires LOCK(cs_vRecvMsg) +bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes) +{ + while (nBytes > 0) { + + // get current incomplete message, or create a new one + if (vRecvMsg.empty() || + vRecvMsg.back().complete()) + vRecvMsg.push_back(CNetMessage(SER_NETWORK, nRecvVersion)); + + CNetMessage& msg = vRecvMsg.back(); + + // absorb network data + int handled; + if (!msg.in_data) + handled = msg.readHeader(pch, nBytes); + else + handled = msg.readData(pch, nBytes); + + if (handled < 0) + return false; + pch += handled; + nBytes -= handled; + } + return true; +} +int CNetMessage::readHeader(const char *pch, unsigned int nBytes) +{ + // copy data to temporary parsing buffer + unsigned int nRemaining = 24 - nHdrPos; + unsigned int nCopy = std::min(nRemaining, nBytes); + memcpy(&hdrbuf[nHdrPos], pch, nCopy); + nHdrPos += nCopy; + // if header incomplete, exit + if (nHdrPos < 24) + return nCopy; + // deserialize to CMessageHeader + try { + hdrbuf >> hdr; + } + catch (std::exception &e) { + return -1; + } + + // reject messages larger than MAX_SIZE + if (hdr.nMessageSize > MAX_SIZE) + return -1; + // switch state to reading message data + in_data = true; + vRecv.resize(hdr.nMessageSize); + return nCopy; +} -void ThreadSocketHandler(void* parg) +int CNetMessage::readData(const char *pch, unsigned int nBytes) { - // Make this thread recognisable as the networking thread - RenameThread("bitcoin-net"); + unsigned int nRemaining = hdr.nMessageSize - nDataPos; + unsigned int nCopy = std::min(nRemaining, nBytes); - try - { - vnThreadsRunning[THREAD_SOCKETHANDLER]++; - ThreadSocketHandler2(parg); - vnThreadsRunning[THREAD_SOCKETHANDLER]--; + memcpy(&vRecv[nDataPos], pch, nCopy); + nDataPos += nCopy; + + return nCopy; +} + + + + + + + + + +// requires LOCK(cs_vSend) +void SocketSendData(CNode *pnode) +{ + std::deque::iterator it = pnode->vSendMsg.begin(); + + while (it != pnode->vSendMsg.end()) { + const CSerializeData &data = *it; + assert(data.size() > pnode->nSendOffset); + int nBytes = send(pnode->hSocket, &data[pnode->nSendOffset], data.size() - pnode->nSendOffset, MSG_NOSIGNAL | MSG_DONTWAIT); + if (nBytes > 0) { + pnode->nLastSend = GetTime(); + pnode->nSendBytes += nBytes; + pnode->nSendOffset += nBytes; + if (pnode->nSendOffset == data.size()) { + pnode->nSendOffset = 0; + pnode->nSendSize -= data.size(); + it++; + } else { + // could not send full message; stop sending more + break; + } + } else { + if (nBytes < 0) { + // error + int nErr = WSAGetLastError(); + if (nErr != WSAEWOULDBLOCK && nErr != WSAEMSGSIZE && nErr != WSAEINTR && nErr != WSAEINPROGRESS) + { + printf("socket send error %d\n", nErr); + pnode->CloseSocketDisconnect(); + } + } + // couldn't send anything at all + break; + } } - catch (std::exception& e) { - vnThreadsRunning[THREAD_SOCKETHANDLER]--; - PrintException(&e, "ThreadSocketHandler()"); - } catch (...) { - vnThreadsRunning[THREAD_SOCKETHANDLER]--; - throw; // support pthread_cancel() + + if (it == pnode->vSendMsg.end()) { + assert(pnode->nSendOffset == 0); + assert(pnode->nSendSize == 0); } - printf("ThreadSocketHandler exited\n"); + pnode->vSendMsg.erase(pnode->vSendMsg.begin(), it); } -void ThreadSocketHandler2(void* parg) +static list vNodesDisconnected; + +void ThreadSocketHandler() { - printf("ThreadSocketHandler started\n"); - list vNodesDisconnected; unsigned int nPrevNodeCount = 0; - loop { // @@ -678,7 +762,7 @@ BOOST_FOREACH(CNode* pnode, vNodesCopy) { if (pnode->fDisconnect || - (pnode->GetRefCount() <= 0 && pnode->vRecv.empty() && pnode->vSend.empty())) + (pnode->GetRefCount() <= 0 && pnode->vRecvMsg.empty() && pnode->nSendSize == 0 && pnode->ssSend.empty())) { // remove from vNodes vNodes.erase(remove(vNodes.begin(), vNodes.end(), pnode), vNodes.end()); @@ -691,7 +775,6 @@ pnode->Cleanup(); // hold in disconnected pool until all refs are released - pnode->nReleaseTime = max(pnode->nReleaseTime, GetTime() + 15 * 60); if (pnode->fNetworkNode || pnode->fInbound) pnode->Release(); vNodesDisconnected.push_back(pnode); @@ -710,7 +793,7 @@ TRY_LOCK(pnode->cs_vSend, lockSend); if (lockSend) { - TRY_LOCK(pnode->cs_vRecv, lockRecv); + TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) { TRY_LOCK(pnode->cs_inventory, lockInv); @@ -761,24 +844,46 @@ { if (pnode->hSocket == INVALID_SOCKET) continue; - FD_SET(pnode->hSocket, &fdsetRecv); FD_SET(pnode->hSocket, &fdsetError); hSocketMax = max(hSocketMax, pnode->hSocket); have_fds = true; + + // Implement the following logic: + // * If there is data to send, select() for sending data. As this only + // happens when optimistic write failed, we choose to first drain the + // write buffer in this case before receiving more. This avoids + // needlessly queueing received data, if the remote peer is not themselves + // receiving data. This means properly utilizing TCP flow control signalling. + // * Otherwise, if there is no (complete) message in the receive buffer, + // or there is space left in the buffer, select() for receiving data. + // * (if neither of the above applies, there is certainly one message + // in the receiver buffer ready to be processed). + // Together, that means that at least one of the following is always possible, + // so we don't deadlock: + // * We send some data. + // * We wait for data to be received (and disconnect after timeout). + // * We process a message in the buffer (message handler thread). { TRY_LOCK(pnode->cs_vSend, lockSend); - if (lockSend && !pnode->vSend.empty()) + if (lockSend && !pnode->vSendMsg.empty()) { FD_SET(pnode->hSocket, &fdsetSend); + continue; + } + } + { + TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); + if (lockRecv && ( + pnode->vRecvMsg.empty() || !pnode->vRecvMsg.front().complete() || + pnode->GetTotalRecvSize() <= ReceiveFloodSize())) + FD_SET(pnode->hSocket, &fdsetRecv); } } } - vnThreadsRunning[THREAD_SOCKETHANDLER]--; int nSelect = select(have_fds ? hSocketMax + 1 : 0, &fdsetRecv, &fdsetSend, &fdsetError, &timeout); - vnThreadsRunning[THREAD_SOCKETHANDLER]++; - if (fShutdown) - return; + boost::this_thread::interruption_point(); + if (nSelect == SOCKET_ERROR) { if (have_fds) @@ -790,7 +895,7 @@ } FD_ZERO(&fdsetSend); FD_ZERO(&fdsetError); - Sleep(timeout.tv_usec/1000); + MilliSleep(timeout.tv_usec/1000); } @@ -827,7 +932,7 @@ if (nErr != WSAEWOULDBLOCK) printf("socket error accept failed: %d\n", nErr); } - else if (nInbound >= GetArg("-maxconnections", 125) - MAX_OUTBOUND_CONNECTIONS) + else if (nInbound >= nMaxConnections - MAX_OUTBOUND_CONNECTIONS) { { LOCK(cs_setservAddNodeAddresses); @@ -865,8 +970,7 @@ } BOOST_FOREACH(CNode* pnode, vNodesCopy) { - if (fShutdown) - return; + boost::this_thread::interruption_point(); // // Receive @@ -875,26 +979,19 @@ continue; if (FD_ISSET(pnode->hSocket, &fdsetRecv) || FD_ISSET(pnode->hSocket, &fdsetError)) { - TRY_LOCK(pnode->cs_vRecv, lockRecv); + TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) { - CDataStream& vRecv = pnode->vRecv; - unsigned int nPos = vRecv.size(); - - if (nPos > ReceiveBufferSize()) { - if (!pnode->fDisconnect) - printf("socket recv flood control disconnect (%"PRIszu" bytes)\n", vRecv.size()); - pnode->CloseSocketDisconnect(); - } - else { + { // typical socket buffer is 8K-64K char pchBuf[0x10000]; int nBytes = recv(pnode->hSocket, pchBuf, sizeof(pchBuf), MSG_DONTWAIT); if (nBytes > 0) { - vRecv.resize(nPos + nBytes); - memcpy(&vRecv[nPos], pchBuf, nBytes); + if (!pnode->ReceiveMsgBytes(pchBuf, nBytes)) + pnode->CloseSocketDisconnect(); pnode->nLastRecv = GetTime(); + pnode->nRecvBytes += nBytes; } else if (nBytes == 0) { @@ -927,34 +1024,13 @@ { TRY_LOCK(pnode->cs_vSend, lockSend); if (lockSend) - { - CDataStream& vSend = pnode->vSend; - if (!vSend.empty()) - { - int nBytes = send(pnode->hSocket, &vSend[0], vSend.size(), MSG_NOSIGNAL | MSG_DONTWAIT); - if (nBytes > 0) - { - vSend.erase(vSend.begin(), vSend.begin() + nBytes); - pnode->nLastSend = GetTime(); - } - else if (nBytes < 0) - { - // error - int nErr = WSAGetLastError(); - if (nErr != WSAEWOULDBLOCK && nErr != WSAEMSGSIZE && nErr != WSAEINTR && nErr != WSAEINPROGRESS) - { - printf("socket send error %d\n", nErr); - pnode->CloseSocketDisconnect(); - } - } - } - } + SocketSendData(pnode); } // // Inactivity checking // - if (pnode->vSend.empty()) + if (pnode->vSendMsg.empty()) pnode->nLastSendEmpty = GetTime(); if (GetTime() - pnode->nTimeConnected > 60) { @@ -981,7 +1057,7 @@ pnode->Release(); } - Sleep(10); + MilliSleep(10); } } @@ -994,31 +1070,8 @@ #ifdef USE_UPNP -void ThreadMapPort(void* parg) -{ - // Make this thread recognisable as the UPnP thread - RenameThread("bitcoin-UPnP"); - - try - { - vnThreadsRunning[THREAD_UPNP]++; - ThreadMapPort2(parg); - vnThreadsRunning[THREAD_UPNP]--; - } - catch (std::exception& e) { - vnThreadsRunning[THREAD_UPNP]--; - PrintException(&e, "ThreadMapPort()"); - } catch (...) { - vnThreadsRunning[THREAD_UPNP]--; - PrintException(NULL, "ThreadMapPort()"); - } - printf("ThreadMapPort exited\n"); -} - -void ThreadMapPort2(void* parg) +void ThreadMapPort() { - printf("ThreadMapPort started\n"); - std::string port = strprintf("%u", GetListenPort()); const char * multicastif = 0; const char * minissdpdpath = 0; @@ -1059,33 +1112,9 @@ } string strDesc = "Bitcoin " + FormatFullVersion(); -#ifndef UPNPDISCOVER_SUCCESS - /* miniupnpc 1.5 */ - r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, - port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0); -#else - /* miniupnpc 1.6 */ - r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, - port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0, "0"); -#endif - if(r!=UPNPCOMMAND_SUCCESS) - printf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n", - port.c_str(), port.c_str(), lanaddr, r, strupnperror(r)); - else - printf("UPnP Port Mapping successful.\n"); - int i = 1; - loop { - if (fShutdown || !fUseUPnP) - { - r = UPNP_DeletePortMapping(urls.controlURL, data.first.servicetype, port.c_str(), "TCP", 0); - printf("UPNP_DeletePortMapping() returned : %d\n", r); - freeUPNPDevlist(devlist); devlist = 0; - FreeUPNPUrls(&urls); - return; - } - if (i % 600 == 0) // Refresh every 20 minutes - { + try { + loop { #ifndef UPNPDISCOVER_SUCCESS /* miniupnpc 1.5 */ r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, @@ -1101,33 +1130,49 @@ port.c_str(), port.c_str(), lanaddr, r, strupnperror(r)); else printf("UPnP Port Mapping successful.\n");; + + MilliSleep(20*60*1000); // Refresh every 20 minutes } - Sleep(2000); - i++; + } + catch (boost::thread_interrupted) + { + r = UPNP_DeletePortMapping(urls.controlURL, data.first.servicetype, port.c_str(), "TCP", 0); + printf("UPNP_DeletePortMapping() returned : %d\n", r); + freeUPNPDevlist(devlist); devlist = 0; + FreeUPNPUrls(&urls); + throw; } } else { printf("No valid UPnP IGDs found\n"); freeUPNPDevlist(devlist); devlist = 0; if (r != 0) FreeUPNPUrls(&urls); - loop { - if (fShutdown || !fUseUPnP) - return; - Sleep(2000); - } } } -void MapPort() +void MapPort(bool fUseUPnP) { - if (fUseUPnP && vnThreadsRunning[THREAD_UPNP] < 1) + static boost::thread* upnp_thread = NULL; + + if (fUseUPnP) { - if (!NewThread(ThreadMapPort, NULL)) - printf("Error: ThreadMapPort(ThreadMapPort) failed\n"); + if (upnp_thread) { + upnp_thread->interrupt(); + upnp_thread->join(); + delete upnp_thread; + } + upnp_thread = new boost::thread(boost::bind(&TraceThread >, "upnp", &ThreadMapPort)); + } + else if (upnp_thread) { + upnp_thread->interrupt(); + upnp_thread->join(); + delete upnp_thread; + upnp_thread = NULL; } } + #else -void MapPort() +void MapPort(bool) { // Intentionally left blank. } @@ -1155,35 +1200,14 @@ static const char *strTestNetDNSSeed[][2] = { {"bitcoin.petertodd.org", "testnet-seed.bitcoin.petertodd.org"}, + {"bluematt.me", "testnet-seed.bluematt.me"}, {NULL, NULL} }; -void ThreadDNSAddressSeed(void* parg) -{ - // Make this thread recognisable as the DNS seeding thread - RenameThread("bitcoin-dnsseed"); - - try - { - vnThreadsRunning[THREAD_DNSSEED]++; - ThreadDNSAddressSeed2(parg); - vnThreadsRunning[THREAD_DNSSEED]--; - } - catch (std::exception& e) { - vnThreadsRunning[THREAD_DNSSEED]--; - PrintException(&e, "ThreadDNSAddressSeed()"); - } catch (...) { - vnThreadsRunning[THREAD_DNSSEED]--; - throw; // support pthread_cancel() - } - printf("ThreadDNSAddressSeed exited\n"); -} - -void ThreadDNSAddressSeed2(void* parg) +void ThreadDNSAddressSeed() { static const char *(*strDNSSeed)[2] = fTestNet ? strTestNetDNSSeed : strMainNetDNSSeed; - printf("ThreadDNSAddressSeed started\n"); int found = 0; printf("Loading addresses from DNS seeds (could take a while)\n"); @@ -1313,57 +1337,6 @@ addrman.size(), GetTimeMillis() - nStart); } -void ThreadDumpAddress2(void* parg) -{ - printf("ThreadDumpAddress started\n"); - - vnThreadsRunning[THREAD_DUMPADDRESS]++; - while (!fShutdown) - { - DumpAddresses(); - vnThreadsRunning[THREAD_DUMPADDRESS]--; - Sleep(100000); - vnThreadsRunning[THREAD_DUMPADDRESS]++; - } - vnThreadsRunning[THREAD_DUMPADDRESS]--; -} - -void ThreadDumpAddress(void* parg) -{ - // Make this thread recognisable as the address dumping thread - RenameThread("bitcoin-adrdump"); - - try - { - ThreadDumpAddress2(parg); - } - catch (std::exception& e) { - PrintException(&e, "ThreadDumpAddress()"); - } - printf("ThreadDumpAddress exited\n"); -} - -void ThreadOpenConnections(void* parg) -{ - // Make this thread recognisable as the connection opening thread - RenameThread("bitcoin-opencon"); - - try - { - vnThreadsRunning[THREAD_OPENCONNECTIONS]++; - ThreadOpenConnections2(parg); - vnThreadsRunning[THREAD_OPENCONNECTIONS]--; - } - catch (std::exception& e) { - vnThreadsRunning[THREAD_OPENCONNECTIONS]--; - PrintException(&e, "ThreadOpenConnections()"); - } catch (...) { - vnThreadsRunning[THREAD_OPENCONNECTIONS]--; - PrintException(NULL, "ThreadOpenConnections()"); - } - printf("ThreadOpenConnections exited\n"); -} - void static ProcessOneShot() { string strDest; @@ -1382,10 +1355,8 @@ } } -void ThreadOpenConnections2(void* parg) +void ThreadOpenConnections() { - printf("ThreadOpenConnections started\n"); - // Connect to specific addresses if (mapArgs.count("-connect") && mapMultiArgs["-connect"].size() > 0) { @@ -1398,12 +1369,10 @@ OpenNetworkConnection(addr, NULL, strAddr.c_str()); for (int i = 0; i < 10 && i < nLoop; i++) { - Sleep(500); - if (fShutdown) - return; + MilliSleep(500); } } - Sleep(500); + MilliSleep(500); } } @@ -1413,18 +1382,10 @@ { ProcessOneShot(); - vnThreadsRunning[THREAD_OPENCONNECTIONS]--; - Sleep(500); - vnThreadsRunning[THREAD_OPENCONNECTIONS]++; - if (fShutdown) - return; - + MilliSleep(500); - vnThreadsRunning[THREAD_OPENCONNECTIONS]--; CSemaphoreGrant grant(*semOutbound); - vnThreadsRunning[THREAD_OPENCONNECTIONS]++; - if (fShutdown) - return; + boost::this_thread::interruption_point(); // Add seed nodes if IRC isn't working if (addrman.size()==0 && (GetTime() - nStart > 60) && !fTestNet) @@ -1504,38 +1465,15 @@ } } -void ThreadOpenAddedConnections(void* parg) -{ - // Make this thread recognisable as the connection opening thread - RenameThread("bitcoin-opencon"); - - try - { - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]++; - ThreadOpenAddedConnections2(parg); - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]--; - } - catch (std::exception& e) { - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]--; - PrintException(&e, "ThreadOpenAddedConnections()"); - } catch (...) { - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]--; - PrintException(NULL, "ThreadOpenAddedConnections()"); - } - printf("ThreadOpenAddedConnections exited\n"); -} - -void ThreadOpenAddedConnections2(void* parg) +void ThreadOpenAddedConnections() { - printf("ThreadOpenAddedConnections started\n"); - { LOCK(cs_vAddedNodes); vAddedNodes = mapMultiArgs["-addnode"]; } if (HaveNameProxy()) { - while(!fShutdown) { + while(true) { list lAddresses(0); { LOCK(cs_vAddedNodes); @@ -1546,15 +1484,10 @@ CAddress addr; CSemaphoreGrant grant(*semOutbound); OpenNetworkConnection(addr, &grant, strAddNode.c_str()); - Sleep(500); - if (fShutdown) - return; - } - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]--; - Sleep(120000); // Retry every 2 minutes - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]++; + MilliSleep(500); + } + MilliSleep(120000); // Retry every 2 minutes } - return; } for (unsigned int i = 0; true; i++) @@ -1598,17 +1531,9 @@ { CSemaphoreGrant grant(*semOutbound); OpenNetworkConnection(CAddress(vserv[i % vserv.size()]), &grant); - Sleep(500); - if (fShutdown) - return; + MilliSleep(500); } - if (fShutdown) - return; - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]--; - Sleep(120000); // Retry every 2 minutes - vnThreadsRunning[THREAD_ADDEDCONNECTIONS]++; - if (fShutdown) - return; + MilliSleep(120000); // Retry every 2 minutes } } @@ -1618,8 +1543,7 @@ // // Initiate outbound network connection // - if (fShutdown) - return false; + boost::this_thread::interruption_point(); if (!strDest) if (IsLocal(addrConnect) || FindNode((CNetAddr)addrConnect) || CNode::IsBanned(addrConnect) || @@ -1628,11 +1552,9 @@ if (strDest && FindNode(strDest)) return false; - vnThreadsRunning[THREAD_OPENCONNECTIONS]--; CNode* pnode = ConnectNode(addrConnect, strDest); - vnThreadsRunning[THREAD_OPENCONNECTIONS]++; - if (fShutdown) - return false; + boost::this_thread::interruption_point(); + if (!pnode) return false; if (grantOutbound) @@ -1645,61 +1567,81 @@ } +// for now, use a very simple selection metric: the node from which we received +// most recently +double static NodeSyncScore(const CNode *pnode) { + return -pnode->nLastRecv; +} +void static StartSync(const vector &vNodes) { + CNode *pnodeNewSync = NULL; + double dBestScore = 0; + + // fImporting and fReindex are accessed out of cs_main here, but only + // as an optimization - they are checked again in SendMessages. + if (fImporting || fReindex) + return; - - - - -void ThreadMessageHandler(void* parg) -{ - // Make this thread recognisable as the message handling thread - RenameThread("bitcoin-msghand"); - - try - { - vnThreadsRunning[THREAD_MESSAGEHANDLER]++; - ThreadMessageHandler2(parg); - vnThreadsRunning[THREAD_MESSAGEHANDLER]--; + // Iterate over all nodes + BOOST_FOREACH(CNode* pnode, vNodes) { + // check preconditions for allowing a sync + if (!pnode->fClient && !pnode->fOneShot && + !pnode->fDisconnect && pnode->fSuccessfullyConnected && + (pnode->nStartingHeight > (nBestHeight - 144)) && + (pnode->nVersion < NOBLKS_VERSION_START || pnode->nVersion >= NOBLKS_VERSION_END)) { + // if ok, compare node's score with the best so far + double dScore = NodeSyncScore(pnode); + if (pnodeNewSync == NULL || dScore > dBestScore) { + pnodeNewSync = pnode; + dBestScore = dScore; + } + } } - catch (std::exception& e) { - vnThreadsRunning[THREAD_MESSAGEHANDLER]--; - PrintException(&e, "ThreadMessageHandler()"); - } catch (...) { - vnThreadsRunning[THREAD_MESSAGEHANDLER]--; - PrintException(NULL, "ThreadMessageHandler()"); + // if a new sync candidate was found, start sync! + if (pnodeNewSync) { + pnodeNewSync->fStartSync = true; + pnodeSync = pnodeNewSync; } - printf("ThreadMessageHandler exited\n"); } -void ThreadMessageHandler2(void* parg) +void ThreadMessageHandler() { - printf("ThreadMessageHandler started\n"); SetThreadPriority(THREAD_PRIORITY_BELOW_NORMAL); - while (!fShutdown) + while (true) { + bool fHaveSyncNode = false; + vector vNodesCopy; { LOCK(cs_vNodes); vNodesCopy = vNodes; - BOOST_FOREACH(CNode* pnode, vNodesCopy) + BOOST_FOREACH(CNode* pnode, vNodesCopy) { pnode->AddRef(); + if (pnode == pnodeSync) + fHaveSyncNode = true; + } } + if (!fHaveSyncNode) + StartSync(vNodesCopy); + // Poll the connected nodes for messages CNode* pnodeTrickle = NULL; if (!vNodesCopy.empty()) pnodeTrickle = vNodesCopy[GetRand(vNodesCopy.size())]; BOOST_FOREACH(CNode* pnode, vNodesCopy) { + if (pnode->fDisconnect) + continue; + // Receive messages { - TRY_LOCK(pnode->cs_vRecv, lockRecv); + TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) - ProcessMessages(pnode); + if (!ProcessMessages(pnode)) + pnode->CloseSocketDisconnect(); } - if (fShutdown) - return; + boost::this_thread::interruption_point(); // Send messages { @@ -1707,8 +1649,7 @@ if (lockSend) SendMessages(pnode, pnode == pnodeTrickle); } - if (fShutdown) - return; + boost::this_thread::interruption_point(); } { @@ -1717,16 +1658,7 @@ pnode->Release(); } - // Wait and allow messages to bunch up. - // Reduce vnThreadsRunning so StopNode has permission to exit while - // we're sleeping, but we must always check fShutdown after doing this. - vnThreadsRunning[THREAD_MESSAGEHANDLER]--; - Sleep(100); - if (fRequestShutdown) - StartShutdown(); - vnThreadsRunning[THREAD_MESSAGEHANDLER]++; - if (fShutdown) - return; + MilliSleep(100); } } @@ -1740,18 +1672,6 @@ strError = ""; int nOne = 1; -#ifdef WIN32 - // Initialize Windows Sockets - WSADATA wsadata; - int ret = WSAStartup(MAKEWORD(2,2), &wsadata); - if (ret != NO_ERROR) - { - strError = strprintf("Error: TCP/IP socket library failed to start (WSAStartup returned error %d)", ret); - printf("%s\n", strError.c_str()); - return false; - } -#endif - // Create socket for listening for incoming connections #ifdef USE_IPV6 struct sockaddr_storage sockaddr; @@ -1898,14 +1818,11 @@ NewThread(ThreadGetMyExternalIP, NULL); } -void StartNode(void* parg) +void StartNode(boost::thread_group& threadGroup) { - // Make this thread recognisable as the startup thread - RenameThread("bitcoin-start"); - if (semOutbound == NULL) { // initialize semaphore - int nMaxOutbound = min(MAX_OUTBOUND_CONNECTIONS, (int)GetArg("-maxconnections", 125)); + int nMaxOutbound = min(MAX_OUTBOUND_CONNECTIONS, nMaxConnections); semOutbound = new CSemaphore(nMaxOutbound); } @@ -1921,77 +1838,41 @@ if (!GetBoolArg("-dnsseed", true)) printf("DNS seeding disabled\n"); else - if (!NewThread(ThreadDNSAddressSeed, NULL)) - printf("Error: NewThread(ThreadDNSAddressSeed) failed\n"); + threadGroup.create_thread(boost::bind(&TraceThread >, "dnsseed", &ThreadDNSAddressSeed)); +#ifdef USE_UPNP // Map ports with UPnP - if (fUseUPnP) - MapPort(); - - // Get addresses from IRC and advertise ours - if (!NewThread(ThreadIRCSeed, NULL)) - printf("Error: NewThread(ThreadIRCSeed) failed\n"); + MapPort(GetBoolArg("-upnp", USE_UPNP)); +#endif // Send and receive from sockets, accept connections - if (!NewThread(ThreadSocketHandler, NULL)) - printf("Error: NewThread(ThreadSocketHandler) failed\n"); + threadGroup.create_thread(boost::bind(&TraceThread, "net", &ThreadSocketHandler)); // Initiate outbound connections from -addnode - if (!NewThread(ThreadOpenAddedConnections, NULL)) - printf("Error: NewThread(ThreadOpenAddedConnections) failed\n"); + threadGroup.create_thread(boost::bind(&TraceThread, "addcon", &ThreadOpenAddedConnections)); // Initiate outbound connections - if (!NewThread(ThreadOpenConnections, NULL)) - printf("Error: NewThread(ThreadOpenConnections) failed\n"); + threadGroup.create_thread(boost::bind(&TraceThread, "opencon", &ThreadOpenConnections)); // Process messages - if (!NewThread(ThreadMessageHandler, NULL)) - printf("Error: NewThread(ThreadMessageHandler) failed\n"); + threadGroup.create_thread(boost::bind(&TraceThread, "msghand", &ThreadMessageHandler)); // Dump network addresses - if (!NewThread(ThreadDumpAddress, NULL)) - printf("Error; NewThread(ThreadDumpAddress) failed\n"); - - // Generate coins in the background - GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain); + threadGroup.create_thread(boost::bind(&LoopForever, "dumpaddr", &DumpAddresses, DUMP_ADDRESSES_INTERVAL * 1000)); } bool StopNode() { printf("StopNode()\n"); - fShutdown = true; + GenerateBitcoins(false, NULL); + MapPort(false); nTransactionsUpdated++; - int64 nStart = GetTime(); if (semOutbound) for (int i=0; ipost(); - do - { - int nThreadsRunning = 0; - for (int n = 0; n < THREAD_MAX; n++) - nThreadsRunning += vnThreadsRunning[n]; - if (nThreadsRunning == 0) - break; - if (GetTime() - nStart > 20) - break; - Sleep(20); - } while(true); - if (vnThreadsRunning[THREAD_SOCKETHANDLER] > 0) printf("ThreadSocketHandler still running\n"); - if (vnThreadsRunning[THREAD_OPENCONNECTIONS] > 0) printf("ThreadOpenConnections still running\n"); - if (vnThreadsRunning[THREAD_MESSAGEHANDLER] > 0) printf("ThreadMessageHandler still running\n"); - if (vnThreadsRunning[THREAD_MINER] > 0) printf("ThreadBitcoinMiner still running\n"); - if (vnThreadsRunning[THREAD_RPCLISTENER] > 0) printf("ThreadRPCListener still running\n"); - if (vnThreadsRunning[THREAD_RPCHANDLER] > 0) printf("ThreadsRPCServer still running\n"); -#ifdef USE_UPNP - if (vnThreadsRunning[THREAD_UPNP] > 0) printf("ThreadMapPort still running\n"); -#endif - if (vnThreadsRunning[THREAD_DNSSEED] > 0) printf("ThreadDNSAddressSeed still running\n"); - if (vnThreadsRunning[THREAD_ADDEDCONNECTIONS] > 0) printf("ThreadOpenAddedConnections still running\n"); - if (vnThreadsRunning[THREAD_DUMPADDRESS] > 0) printf("ThreadDumpAddresses still running\n"); - while (vnThreadsRunning[THREAD_MESSAGEHANDLER] > 0 || vnThreadsRunning[THREAD_RPCHANDLER] > 0) - Sleep(20); - Sleep(50); + MilliSleep(50); DumpAddresses(); + return true; } @@ -2012,6 +1893,18 @@ if (closesocket(hListenSocket) == SOCKET_ERROR) 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 // Shutdown Windows Sockets WSACleanup(); diff -Nru bitcoin-0.8.1/src/net.h bitcoin-0.8.5/src/net.h --- bitcoin-0.8.1/src/net.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/net.h 2013-09-12 03:35:18.000000000 +0000 @@ -15,6 +15,7 @@ #endif #include "mruset.h" +#include "limitedmap.h" #include "netbase.h" #include "protocol.h" #include "addrman.h" @@ -27,7 +28,7 @@ -inline unsigned int ReceiveBufferSize() { return 1000*GetArg("-maxreceivebuffer", 5*1000); } +inline unsigned int ReceiveFloodSize() { return 1000*GetArg("-maxreceivebuffer", 5*1000); } inline unsigned int SendBufferSize() { return 1000*GetArg("-maxsendbuffer", 1*1000); } void AddOneShot(std::string strDest); @@ -36,12 +37,13 @@ void AddressCurrentlyConnected(const CService& addr); CNode* FindNode(const CNetAddr& ip); CNode* FindNode(const CService& ip); -CNode* ConnectNode(CAddress addrConnect, const char *strDest = NULL, int64 nTimeout=0); -void MapPort(); +CNode* ConnectNode(CAddress addrConnect, const char *strDest = NULL); +void MapPort(bool fUseUPnP); unsigned short GetListenPort(); bool BindListenPort(const CService &bindAddr, std::string& strError=REF(std::string())); -void StartNode(void* parg); +void StartNode(boost::thread_group& threadGroup); bool StopNode(); +void SocketSendData(CNode *pnode); enum { @@ -49,7 +51,6 @@ LOCAL_IF, // address a local interface listens on LOCAL_BIND, // address explicit bound to LOCAL_UPNP, // address reported by UPnP - LOCAL_IRC, // address reported by IRC (deprecated) LOCAL_HTTP, // address reported by whatismyip.com and similar LOCAL_MANUAL, // address explicitly specified (-externalip=) @@ -69,38 +70,18 @@ CAddress GetLocalAddress(const CNetAddr *paddrPeer = NULL); -/** Thread types */ -enum threadId -{ - THREAD_SOCKETHANDLER, - THREAD_OPENCONNECTIONS, - THREAD_MESSAGEHANDLER, - THREAD_MINER, - THREAD_RPCLISTENER, - THREAD_UPNP, - THREAD_DNSSEED, - THREAD_ADDEDCONNECTIONS, - THREAD_DUMPADDRESS, - THREAD_RPCHANDLER, - THREAD_IMPORT, - THREAD_SCRIPTCHECK, - - THREAD_MAX -}; - extern bool fDiscover; -extern bool fUseUPnP; extern uint64 nLocalServices; extern uint64 nLocalHostNonce; -extern boost::array vnThreadsRunning; extern CAddrMan addrman; +extern int nMaxConnections; extern std::vector vNodes; extern CCriticalSection cs_vNodes; extern std::map mapRelay; extern std::deque > vRelayExpiration; extern CCriticalSection cs_mapRelay; -extern std::map mapAlreadyAskedFor; +extern limitedmap mapAlreadyAskedFor; extern std::vector vAddedNodes; extern CCriticalSection cs_vAddedNodes; @@ -119,9 +100,49 @@ int nVersion; std::string strSubVer; bool fInbound; - int64 nReleaseTime; int nStartingHeight; int nMisbehavior; + uint64 nSendBytes; + uint64 nRecvBytes; + bool fSyncNode; +}; + + + + +class CNetMessage { +public: + bool in_data; // parsing header (false) or data (true) + + CDataStream hdrbuf; // partially received header + CMessageHeader hdr; // complete header + unsigned int nHdrPos; + + CDataStream vRecv; // received message data + unsigned int nDataPos; + + CNetMessage(int nTypeIn, int nVersionIn) : hdrbuf(nTypeIn, nVersionIn), vRecv(nTypeIn, nVersionIn) { + hdrbuf.resize(24); + in_data = false; + nHdrPos = 0; + nDataPos = 0; + } + + bool complete() const + { + if (!in_data) + return false; + return (hdr.nMessageSize == nDataPos); + } + + void SetVersion(int nVersionIn) + { + hdrbuf.SetVersion(nVersionIn); + vRecv.SetVersion(nVersionIn); + } + + int readHeader(const char *pch, unsigned int nBytes); + int readData(const char *pch, unsigned int nBytes); }; @@ -135,16 +156,23 @@ // socket uint64 nServices; SOCKET hSocket; - CDataStream vSend; - CDataStream vRecv; + CDataStream ssSend; + size_t nSendSize; // total size of all vSendMsg entries + size_t nSendOffset; // offset inside the first vSendMsg already sent + uint64 nSendBytes; + std::deque vSendMsg; CCriticalSection cs_vSend; - CCriticalSection cs_vRecv; + + std::deque vRecvGetData; + std::deque vRecvMsg; + CCriticalSection cs_vRecvMsg; + uint64 nRecvBytes; + int nRecvVersion; + int64 nLastSend; int64 nLastRecv; int64 nLastSendEmpty; int64 nTimeConnected; - int nHeaderStart; - unsigned int nMessageStart; CAddress addr; std::string addrName; CService addrLocal; @@ -164,8 +192,8 @@ CSemaphoreGrant grantOutbound; CCriticalSection cs_filter; CBloomFilter* pfilter; -protected: int nRefCount; +protected: // Denial-of-service detection/prevention // Key is IP address, value is banned-until-time @@ -174,11 +202,11 @@ int nMisbehavior; public: - int64 nReleaseTime; uint256 hashContinue; CBlockIndex* pindexLastGetBlocksBegin; uint256 hashLastGetBlocksEnd; int nStartingHeight; + bool fStartSync; // flood relay std::vector vAddrToSend; @@ -192,16 +220,17 @@ CCriticalSection cs_inventory; std::multimap mapAskFor; - CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : vSend(SER_NETWORK, MIN_PROTO_VERSION), vRecv(SER_NETWORK, MIN_PROTO_VERSION) + CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, MIN_PROTO_VERSION) { nServices = 0; hSocket = hSocketIn; + nRecvVersion = MIN_PROTO_VERSION; nLastSend = 0; nLastRecv = 0; + nSendBytes = 0; + nRecvBytes = 0; nLastSendEmpty = GetTime(); nTimeConnected = GetTime(); - nHeaderStart = -1; - nMessageStart = -1; addr = addrIn; addrName = addrNameIn == "" ? addr.ToStringIPPort() : addrNameIn; nVersion = 0; @@ -213,19 +242,21 @@ fSuccessfullyConnected = false; fDisconnect = false; nRefCount = 0; - nReleaseTime = 0; + nSendSize = 0; + nSendOffset = 0; hashContinue = 0; pindexLastGetBlocksBegin = 0; hashLastGetBlocksEnd = 0; nStartingHeight = -1; + fStartSync = false; fGetAddr = false; nMisbehavior = 0; fRelayTxes = false; setInventoryKnown.max_size(SendBufferSize() / 1000); - pfilter = NULL; + pfilter = new CBloomFilter(); // Be shy and don't send version until we hear - if (!fInbound) + if (hSocket != INVALID_SOCKET && !fInbound) PushVersion(); } @@ -248,15 +279,33 @@ int GetRefCount() { - return std::max(nRefCount, 0) + (GetTime() < nReleaseTime ? 1 : 0); + assert(nRefCount >= 0); + return nRefCount; } - CNode* AddRef(int64 nTimeout=0) + // requires LOCK(cs_vRecvMsg) + unsigned int GetTotalRecvSize() { - if (nTimeout != 0) - nReleaseTime = std::max(nReleaseTime, GetTime() + nTimeout); - else - nRefCount++; + unsigned int total = 0; + BOOST_FOREACH(const CNetMessage &msg, vRecvMsg) + total += msg.vRecv.size() + 24; + return total; + } + + // requires LOCK(cs_vRecvMsg) + bool ReceiveMsgBytes(const char *pch, unsigned int nBytes); + + // requires LOCK(cs_vRecvMsg) + void SetRecvVersion(int nVersionIn) + { + nRecvVersion = nVersionIn; + BOOST_FOREACH(CNetMessage &msg, vRecvMsg) + msg.SetVersion(nVersionIn); + } + + CNode* AddRef() + { + nRefCount++; return this; } @@ -303,7 +352,12 @@ { // We're using mapAskFor as a priority queue, // the key is the earliest time the request can be sent - int64& nRequestTime = mapAlreadyAskedFor[inv]; + int64 nRequestTime; + limitedmap::const_iterator it = mapAlreadyAskedFor.find(inv); + if (it != mapAlreadyAskedFor.end()) + nRequestTime = it->second; + else + nRequestTime = 0; if (fDebugNet) printf("askfor %s %"PRI64d" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str()); @@ -316,6 +370,10 @@ // Each retry is 2 minutes after the last nRequestTime = std::max(nRequestTime + 2 * 60 * 1000000, nNow); + if (it != mapAlreadyAskedFor.end()) + mapAlreadyAskedFor.update(it, nRequestTime); + else + mapAlreadyAskedFor.insert(std::make_pair(inv, nRequestTime)); mapAskFor.insert(std::make_pair(nRequestTime, inv)); } @@ -325,11 +383,8 @@ void BeginMessage(const char* pszCommand) EXCLUSIVE_LOCK_FUNCTION(cs_vSend) { ENTER_CRITICAL_SECTION(cs_vSend); - if (nHeaderStart != -1) - AbortMessage(); - nHeaderStart = vSend.size(); - vSend << CMessageHeader(pszCommand, 0); - nMessageStart = vSend.size(); + assert(ssSend.size() == 0); + ssSend << CMessageHeader(pszCommand, 0); if (fDebug) printf("sending: %s ", pszCommand); } @@ -337,11 +392,8 @@ // TODO: Document the precondition of this function. Is cs_vSend locked? void AbortMessage() UNLOCK_FUNCTION(cs_vSend) { - if (nHeaderStart < 0) - return; - vSend.resize(nHeaderStart); - nHeaderStart = -1; - nMessageStart = -1; + ssSend.clear(); + LEAVE_CRITICAL_SECTION(cs_vSend); if (fDebug) @@ -358,26 +410,32 @@ return; } - if (nHeaderStart < 0) + if (ssSend.size() == 0) return; // Set the size - unsigned int nSize = vSend.size() - nMessageStart; - memcpy((char*)&vSend[nHeaderStart] + CMessageHeader::MESSAGE_SIZE_OFFSET, &nSize, sizeof(nSize)); + unsigned int nSize = ssSend.size() - CMessageHeader::HEADER_SIZE; + memcpy((char*)&ssSend[CMessageHeader::MESSAGE_SIZE_OFFSET], &nSize, sizeof(nSize)); // Set the checksum - uint256 hash = Hash(vSend.begin() + nMessageStart, vSend.end()); + uint256 hash = Hash(ssSend.begin() + CMessageHeader::HEADER_SIZE, ssSend.end()); unsigned int nChecksum = 0; memcpy(&nChecksum, &hash, sizeof(nChecksum)); - assert(nMessageStart - nHeaderStart >= CMessageHeader::CHECKSUM_OFFSET + sizeof(nChecksum)); - memcpy((char*)&vSend[nHeaderStart] + CMessageHeader::CHECKSUM_OFFSET, &nChecksum, sizeof(nChecksum)); + assert(ssSend.size () >= CMessageHeader::CHECKSUM_OFFSET + sizeof(nChecksum)); + memcpy((char*)&ssSend[CMessageHeader::CHECKSUM_OFFSET], &nChecksum, sizeof(nChecksum)); if (fDebug) { printf("(%d bytes)\n", nSize); } - nHeaderStart = -1; - nMessageStart = -1; + std::deque::iterator it = vSendMsg.insert(vSendMsg.end(), CSerializeData()); + ssSend.GetAndClear(*it); + nSendSize += (*it).size(); + + // If write queue empty, attempt "optimistic write" + if (it == vSendMsg.begin()) + SocketSendData(this); + LEAVE_CRITICAL_SECTION(cs_vSend); } @@ -404,7 +462,7 @@ try { BeginMessage(pszCommand); - vSend << a1; + ssSend << a1; EndMessage(); } catch (...) @@ -420,7 +478,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2; + ssSend << a1 << a2; EndMessage(); } catch (...) @@ -436,7 +494,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2 << a3; + ssSend << a1 << a2 << a3; EndMessage(); } catch (...) @@ -452,7 +510,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2 << a3 << a4; + ssSend << a1 << a2 << a3 << a4; EndMessage(); } catch (...) @@ -468,7 +526,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2 << a3 << a4 << a5; + ssSend << a1 << a2 << a3 << a4 << a5; EndMessage(); } catch (...) @@ -484,7 +542,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2 << a3 << a4 << a5 << a6; + ssSend << a1 << a2 << a3 << a4 << a5 << a6; EndMessage(); } catch (...) @@ -500,7 +558,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2 << a3 << a4 << a5 << a6 << a7; + ssSend << a1 << a2 << a3 << a4 << a5 << a6 << a7; EndMessage(); } catch (...) @@ -516,7 +574,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2 << a3 << a4 << a5 << a6 << a7 << a8; + ssSend << a1 << a2 << a3 << a4 << a5 << a6 << a7 << a8; EndMessage(); } catch (...) @@ -532,7 +590,7 @@ try { BeginMessage(pszCommand); - vSend << a1 << a2 << a3 << a4 << a5 << a6 << a7 << a8 << a9; + ssSend << a1 << a2 << a3 << a4 << a5 << a6 << a7 << a8 << a9; EndMessage(); } catch (...) diff -Nru bitcoin-0.8.1/src/netbase.cpp bitcoin-0.8.5/src/netbase.cpp --- bitcoin-0.8.1/src/netbase.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/netbase.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -72,19 +72,14 @@ aiHint.ai_socktype = SOCK_STREAM; aiHint.ai_protocol = IPPROTO_TCP; -#ifdef WIN32 -# ifdef USE_IPV6 +#ifdef USE_IPV6 aiHint.ai_family = AF_UNSPEC; -# else +#else aiHint.ai_family = AF_INET; -# endif +#endif +#ifdef WIN32 aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST; #else -# ifdef USE_IPV6 - aiHint.ai_family = AF_UNSPEC; -# else - aiHint.ai_family = AF_INET; -# endif aiHint.ai_flags = fAllowLookup ? AI_ADDRCONFIG : AI_NUMERICHOST; #endif struct addrinfo *aiRes = NULL; @@ -119,13 +114,12 @@ bool LookupHost(const char *pszName, std::vector& vIP, unsigned int nMaxSolutions, bool fAllowLookup) { - std::string str(pszName); - std::string strHost = str; - if (str.empty()) + std::string strHost(pszName); + if (strHost.empty()) return false; - if (boost::algorithm::starts_with(str, "[") && boost::algorithm::ends_with(str, "]")) + if (boost::algorithm::starts_with(strHost, "[") && boost::algorithm::ends_with(strHost, "]")) { - strHost = str.substr(1, str.size() - 2); + strHost = strHost.substr(1, strHost.size() - 2); } return LookupIntern(strHost.c_str(), vIP, nMaxSolutions, fAllowLookup); @@ -222,10 +216,9 @@ return error("Hostname too long"); } char pszSocks5Init[] = "\5\1\0"; - char *pszSocks5 = pszSocks5Init; ssize_t nSize = sizeof(pszSocks5Init) - 1; - ssize_t ret = send(hSocket, pszSocks5, nSize, MSG_NOSIGNAL); + ssize_t ret = send(hSocket, pszSocks5Init, nSize, MSG_NOSIGNAL); if (ret != nSize) { closesocket(hSocket); @@ -414,7 +407,7 @@ if (ioctlsocket(hSocket, FIONBIO, &fNonblock) == SOCKET_ERROR) #else fFlags = fcntl(hSocket, F_GETFL, 0); - if (fcntl(hSocket, F_SETFL, fFlags & !O_NONBLOCK) == SOCKET_ERROR) + if (fcntl(hSocket, F_SETFL, fFlags & ~O_NONBLOCK) == SOCKET_ERROR) #endif { closesocket(hSocket); diff -Nru bitcoin-0.8.1/src/protocol.cpp bitcoin-0.8.5/src/protocol.cpp --- bitcoin-0.8.1/src/protocol.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/protocol.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -142,12 +142,7 @@ std::string CInv::ToString() const { - if (type == MSG_BLOCK) - return strprintf("%s %s", GetCommand(), BlockHashStr(hash).c_str()); - if (type == MSG_TX) - return strprintf("%s %s", GetCommand(), hash.ToString().substr(0,10).c_str()); - - return strprintf("%s %s", GetCommand(), hash.ToString().substr(0,20).c_str()); + return strprintf("%s %s", GetCommand(), hash.ToString().c_str()); } void CInv::print() const diff -Nru bitcoin-0.8.1/src/protocol.h bitcoin-0.8.5/src/protocol.h --- bitcoin-0.8.1/src/protocol.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/protocol.h 2013-09-12 03:35:18.000000000 +0000 @@ -56,7 +56,8 @@ CHECKSUM_SIZE=sizeof(int), MESSAGE_SIZE_OFFSET=MESSAGE_START_SIZE+COMMAND_SIZE, - CHECKSUM_OFFSET=MESSAGE_SIZE_OFFSET+MESSAGE_SIZE_SIZE + CHECKSUM_OFFSET=MESSAGE_SIZE_OFFSET+MESSAGE_SIZE_SIZE, + HEADER_SIZE=MESSAGE_START_SIZE+COMMAND_SIZE+MESSAGE_SIZE_SIZE+CHECKSUM_SIZE }; char pchMessageStart[MESSAGE_START_SIZE]; char pchCommand[COMMAND_SIZE]; diff -Nru bitcoin-0.8.1/src/qt/aboutdialog.cpp bitcoin-0.8.5/src/qt/aboutdialog.cpp --- bitcoin-0.8.1/src/qt/aboutdialog.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/aboutdialog.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -2,10 +2,7 @@ #include "ui_aboutdialog.h" #include "clientmodel.h" - -// Copyright year (2009-this) -// Todo: update this when changing our copyright comments in the source -const int ABOUTDIALOG_COPYRIGHT_YEAR = 2013; +#include "clientversion.h" AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), @@ -14,7 +11,7 @@ ui->setupUi(this); // Set current copyright year - ui->copyrightLabel->setText(tr("Copyright") + QString(" © ") + tr("2009-%1 The Bitcoin developers").arg(ABOUTDIALOG_COPYRIGHT_YEAR)); + ui->copyrightLabel->setText(tr("Copyright") + QString(" © 2009-%1 ").arg(COPYRIGHT_YEAR) + tr("The Bitcoin developers")); } void AboutDialog::setModel(ClientModel *model) diff -Nru bitcoin-0.8.1/src/qt/addressbookpage.cpp bitcoin-0.8.5/src/qt/addressbookpage.cpp --- bitcoin-0.8.1/src/qt/addressbookpage.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/addressbookpage.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -8,15 +8,15 @@ #include "csvmodelwriter.h" #include "guiutil.h" +#ifdef USE_QRCODE +#include "qrcodedialog.h" +#endif + #include #include #include #include -#ifdef USE_QRCODE -#include "qrcodedialog.h" -#endif - AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : QDialog(parent), ui(new Ui::AddressBookPage), @@ -28,9 +28,12 @@ ui->setupUi(this); #ifdef Q_OS_MAC // Icons on push buttons are very uncommon on Mac - ui->newAddressButton->setIcon(QIcon()); - ui->copyToClipboard->setIcon(QIcon()); - ui->deleteButton->setIcon(QIcon()); + ui->newAddress->setIcon(QIcon()); + ui->copyAddress->setIcon(QIcon()); + ui->deleteAddress->setIcon(QIcon()); + ui->verifyMessage->setIcon(QIcon()); + ui->signMessage->setIcon(QIcon()); + ui->exportButton->setIcon(QIcon()); #endif #ifndef USE_QRCODE @@ -43,6 +46,7 @@ connect(ui->tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(accept())); ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableView->setFocus(); + ui->exportButton->hide(); break; case ForEditing: ui->buttonBox->setVisible(false); @@ -51,24 +55,26 @@ switch(tab) { case SendingTab: - ui->labelExplanation->setVisible(false); - ui->deleteButton->setVisible(true); + ui->labelExplanation->setText(tr("These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.")); + ui->deleteAddress->setVisible(true); ui->signMessage->setVisible(false); break; case ReceivingTab: - ui->deleteButton->setVisible(false); + ui->labelExplanation->setText(tr("These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you.")); + ui->deleteAddress->setVisible(false); ui->signMessage->setVisible(true); break; } // Context menu actions - QAction *copyAddressAction = new QAction(ui->copyToClipboard->text(), this); + QAction *copyAddressAction = new QAction(ui->copyAddress->text(), this); QAction *copyLabelAction = new QAction(tr("Copy &Label"), this); QAction *editAction = new QAction(tr("&Edit"), this); + QAction *sendCoinsAction = new QAction(tr("Send &Coins"), this); QAction *showQRCodeAction = new QAction(ui->showQRCode->text(), this); QAction *signMessageAction = new QAction(ui->signMessage->text(), this); QAction *verifyMessageAction = new QAction(ui->verifyMessage->text(), this); - deleteAction = new QAction(ui->deleteButton->text(), this); + deleteAction = new QAction(ui->deleteAddress->text(), this); // Build context menu contextMenu = new QMenu(); @@ -78,6 +84,8 @@ if(tab == SendingTab) contextMenu->addAction(deleteAction); contextMenu->addSeparator(); + if(tab == SendingTab) + contextMenu->addAction(sendCoinsAction); #ifdef USE_QRCODE contextMenu->addAction(showQRCodeAction); #endif @@ -87,10 +95,11 @@ contextMenu->addAction(verifyMessageAction); // Connect signals for context menu actions - connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_clicked())); + connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyAddress_clicked())); connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction())); connect(editAction, SIGNAL(triggered()), this, SLOT(onEditAction())); - connect(deleteAction, SIGNAL(triggered()), this, SLOT(on_deleteButton_clicked())); + connect(deleteAction, SIGNAL(triggered()), this, SLOT(on_deleteAddress_clicked())); + connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(onSendCoinsAction())); connect(showQRCodeAction, SIGNAL(triggered()), this, SLOT(on_showQRCode_clicked())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(on_signMessage_clicked())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(on_verifyMessage_clicked())); @@ -134,17 +143,14 @@ ui->tableView->sortByColumn(0, Qt::AscendingOrder); // Set column widths - ui->tableView->horizontalHeader()->resizeSection( - AddressTableModel::Address, 320); - ui->tableView->horizontalHeader()->setResizeMode( - AddressTableModel::Label, QHeaderView::Stretch); + ui->tableView->horizontalHeader()->setResizeMode(AddressTableModel::Label, QHeaderView::Stretch); + ui->tableView->horizontalHeader()->setResizeMode(AddressTableModel::Address, QHeaderView::ResizeToContents); connect(ui->tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectionChanged())); // Select row for newly created address - connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(selectNewAddress(QModelIndex,int,int))); + connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(selectNewAddress(QModelIndex,int,int))); selectionChanged(); } @@ -154,7 +160,7 @@ this->optionsModel = optionsModel; } -void AddressBookPage::on_copyToClipboard_clicked() +void AddressBookPage::on_copyAddress_clicked() { GUIUtil::copyEntryData(ui->tableView, AddressTableModel::Address); } @@ -206,7 +212,19 @@ } } -void AddressBookPage::on_newAddressButton_clicked() +void AddressBookPage::onSendCoinsAction() +{ + QTableView *table = ui->tableView; + QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address); + + foreach (QModelIndex index, indexes) + { + QString address = index.data().toString(); + emit sendCoins(address); + } +} + +void AddressBookPage::on_newAddress_clicked() { if(!model) return; @@ -222,7 +240,7 @@ } } -void AddressBookPage::on_deleteButton_clicked() +void AddressBookPage::on_deleteAddress_clicked() { QTableView *table = ui->tableView; if(!table->selectionModel()) @@ -248,8 +266,8 @@ { case SendingTab: // In sending tab, allow deletion of selection - ui->deleteButton->setEnabled(true); - ui->deleteButton->setVisible(true); + ui->deleteAddress->setEnabled(true); + ui->deleteAddress->setVisible(true); deleteAction->setEnabled(true); ui->signMessage->setEnabled(false); ui->signMessage->setVisible(false); @@ -258,8 +276,8 @@ break; case ReceivingTab: // Deleting receiving addresses, however, is not allowed - ui->deleteButton->setEnabled(false); - ui->deleteButton->setVisible(false); + ui->deleteAddress->setEnabled(false); + ui->deleteAddress->setVisible(false); deleteAction->setEnabled(false); ui->signMessage->setEnabled(true); ui->signMessage->setVisible(true); @@ -267,14 +285,14 @@ ui->verifyMessage->setVisible(false); break; } - ui->copyToClipboard->setEnabled(true); + ui->copyAddress->setEnabled(true); ui->showQRCode->setEnabled(true); } else { - ui->deleteButton->setEnabled(false); + ui->deleteAddress->setEnabled(false); ui->showQRCode->setEnabled(false); - ui->copyToClipboard->setEnabled(false); + ui->copyAddress->setEnabled(false); ui->signMessage->setEnabled(false); ui->verifyMessage->setEnabled(false); } @@ -307,7 +325,7 @@ QDialog::done(retval); } -void AddressBookPage::exportClicked() +void AddressBookPage::on_exportButton_clicked() { // CSV is currently the only supported format QString filename = GUIUtil::getSaveFileName( diff -Nru bitcoin-0.8.1/src/qt/addressbookpage.h bitcoin-0.8.5/src/qt/addressbookpage.h --- bitcoin-0.8.1/src/qt/addressbookpage.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/addressbookpage.h 2013-09-12 03:35:18.000000000 +0000 @@ -43,7 +43,6 @@ public slots: void done(int retval); - void exportClicked(); private: Ui::AddressBookPage *ui; @@ -59,21 +58,25 @@ private slots: /** Delete currently selected address entry */ - void on_deleteButton_clicked(); + void on_deleteAddress_clicked(); /** Create a new address for receiving coins and / or add a new address book entry */ - void on_newAddressButton_clicked(); + void on_newAddress_clicked(); /** Copy address of currently selected address entry to clipboard */ - void on_copyToClipboard_clicked(); + void on_copyAddress_clicked(); /** Open the sign message tab in the Sign/Verify Message dialog with currently selected address */ void on_signMessage_clicked(); /** Open the verify message tab in the Sign/Verify Message dialog with currently selected address */ void on_verifyMessage_clicked(); + /** Open send coins dialog for currently selected address (no button) */ + void onSendCoinsAction(); /** Generate a QR Code from the currently selected address */ void on_showQRCode_clicked(); /** Copy label of currently selected address entry to clipboard (no button) */ void onCopyLabelAction(); /** Edit currently selected address entry (no button) */ void onEditAction(); + /** Export button clicked */ + void on_exportButton_clicked(); /** Set button states based on selected tab and selection */ void selectionChanged(); @@ -85,6 +88,7 @@ signals: void signMessage(QString addr); void verifyMessage(QString addr); + void sendCoins(QString addr); }; #endif // ADDRESSBOOKPAGE_H diff -Nru bitcoin-0.8.1/src/qt/addresstablemodel.cpp bitcoin-0.8.5/src/qt/addresstablemodel.cpp --- bitcoin-0.8.1/src/qt/addresstablemodel.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/addresstablemodel.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,5 @@ #include "addresstablemodel.h" + #include "guiutil.h" #include "walletmodel.h" @@ -6,7 +7,6 @@ #include "base58.h" #include -#include const QString AddressTableModel::Send = "S"; const QString AddressTableModel::Receive = "R"; diff -Nru bitcoin-0.8.1/src/qt/addresstablemodel.h bitcoin-0.8.5/src/qt/addresstablemodel.h --- bitcoin-0.8.1/src/qt/addresstablemodel.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/addresstablemodel.h 2013-09-12 03:35:18.000000000 +0000 @@ -14,6 +14,7 @@ class AddressTableModel : public QAbstractTableModel { Q_OBJECT + public: explicit AddressTableModel(CWallet *wallet, WalletModel *parent = 0); ~AddressTableModel(); diff -Nru bitcoin-0.8.1/src/qt/askpassphrasedialog.cpp bitcoin-0.8.5/src/qt/askpassphrasedialog.cpp --- bitcoin-0.8.1/src/qt/askpassphrasedialog.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/askpassphrasedialog.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -235,7 +235,7 @@ if (str.length() != 0) { const QChar *psz = str.unicode(); bool fShift = (ke->modifiers() & Qt::ShiftModifier) != 0; - if ((fShift && psz->isLower()) || (!fShift && psz->isUpper())) { + if ((fShift && *psz >= 'a' && *psz <= 'z') || (!fShift && *psz >= 'A' && *psz <= 'Z')) { fCapsLock = true; ui->capsLabel->setText(tr("Warning: The Caps Lock key is on!")); } else if (psz->isLetter()) { diff -Nru bitcoin-0.8.1/src/qt/askpassphrasedialog.h bitcoin-0.8.5/src/qt/askpassphrasedialog.h --- bitcoin-0.8.1/src/qt/askpassphrasedialog.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/askpassphrasedialog.h 2013-09-12 03:35:18.000000000 +0000 @@ -6,7 +6,6 @@ namespace Ui { class AskPassphraseDialog; } - class WalletModel; /** Multifunctional dialog to ask for passphrases. Used for encryption, unlocking, and changing the passphrase. diff -Nru bitcoin-0.8.1/src/qt/bitcoin.cpp bitcoin-0.8.5/src/qt/bitcoin.cpp --- bitcoin-0.8.1/src/qt/bitcoin.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoin.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,6 +1,9 @@ /* * W.J. van der Laan 2011-2012 */ + +#include + #include "bitcoingui.h" #include "clientmodel.h" #include "walletmodel.h" @@ -8,17 +11,22 @@ #include "guiutil.h" #include "guiconstants.h" #include "init.h" +#include "util.h" #include "ui_interface.h" -#include "qtipcserver.h" +#include "paymentserver.h" +#include "splashscreen.h" -#include #include #include #include +#include #include -#include #include +#ifdef Q_OS_MAC +#include "macdockiconhandler.h" +#endif + #if defined(BITCOIN_NEED_QT_PLUGINS) && !defined(_BITCOIN_QT_PLUGINS_INCLUDED) #define _BITCOIN_QT_PLUGINS_INCLUDED #define __INSURE__ @@ -30,9 +38,12 @@ Q_IMPORT_PLUGIN(qtaccessiblewidgets) #endif +// Declare meta types used for QMetaObject::invokeMethod +Q_DECLARE_METATYPE(bool*) + // Need a global reference for the notifications to find the GUI static BitcoinGUI *guiref; -static QSplashScreen *splashref; +static SplashScreen *splashref; static bool ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style) { @@ -62,7 +73,7 @@ { if(!guiref) return false; - if(nFeeRequired < MIN_TX_FEE || nFeeRequired <= nTransactionFee || fDaemon) + if(nFeeRequired < CTransaction::nMinTxFee || nFeeRequired <= nTransactionFee || fDaemon) return true; bool payFee = false; @@ -74,30 +85,16 @@ return payFee; } -static void ThreadSafeHandleURI(const std::string& strURI) -{ - if(!guiref) - return; - - QMetaObject::invokeMethod(guiref, "handleURI", GUIUtil::blockingGUIThreadConnection(), - Q_ARG(QString, QString::fromStdString(strURI))); -} - static void InitMessage(const std::string &message) { if(splashref) { - splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); - QApplication::instance()->processEvents(); + splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(55,55,55)); + qApp->processEvents(); } printf("init message: %s\n", message.c_str()); } -static void QueueShutdown() -{ - QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection); -} - /* Translate string to current locale using Qt. */ @@ -121,14 +118,6 @@ // Command-line options take precedence: ParseParameters(argc, argv); - if(GetBoolArg("-testnet")) // Separate message queue name for testnet - strBitcoinURIQueueName = BITCOINURI_QUEUE_NAME_TESTNET; - else - strBitcoinURIQueueName = BITCOINURI_QUEUE_NAME_MAINNET; - - // Do this early as we don't want to bother initializing if we are just calling IPC - ipcScanRelay(argc, argv); - // Internal string conversion is all UTF-8 QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); @@ -136,6 +125,15 @@ Q_INIT_RESOURCE(bitcoin); QApplication app(argc, argv); + // Register meta types used for QMetaObject::invokeMethod + qRegisterMetaType< bool* >(); + + // Do this early as we don't want to bother initializing if we are just calling IPC + // ... but do it after creating app, so QCoreApplication::arguments is initialized: + if (PaymentServer::ipcSendCommandLine()) + exit(0); + PaymentServer* paymentServer = new PaymentServer(&app); + // Install global event filter that makes sure that long tooltips can be word-wrapped app.installEventFilter(new GUIUtil::ToolTipToRichTextFilter(TOOLTIP_WRAP_THRESHOLD, &app)); @@ -152,12 +150,12 @@ // Application identification (must be set before OptionsModel is initialized, // as it is used to locate QSettings) - app.setOrganizationName("Bitcoin"); - app.setOrganizationDomain("bitcoin.org"); + QApplication::setOrganizationName("Bitcoin"); + QApplication::setOrganizationDomain("bitcoin.org"); if(GetBoolArg("-testnet")) // Separate UI settings for testnet - app.setApplicationName("Bitcoin-Qt-testnet"); + QApplication::setApplicationName("Bitcoin-Qt-testnet"); else - app.setApplicationName("Bitcoin-Qt"); + QApplication::setApplicationName("Bitcoin-Qt"); // ... then GUI settings: OptionsModel optionsModel; @@ -192,9 +190,7 @@ // Subscribe to global signals from core uiInterface.ThreadSafeMessageBox.connect(ThreadSafeMessageBox); uiInterface.ThreadSafeAskFee.connect(ThreadSafeAskFee); - uiInterface.ThreadSafeHandleURI.connect(ThreadSafeHandleURI); uiInterface.InitMessage.connect(InitMessage); - uiInterface.QueueShutdown.connect(QueueShutdown); uiInterface.Translate.connect(Translate); // Show help message immediately after parsing command-line options (for "-lang") and setting locale, @@ -206,7 +202,14 @@ return 1; } - QSplashScreen splash(QPixmap(":/images/splash"), 0); +#ifdef Q_OS_MAC + // on mac, also change the icon now because it would look strange to have a testnet splash (green) and a std app icon (orange) + if(GetBoolArg("-testnet")) { + MacDockIconHandler::instance()->setIcon(QIcon(":icons/bitcoin_testnet")); + } +#endif + + SplashScreen splash(QPixmap(), 0); if (GetBoolArg("-splash", true) && !GetBoolArg("-min")) { splash.show(); @@ -215,7 +218,6 @@ } app.processEvents(); - app.setQuitOnLastWindowClosed(false); try @@ -224,9 +226,16 @@ if (GUIUtil::GetStartOnSystemStartup()) GUIUtil::SetStartOnSystemStartup(true); + boost::thread_group threadGroup; + BitcoinGUI window; guiref = &window; - if(AppInit2()) + + QTimer* pollShutdownTimer = new QTimer(guiref); + QObject::connect(pollShutdownTimer, SIGNAL(timeout()), guiref, SLOT(detectShutdown())); + pollShutdownTimer->start(200); + + if(AppInit2(threadGroup)) { { // Put this in a block, so that the Model objects are cleaned up before @@ -241,7 +250,8 @@ WalletModel walletModel(pwalletMain, &optionsModel); window.setClientModel(&clientModel); - window.setWalletModel(&walletModel); + window.addWallet("~Default", &walletModel); + window.setCurrentWallet("~Default"); // If -min option passed, start window minimized. if(GetBoolArg("-min")) @@ -253,21 +263,28 @@ window.show(); } - // Place this here as guiref has to be defined if we don't want to lose URIs - ipcInit(argc, argv); + // Now that initialization/startup is done, process any command-line + // bitcoin: URIs + QObject::connect(paymentServer, SIGNAL(receivedURI(QString)), &window, SLOT(handleURI(QString))); + QTimer::singleShot(100, paymentServer, SLOT(uiReady())); app.exec(); window.hide(); window.setClientModel(0); - window.setWalletModel(0); + window.removeAllWallets(); guiref = 0; } // Shutdown the core and its threads, but don't exit Bitcoin-Qt here - Shutdown(NULL); + threadGroup.interrupt_all(); + threadGroup.join_all(); + Shutdown(); } else { + threadGroup.interrupt_all(); + threadGroup.join_all(); + Shutdown(); return 1; } } catch (std::exception& e) { diff -Nru bitcoin-0.8.1/src/qt/bitcoin.qrc bitcoin-0.8.5/src/qt/bitcoin.qrc --- bitcoin-0.8.1/src/qt/bitcoin.qrc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoin.qrc 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,4 @@ - + res/icons/bitcoin.png res/icons/address-book.png @@ -43,19 +43,26 @@ res/images/about.png - res/images/splash2.jpg + res/images/splash.png + res/images/splash_testnet.png res/movies/update_spinner.mng + locale/bitcoin_af_ZA.qm + locale/bitcoin_ar.qm locale/bitcoin_bg.qm + locale/bitcoin_bs.ts + locale/bitcoin_ca.ts locale/bitcoin_ca_ES.qm locale/bitcoin_cs.qm + locale/bitcoin_cy.ts locale/bitcoin_da.qm locale/bitcoin_de.qm locale/bitcoin_el_GR.qm locale/bitcoin_en.qm + locale/bitcoin_eo.ts locale/bitcoin_es.qm locale/bitcoin_es_CL.qm locale/bitcoin_et.qm @@ -65,11 +72,16 @@ locale/bitcoin_fi.qm locale/bitcoin_fr.qm locale/bitcoin_fr_CA.qm + locale/bitcoin_gu_IN.ts locale/bitcoin_he.qm + locale/bitcoin_hi_IN.ts locale/bitcoin_hr.qm locale/bitcoin_hu.qm locale/bitcoin_it.qm + locale/bitcoin_ja.ts + locale/bitcoin_la.ts locale/bitcoin_lt.qm + locale/bitcoin_lv_LV.ts locale/bitcoin_nb.qm locale/bitcoin_nl.qm locale/bitcoin_pl.qm @@ -80,6 +92,7 @@ locale/bitcoin_sk.qm locale/bitcoin_sr.qm locale/bitcoin_sv.qm + locale/bitcoin_th_TH.ts locale/bitcoin_tr.qm locale/bitcoin_uk.qm locale/bitcoin_zh_CN.qm diff -Nru bitcoin-0.8.1/src/qt/bitcoinaddressvalidator.h bitcoin-0.8.5/src/qt/bitcoinaddressvalidator.h --- bitcoin-0.8.1/src/qt/bitcoinaddressvalidator.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoinaddressvalidator.h 2013-09-12 03:35:18.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef BITCOINADDRESSVALIDATOR_H #define BITCOINADDRESSVALIDATOR_H -#include +#include /** Base48 entry widget validator. Corrects near-miss characters and refuses characters that are no part of base48. @@ -9,16 +9,13 @@ class BitcoinAddressValidator : public QValidator { Q_OBJECT + public: explicit BitcoinAddressValidator(QObject *parent = 0); State validate(QString &input, int &pos) const; static const int MaxAddressLength = 35; -signals: - -public slots: - }; #endif // BITCOINADDRESSVALIDATOR_H diff -Nru bitcoin-0.8.1/src/qt/bitcoinamountfield.cpp bitcoin-0.8.5/src/qt/bitcoinamountfield.cpp --- bitcoin-0.8.1/src/qt/bitcoinamountfield.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoinamountfield.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,18 +1,14 @@ #include "bitcoinamountfield.h" + #include "qvaluecombobox.h" #include "bitcoinunits.h" - #include "guiconstants.h" -#include -#include -#include #include #include #include -#include #include -#include +#include // for qPow() BitcoinAmountField::BitcoinAmountField(QWidget *parent): QWidget(parent), amount(0), currentUnit(-1) @@ -102,7 +98,7 @@ { // Translate a comma into a period QKeyEvent periodKeyEvent(event->type(), Qt::Key_Period, keyEvent->modifiers(), ".", keyEvent->isAutoRepeat(), keyEvent->count()); - qApp->sendEvent(object, &periodKeyEvent); + QApplication::sendEvent(object, &periodKeyEvent); return true; } } @@ -149,6 +145,11 @@ amount->setDecimals(BitcoinUnits::decimals(currentUnit)); amount->setMaximum(qPow(10, BitcoinUnits::amountDigits(currentUnit)) - qPow(10, -amount->decimals())); + if(currentUnit == BitcoinUnits::uBTC) + amount->setSingleStep(0.01); + else + amount->setSingleStep(0.001); + if(valid) { // If value was valid, re-place it in the widget with the new unit diff -Nru bitcoin-0.8.1/src/qt/bitcoinamountfield.h bitcoin-0.8.5/src/qt/bitcoinamountfield.h --- bitcoin-0.8.1/src/qt/bitcoinamountfield.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoinamountfield.h 2013-09-12 03:35:18.000000000 +0000 @@ -13,7 +13,9 @@ class BitcoinAmountField: public QWidget { Q_OBJECT + Q_PROPERTY(qint64 value READ value WRITE setValue NOTIFY textChanged USER true) + public: explicit BitcoinAmountField(QWidget *parent = 0); @@ -56,5 +58,4 @@ }; - #endif // BITCOINAMOUNTFIELD_H diff -Nru bitcoin-0.8.1/src/qt/bitcoingui.cpp bitcoin-0.8.5/src/qt/bitcoingui.cpp --- bitcoin-0.8.1/src/qt/bitcoingui.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoingui.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -4,84 +4,86 @@ * W.J. van der Laan 2011-2012 * The Bitcoin Developers 2011-2012 */ + +#include + #include "bitcoingui.h" + #include "transactiontablemodel.h" -#include "addressbookpage.h" -#include "sendcoinsdialog.h" -#include "signverifymessagedialog.h" #include "optionsdialog.h" #include "aboutdialog.h" #include "clientmodel.h" #include "walletmodel.h" -#include "editaddressdialog.h" +#include "walletframe.h" #include "optionsmodel.h" #include "transactiondescdialog.h" -#include "addresstablemodel.h" -#include "transactionview.h" -#include "overviewpage.h" #include "bitcoinunits.h" #include "guiconstants.h" -#include "askpassphrasedialog.h" #include "notificator.h" #include "guiutil.h" #include "rpcconsole.h" #include "ui_interface.h" +#include "wallet.h" +#include "init.h" #ifdef Q_OS_MAC #include "macdockiconhandler.h" #endif -#include -#include #include #include #include -#include #include #include #include #include -#include -#include -#include #include #include #include #include #include -#include -#include #include #include #include +#include #include +#include +#include +#include #include -BitcoinGUI::BitcoinGUI(QWidget *parent): +const QString BitcoinGUI::DEFAULT_WALLET = "~Default"; + +BitcoinGUI::BitcoinGUI(QWidget *parent) : QMainWindow(parent), clientModel(0), - walletModel(0), encryptWalletAction(0), changePassphraseAction(0), aboutQtAction(0), trayIcon(0), notificator(0), - rpcConsole(0) + rpcConsole(0), + prevBlocks(0) { - resize(850, 550); + restoreWindowGeometry(); setWindowTitle(tr("Bitcoin") + " - " + tr("Wallet")); #ifndef Q_OS_MAC - qApp->setWindowIcon(QIcon(":icons/bitcoin")); + QApplication::setWindowIcon(QIcon(":icons/bitcoin")); setWindowIcon(QIcon(":icons/bitcoin")); #else setUnifiedTitleAndToolBarOnMac(true); QApplication::setAttribute(Qt::AA_DontShowIconsInMenus); #endif + // Create wallet frame and make it the central widget + walletFrame = new WalletFrame(this); + setCentralWidget(walletFrame); + // Accept D&D of URIs setAcceptDrops(true); // Create actions for the toolbar, menu bar and tray/dock icon + // Needs walletFrame to be initialized createActions(); // Create application menu bar @@ -93,31 +95,6 @@ // Create system tray icon and notification createTrayIcon(); - // Create tabs - overviewPage = new OverviewPage(); - - transactionsPage = new QWidget(this); - QVBoxLayout *vbox = new QVBoxLayout(); - transactionView = new TransactionView(this); - vbox->addWidget(transactionView); - transactionsPage->setLayout(vbox); - - addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab); - - receiveCoinsPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::ReceivingTab); - - sendCoinsPage = new SendCoinsDialog(this); - - signVerifyMessageDialog = new SignVerifyMessageDialog(this); - - centralWidget = new QStackedWidget(this); - centralWidget->addWidget(overviewPage); - centralWidget->addWidget(transactionsPage); - centralWidget->addWidget(addressBookPage); - centralWidget->addWidget(receiveCoinsPage); - centralWidget->addWidget(sendCoinsPage); - setCentralWidget(centralWidget); - // Create status bar statusBar(); @@ -150,7 +127,7 @@ // Override style sheet for progress bar for styles that have a segmented progress bar, // as they make the text unreadable (workaround for issue #1071) // See https://qt-project.org/doc/qt-4.8/gallery.html - QString curStyle = qApp->style()->metaObject()->className(); + QString curStyle = QApplication::style()->metaObject()->className(); if(curStyle == "QWindowsStyle" || curStyle == "QWindowsXPStyle") { progressBar->setStyleSheet("QProgressBar { background-color: #e8e8e8; border: 1px solid grey; border-radius: 7px; padding: 1px; text-align: center; } QProgressBar::chunk { background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #FF8000, stop: 1 orange); border-radius: 7px; margin: 0px; }"); @@ -162,33 +139,21 @@ syncIconMovie = new QMovie(":/movies/update_spinner", "mng", this); - // Clicking on a transaction on the overview page simply sends you to transaction history page - connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), this, SLOT(gotoHistoryPage())); - connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex))); - - // Double-clicking on a transaction on the transaction history page shows details - connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails())); - rpcConsole = new RPCConsole(this); connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(show())); - // Clicking on "Verify Message" in the address book sends you to the verify message tab - connect(addressBookPage, SIGNAL(verifyMessage(QString)), this, SLOT(gotoVerifyMessageTab(QString))); - // Clicking on "Sign Message" in the receive coins page sends you to the sign message tab - connect(receiveCoinsPage, SIGNAL(signMessage(QString)), this, SLOT(gotoSignMessageTab(QString))); - // Install event filter to be able to catch status tip events (QEvent::StatusTip) this->installEventFilter(this); - - gotoOverviewPage(); } BitcoinGUI::~BitcoinGUI() { + saveWindowGeometry(); if(trayIcon) // Hide tray icon, as deleting will let it linger until quit (on Ubuntu) trayIcon->hide(); #ifdef Q_OS_MAC delete appMenuBar; + MacDockIconHandler::instance()->setMainWindow(NULL); #endif } @@ -203,14 +168,14 @@ overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1)); 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->setToolTip(sendCoinsAction->statusTip()); sendCoinsAction->setCheckable(true); sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2)); 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->setToolTip(receiveCoinsAction->statusTip()); receiveCoinsAction->setCheckable(true); @@ -224,7 +189,7 @@ historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4)); 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->setToolTip(addressBookAction->statusTip()); addressBookAction->setCheckable(true); @@ -257,6 +222,7 @@ optionsAction->setMenuRole(QAction::PreferencesRole); toggleHideAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Show / Hide"), this); toggleHideAction->setStatusTip(tr("Show or hide the main Window")); + encryptWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this); encryptWalletAction->setStatusTip(tr("Encrypt the private keys that belong to your wallet")); encryptWalletAction->setCheckable(true); @@ -269,9 +235,6 @@ verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this); verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Bitcoin addresses")); - exportAction = new QAction(QIcon(":/icons/export"), tr("&Export..."), this); - exportAction->setStatusTip(tr("Export the data in the current tab to a file")); - exportAction->setToolTip(exportAction->statusTip()); openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this); openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console")); @@ -280,9 +243,9 @@ connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked())); connect(toggleHideAction, SIGNAL(triggered()), this, SLOT(toggleHidden())); - connect(encryptWalletAction, SIGNAL(triggered(bool)), this, SLOT(encryptWallet(bool))); - connect(backupWalletAction, SIGNAL(triggered()), this, SLOT(backupWallet())); - connect(changePassphraseAction, SIGNAL(triggered()), this, SLOT(changePassphrase())); + connect(encryptWalletAction, SIGNAL(triggered(bool)), walletFrame, SLOT(encryptWallet(bool))); + connect(backupWalletAction, SIGNAL(triggered()), walletFrame, SLOT(backupWallet())); + connect(changePassphraseAction, SIGNAL(triggered()), walletFrame, SLOT(changePassphrase())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); } @@ -300,7 +263,6 @@ // Configure the menus QMenu *file = appMenuBar->addMenu(tr("&File")); file->addAction(backupWalletAction); - file->addAction(exportAction); file->addAction(signMessageAction); file->addAction(verifyMessageAction); file->addSeparator(); @@ -328,10 +290,6 @@ toolbar->addAction(receiveCoinsAction); toolbar->addAction(historyAction); toolbar->addAction(addressBookAction); - - QToolBar *toolbar2 = addToolBar(tr("Actions toolbar")); - toolbar2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); - toolbar2->addAction(exportAction); } void BitcoinGUI::setClientModel(ClientModel *clientModel) @@ -344,7 +302,7 @@ { setWindowTitle(windowTitle() + QString(" ") + tr("[testnet]")); #ifndef Q_OS_MAC - qApp->setWindowIcon(QIcon(":icons/bitcoin_testnet")); + QApplication::setWindowIcon(QIcon(":icons/bitcoin_testnet")); setWindowIcon(QIcon(":icons/bitcoin_testnet")); #else MacDockIconHandler::instance()->setIcon(QIcon(":icons/bitcoin_testnet")); @@ -362,8 +320,7 @@ // Create system tray menu (or setup the dock menu) that late to prevent users from calling actions, // while the client has not yet fully loaded - if(trayIcon) - createTrayIconMenu(); + createTrayIconMenu(); // Keep up to date with client setNumConnections(clientModel->getNumConnections()); @@ -375,39 +332,24 @@ // Receive and report messages from network/worker thread connect(clientModel, SIGNAL(message(QString,QString,unsigned int)), this, SLOT(message(QString,QString,unsigned int))); - overviewPage->setClientModel(clientModel); rpcConsole->setClientModel(clientModel); - addressBookPage->setOptionsModel(clientModel->getOptionsModel()); - receiveCoinsPage->setOptionsModel(clientModel->getOptionsModel()); + walletFrame->setClientModel(clientModel); } } -void BitcoinGUI::setWalletModel(WalletModel *walletModel) +bool BitcoinGUI::addWallet(const QString& name, WalletModel *walletModel) { - this->walletModel = walletModel; - if(walletModel) - { - // Receive and report messages from wallet thread - connect(walletModel, SIGNAL(message(QString,QString,unsigned int)), this, SLOT(message(QString,QString,unsigned int))); - - // Put transaction list in tabs - transactionView->setModel(walletModel); - overviewPage->setWalletModel(walletModel); - addressBookPage->setModel(walletModel->getAddressTableModel()); - receiveCoinsPage->setModel(walletModel->getAddressTableModel()); - sendCoinsPage->setModel(walletModel); - signVerifyMessageDialog->setModel(walletModel); - - setEncryptionStatus(walletModel->getEncryptionStatus()); - connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SLOT(setEncryptionStatus(int))); + return walletFrame->addWallet(name, walletModel); +} - // Balloon pop-up for new transaction - connect(walletModel->getTransactionTableModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(incomingTransaction(QModelIndex,int,int))); +bool BitcoinGUI::setCurrentWallet(const QString& name) +{ + return walletFrame->setCurrentWallet(name); +} - // Ask for passphrase if needed - connect(walletModel, SIGNAL(requireUnlock()), this, SLOT(unlockWallet())); - } +void BitcoinGUI::removeAllWallets() +{ + walletFrame->removeAllWallets(); } void BitcoinGUI::createTrayIcon() @@ -420,13 +362,17 @@ trayIcon->show(); #endif - notificator = new Notificator(qApp->applicationName(), trayIcon); + notificator = new Notificator(QApplication::applicationName(), trayIcon); } void BitcoinGUI::createTrayIconMenu() { QMenu *trayIconMenu; #ifndef Q_OS_MAC + // return if trayIcon is unset (only on non-Mac OSes) + if (!trayIcon) + return; + trayIconMenu = new QMenu(this); trayIcon->setContextMenu(trayIconMenu); @@ -435,6 +381,7 @@ #else // Note: On Mac, the dock icon is used to provide the tray's functionality. MacDockIconHandler *dockIconHandler = MacDockIconHandler::instance(); + dockIconHandler->setMainWindow((QMainWindow *)this); trayIconMenu = dockIconHandler->dockMenu(); #endif @@ -466,6 +413,28 @@ } #endif +void BitcoinGUI::saveWindowGeometry() +{ + QSettings settings; + settings.setValue("nWindowPos", pos()); + settings.setValue("nWindowSize", size()); +} + +void BitcoinGUI::restoreWindowGeometry() +{ + QSettings settings; + QPoint pos = settings.value("nWindowPos").toPoint(); + QSize size = settings.value("nWindowSize", QSize(850, 550)).toSize(); + if (!pos.x() && !pos.y()) + { + QRect screen = QApplication::desktop()->screenGeometry(); + pos.setX((screen.width()-size.width())/2); + pos.setY((screen.height()-size.height())/2); + } + resize(size); + move(pos); +} + void BitcoinGUI::optionsClicked() { if(!clientModel || !clientModel->getOptionsModel()) @@ -482,6 +451,41 @@ dlg.exec(); } +void BitcoinGUI::gotoOverviewPage() +{ + if (walletFrame) walletFrame->gotoOverviewPage(); +} + +void BitcoinGUI::gotoHistoryPage() +{ + if (walletFrame) walletFrame->gotoHistoryPage(); +} + +void BitcoinGUI::gotoAddressBookPage() +{ + if (walletFrame) walletFrame->gotoAddressBookPage(); +} + +void BitcoinGUI::gotoReceiveCoinsPage() +{ + if (walletFrame) walletFrame->gotoReceiveCoinsPage(); +} + +void BitcoinGUI::gotoSendCoinsPage(QString addr) +{ + if (walletFrame) walletFrame->gotoSendCoinsPage(addr); +} + +void BitcoinGUI::gotoSignMessageTab(QString addr) +{ + if (walletFrame) walletFrame->gotoSignMessageTab(addr); +} + +void BitcoinGUI::gotoVerifyMessageTab(QString addr) +{ + if (walletFrame) walletFrame->gotoVerifyMessageTab(addr); +} + void BitcoinGUI::setNumConnections(int count) { QString icon; @@ -502,100 +506,85 @@ // Prevent orphan statusbar messages (e.g. hover Quit in main menu, wait until chain-sync starts -> garbelled text) statusBar()->clearMessage(); - // don't show / hide progress bar and its label if we have no connection to the network - enum BlockSource blockSource = clientModel ? clientModel->getBlockSource() : BLOCK_SOURCE_NONE; - if (blockSource == BLOCK_SOURCE_NONE || (blockSource == BLOCK_SOURCE_NETWORK && clientModel->getNumConnections() == 0)) - { - progressBarLabel->setVisible(false); - progressBar->setVisible(false); - - return; + // Acquire current block source + enum BlockSource blockSource = clientModel->getBlockSource(); + switch (blockSource) { + case BLOCK_SOURCE_NETWORK: + progressBarLabel->setText(tr("Synchronizing with network...")); + break; + case BLOCK_SOURCE_DISK: + progressBarLabel->setText(tr("Importing blocks from disk...")); + break; + case BLOCK_SOURCE_REINDEX: + progressBarLabel->setText(tr("Reindexing blocks on disk...")); + break; + case BLOCK_SOURCE_NONE: + // Case: not Importing, not Reindexing and no network connection + progressBarLabel->setText(tr("No block source available...")); + break; } QString tooltip; - QString importText; - switch (blockSource) { - case BLOCK_SOURCE_NONE: - case BLOCK_SOURCE_NETWORK: - importText = tr("Synchronizing with network..."); - break; - case BLOCK_SOURCE_DISK: - importText = tr("Importing blocks from disk..."); - break; - case BLOCK_SOURCE_REINDEX: - importText = tr("Reindexing blocks on disk..."); - } + QDateTime lastBlockDate = clientModel->getLastBlockDate(); + QDateTime currentDate = QDateTime::currentDateTime(); + int secs = lastBlockDate.secsTo(currentDate); if(count < nTotalBlocks) { - int nRemainingBlocks = nTotalBlocks - count; - float nPercentageDone = count / (nTotalBlocks * 0.01f); - - progressBarLabel->setText(importText); - progressBarLabel->setVisible(true); - progressBar->setFormat(tr("~%n block(s) remaining", "", nRemainingBlocks)); - progressBar->setMaximum(nTotalBlocks); - progressBar->setValue(count); - progressBar->setVisible(true); - - tooltip = tr("Processed %1 of %2 blocks of transaction history (%3% done).").arg(count).arg(nTotalBlocks).arg(nPercentageDone, 0, 'f', 2); + tooltip = tr("Processed %1 of %2 (estimated) blocks of transaction history.").arg(count).arg(nTotalBlocks); } else { - progressBarLabel->setVisible(false); - - progressBar->setVisible(false); tooltip = tr("Processed %1 blocks of transaction history.").arg(count); } - QDateTime lastBlockDate = clientModel->getLastBlockDate(); - int secs = lastBlockDate.secsTo(QDateTime::currentDateTime()); - QString text; - - // Represent time from last generated block in human readable text - if(secs <= 0) - { - // Fully up to date. Leave text empty. - } - else if(secs < 60) - { - text = tr("%n second(s) ago","",secs); - } - else if(secs < 60*60) - { - text = tr("%n minute(s) ago","",secs/60); - } - else if(secs < 24*60*60) - { - text = tr("%n hour(s) ago","",secs/(60*60)); - } - else - { - text = tr("%n day(s) ago","",secs/(60*60*24)); - } - // Set icon state: spinning if catching up, tick otherwise if(secs < 90*60 && count >= nTotalBlocks) { tooltip = tr("Up to date") + QString(".
") + tooltip; labelBlocksIcon->setPixmap(QIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); - overviewPage->showOutOfSyncWarning(false); + walletFrame->showOutOfSyncWarning(false); + + progressBarLabel->setVisible(false); + progressBar->setVisible(false); } else { + // Represent time from last generated block in human readable text + QString timeBehindText; + if(secs < 48*60*60) + { + timeBehindText = tr("%n hour(s)","",secs/(60*60)); + } + else if(secs < 14*24*60*60) + { + timeBehindText = tr("%n day(s)","",secs/(24*60*60)); + } + else + { + timeBehindText = tr("%n week(s)","",secs/(7*24*60*60)); + } + + progressBarLabel->setVisible(true); + progressBar->setFormat(tr("%1 behind").arg(timeBehindText)); + progressBar->setMaximum(1000000000); + progressBar->setValue(clientModel->getVerificationProgress() * 1000000000.0 + 0.5); + progressBar->setVisible(true); + tooltip = tr("Catching up...") + QString("
") + tooltip; labelBlocksIcon->setMovie(syncIconMovie); - syncIconMovie->start(); + if(count != prevBlocks) + syncIconMovie->jumpToNextFrame(); + prevBlocks = count; - overviewPage->showOutOfSyncWarning(true); - } + walletFrame->showOutOfSyncWarning(true); - if(!text.isEmpty()) - { tooltip += QString("
"); - tooltip += tr("Last received block was generated %1.").arg(text); + tooltip += tr("Last received block was generated %1 ago.").arg(timeBehindText); + tooltip += QString("
"); + tooltip += tr("Transactions after this will not yet be visible."); } // Don't word-wrap this (fixed-width) tooltip @@ -608,25 +597,28 @@ void BitcoinGUI::message(const QString &title, const QString &message, unsigned int style, bool *ret) { - QString strTitle = tr("Bitcoin") + " - "; + QString strTitle = tr("Bitcoin"); // default title // Default to information icon int nMBoxIcon = QMessageBox::Information; int nNotifyIcon = Notificator::Information; - // Check for usage of predefined title + // Override title based on style + QString msgType; switch (style) { case CClientUIInterface::MSG_ERROR: - strTitle += tr("Error"); + msgType = tr("Error"); break; case CClientUIInterface::MSG_WARNING: - strTitle += tr("Warning"); + msgType = tr("Warning"); break; case CClientUIInterface::MSG_INFORMATION: - strTitle += tr("Information"); + msgType = tr("Information"); break; default: - strTitle += title; // Use supplied title + msgType = title; // Use supplied title } + if (!msgType.isEmpty()) + strTitle += " - " + msgType; // Check for error/warning icon if (style & CClientUIInterface::ICON_ERROR) { @@ -681,7 +673,7 @@ if(!clientModel->getOptionsModel()->getMinimizeToTray() && !clientModel->getOptionsModel()->getMinimizeOnClose()) { - qApp->quit(); + QApplication::quit(); } #endif } @@ -699,23 +691,8 @@ *payFee = (retval == QMessageBox::Yes); } -void BitcoinGUI::incomingTransaction(const QModelIndex& parent, int start, int /*end*/) +void BitcoinGUI::incomingTransaction(const QString& date, int unit, qint64 amount, const QString& type, const QString& address) { - // Prevent balloon-spam when initial block download is in progress - if(!walletModel || !clientModel || clientModel->inInitialBlockDownload()) - return; - - TransactionTableModel *ttm = walletModel->getTransactionTableModel(); - - QString date = ttm->index(start, TransactionTableModel::Date, parent) - .data().toString(); - qint64 amount = ttm->index(start, TransactionTableModel::Amount, parent) - .data(Qt::EditRole).toULongLong(); - QString type = ttm->index(start, TransactionTableModel::Type, parent) - .data().toString(); - QString address = ttm->index(start, TransactionTableModel::ToAddress, parent) - .data().toString(); - // On new transaction, make an info balloon message((amount)<0 ? tr("Sent transaction") : tr("Incoming transaction"), tr("Date: %1\n" @@ -723,77 +700,11 @@ "Type: %3\n" "Address: %4\n") .arg(date) - .arg(BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), amount, true)) + .arg(BitcoinUnits::formatWithUnit(unit, amount, true)) .arg(type) .arg(address), CClientUIInterface::MSG_INFORMATION); } -void BitcoinGUI::gotoOverviewPage() -{ - overviewAction->setChecked(true); - centralWidget->setCurrentWidget(overviewPage); - - exportAction->setEnabled(false); - disconnect(exportAction, SIGNAL(triggered()), 0, 0); -} - -void BitcoinGUI::gotoHistoryPage() -{ - historyAction->setChecked(true); - centralWidget->setCurrentWidget(transactionsPage); - - exportAction->setEnabled(true); - disconnect(exportAction, SIGNAL(triggered()), 0, 0); - connect(exportAction, SIGNAL(triggered()), transactionView, SLOT(exportClicked())); -} - -void BitcoinGUI::gotoAddressBookPage() -{ - addressBookAction->setChecked(true); - centralWidget->setCurrentWidget(addressBookPage); - - exportAction->setEnabled(true); - disconnect(exportAction, SIGNAL(triggered()), 0, 0); - connect(exportAction, SIGNAL(triggered()), addressBookPage, SLOT(exportClicked())); -} - -void BitcoinGUI::gotoReceiveCoinsPage() -{ - receiveCoinsAction->setChecked(true); - centralWidget->setCurrentWidget(receiveCoinsPage); - - exportAction->setEnabled(true); - disconnect(exportAction, SIGNAL(triggered()), 0, 0); - connect(exportAction, SIGNAL(triggered()), receiveCoinsPage, SLOT(exportClicked())); -} - -void BitcoinGUI::gotoSendCoinsPage() -{ - sendCoinsAction->setChecked(true); - centralWidget->setCurrentWidget(sendCoinsPage); - - exportAction->setEnabled(false); - disconnect(exportAction, SIGNAL(triggered()), 0, 0); -} - -void BitcoinGUI::gotoSignMessageTab(QString addr) -{ - // call show() in showTab_SM() - signVerifyMessageDialog->showTab_SM(true); - - if(!addr.isEmpty()) - signVerifyMessageDialog->setAddress_SM(addr); -} - -void BitcoinGUI::gotoVerifyMessageTab(QString addr) -{ - // call show() in showTab_VM() - signVerifyMessageDialog->showTab_VM(true); - - if(!addr.isEmpty()) - signVerifyMessageDialog->setAddress_VM(addr); -} - void BitcoinGUI::dragEnterEvent(QDragEnterEvent *event) { // Accept only URIs @@ -809,13 +720,13 @@ QList uris = event->mimeData()->urls(); foreach(const QUrl &uri, uris) { - if (sendCoinsPage->handleURI(uri.toString())) + if (walletFrame->handleURI(uri.toString())) nValidUrisFound++; } // if valid URIs were found if (nValidUrisFound) - gotoSendCoinsPage(); + walletFrame->gotoSendCoinsPage(); else message(tr("URI handling"), tr("URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters."), CClientUIInterface::ICON_WARNING); @@ -830,7 +741,7 @@ if (event->type() == QEvent::StatusTip) { // Prevent adding text from setStatusTip(), if we currently use the status bar for displaying other stuff - if (progressBarLabel->isVisible() && progressBar->isVisible()) + if (progressBarLabel->isVisible() || progressBar->isVisible()) return true; } return QMainWindow::eventFilter(object, event); @@ -839,12 +750,7 @@ void BitcoinGUI::handleURI(QString strURI) { // URI has to be valid - if (sendCoinsPage->handleURI(strURI)) - { - showNormalIfMinimized(); - gotoSendCoinsPage(); - } - else + if (!walletFrame->handleURI(strURI)) message(tr("URI handling"), tr("URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters."), CClientUIInterface::ICON_WARNING); } @@ -878,53 +784,6 @@ } } -void BitcoinGUI::encryptWallet(bool status) -{ - if(!walletModel) - return; - AskPassphraseDialog dlg(status ? AskPassphraseDialog::Encrypt: - AskPassphraseDialog::Decrypt, this); - dlg.setModel(walletModel); - dlg.exec(); - - setEncryptionStatus(walletModel->getEncryptionStatus()); -} - -void BitcoinGUI::backupWallet() -{ - QString saveDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); - QString filename = QFileDialog::getSaveFileName(this, tr("Backup Wallet"), saveDir, tr("Wallet Data (*.dat)")); - if(!filename.isEmpty()) { - if(!walletModel->backupWallet(filename)) { - message(tr("Backup Failed"), tr("There was an error trying to save the wallet data to the new location."), - CClientUIInterface::MSG_ERROR); - } - else - message(tr("Backup Successful"), tr("The wallet data was successfully saved to the new location."), - CClientUIInterface::MSG_INFORMATION); - } -} - -void BitcoinGUI::changePassphrase() -{ - AskPassphraseDialog dlg(AskPassphraseDialog::ChangePass, this); - dlg.setModel(walletModel); - dlg.exec(); -} - -void BitcoinGUI::unlockWallet() -{ - if(!walletModel) - return; - // Unlock wallet when requested by wallet model - if(walletModel->getEncryptionStatus() == WalletModel::Locked) - { - AskPassphraseDialog dlg(AskPassphraseDialog::Unlock, this); - dlg.setModel(walletModel); - dlg.exec(); - } -} - void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden) { // activateWindow() (sometimes) helps with keyboard focus on Windows @@ -951,3 +810,9 @@ { showNormalIfMinimized(true); } + +void BitcoinGUI::detectShutdown() +{ + if (ShutdownRequested()) + QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection); +} diff -Nru bitcoin-0.8.1/src/qt/bitcoingui.h bitcoin-0.8.5/src/qt/bitcoingui.h --- bitcoin-0.8.1/src/qt/bitcoingui.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoingui.h 2013-09-12 03:35:18.000000000 +0000 @@ -3,10 +3,14 @@ #include #include +#include class TransactionTableModel; +class WalletFrame; +class WalletView; class ClientModel; class WalletModel; +class WalletStack; class TransactionView; class OverviewPage; class AddressBookPage; @@ -15,15 +19,17 @@ class Notificator; class RPCConsole; +class CWallet; + QT_BEGIN_NAMESPACE class QLabel; -class QLineEdit; -class QTableView; -class QAbstractItemModel; class QModelIndex; class QProgressBar; class QStackedWidget; class QUrl; +class QListWidget; +class QPushButton; +class QAction; QT_END_NAMESPACE /** @@ -33,7 +39,10 @@ class BitcoinGUI : public QMainWindow { Q_OBJECT + public: + static const QString DEFAULT_WALLET; + explicit BitcoinGUI(QWidget *parent = 0); ~BitcoinGUI(); @@ -45,7 +54,19 @@ The wallet model represents a bitcoin wallet, and offers access to the list of transactions, address book and sending functionality. */ - void setWalletModel(WalletModel *walletModel); + + bool addWallet(const QString& name, WalletModel *walletModel); + bool setCurrentWallet(const QString& name); + + void removeAllWallets(); + + /** Used by WalletView to allow access to needed QActions */ + // Todo: Use Qt signals for these + QAction * getOverviewAction() { return overviewAction; } + QAction * getHistoryAction() { return historyAction; } + QAction * getAddressBookAction() { return addressBookAction; } + QAction * getReceiveCoinsAction() { return receiveCoinsAction; } + QAction * getSendCoinsAction() { return sendCoinsAction; } protected: void changeEvent(QEvent *e); @@ -56,16 +77,7 @@ private: ClientModel *clientModel; - WalletModel *walletModel; - - QStackedWidget *centralWidget; - - OverviewPage *overviewPage; - QWidget *transactionsPage; - AddressBookPage *addressBookPage; - AddressBookPage *receiveCoinsPage; - SendCoinsDialog *sendCoinsPage; - SignVerifyMessageDialog *signVerifyMessageDialog; + WalletFrame *walletFrame; QLabel *labelEncryptionIcon; QLabel *labelConnectionsIcon; @@ -85,7 +97,6 @@ QAction *receiveCoinsAction; QAction *optionsAction; QAction *toggleHideAction; - QAction *exportAction; QAction *encryptWalletAction; QAction *backupWalletAction; QAction *changePassphraseAction; @@ -98,6 +109,8 @@ RPCConsole *rpcConsole; QMovie *syncIconMovie; + /** Keep track of previous number of blocks, to detect progress */ + int prevBlocks; /** Create the main UI actions. */ void createActions(); @@ -109,6 +122,10 @@ void createTrayIcon(); /** Create system tray menu (or setup the dock menu) */ void createTrayIconMenu(); + /** Save window size and position */ + void saveWindowGeometry(); + /** Restore window size and position */ + void restoreWindowGeometry(); public slots: /** Set number of connections shown in the UI */ @@ -140,6 +157,9 @@ void askFee(qint64 nFeeRequired, bool *payFee); void handleURI(QString strURI); + /** Show incoming transaction notification for new transactions. */ + void incomingTransaction(const QString& date, int unit, qint64 amount, const QString& type, const QString& address); + private slots: /** Switch to overview (home) page */ void gotoOverviewPage(); @@ -150,7 +170,7 @@ /** Switch to receive coins page */ void gotoReceiveCoinsPage(); /** Switch to send coins page */ - void gotoSendCoinsPage(); + void gotoSendCoinsPage(QString addr = ""); /** Show Sign/Verify Message dialog and switch to sign message tab */ void gotoSignMessageTab(QString addr = ""); @@ -165,24 +185,14 @@ /** Handle tray icon clicked */ void trayIconActivated(QSystemTrayIcon::ActivationReason reason); #endif - /** Show incoming transaction notification for new transactions. - - The new items are those between start and end inclusive, under the given parent item. - */ - void incomingTransaction(const QModelIndex& parent, int start, int /*end*/); - /** Encrypt the wallet */ - void encryptWallet(bool status); - /** Backup the wallet */ - void backupWallet(); - /** Change encrypted wallet passphrase */ - void changePassphrase(); - /** Ask for passphrase to unlock wallet temporarily */ - void unlockWallet(); /** Show window if hidden, unminimize when minimized, rise when obscured or show if hidden and fToggleHidden is true */ void showNormalIfMinimized(bool fToggleHidden = false); /** Simply calls showNormalIfMinimized(true) for use in SLOT() macro */ void toggleHidden(); + + /** called by a timer to check if fRequestShutdown has been set **/ + void detectShutdown(); }; #endif // BITCOINGUI_H diff -Nru bitcoin-0.8.1/src/qt/bitcoinstrings.cpp bitcoin-0.8.5/src/qt/bitcoinstrings.cpp --- bitcoin-0.8.1/src/qt/bitcoinstrings.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoinstrings.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -8,14 +8,16 @@ static const char UNUSED *bitcoin_strings[] = { QT_TRANSLATE_NOOP("bitcoin-core", "" "%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" "rpcuser=bitcoinrpc\n" "rpcpassword=%s\n" "(you do not need to remember this password)\n" "The username and password MUST NOT be the same.\n" "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", "" "Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:" "@STRENGTH)"), @@ -31,11 +33,6 @@ "Cannot obtain a lock on data directory %s. Bitcoin is probably already " "running."), QT_TRANSLATE_NOOP("bitcoin-core", "" -"Corrupted block database detected. Please restart the client with -reindex."), -QT_TRANSLATE_NOOP("bitcoin-core", "" -"Error initializing database environment %s! To recover, BACKUP THAT " -"DIRECTORY, then remove everything from it except for wallet.dat."), -QT_TRANSLATE_NOOP("bitcoin-core", "" "Error: The transaction was rejected! This might happen if some of the coins " "in your wallet were already spent, such as if you used a copy of wallet.dat " "and coins were spent in the copy but not marked as spent here."), @@ -43,6 +40,12 @@ "Error: This transaction requires a transaction fee of at least %s because of " "its amount, complexity, or use of recently received funds!"), 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 " +"TxID)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Execute command when the best block changes (%s in cmd is replaced by block " "hash)"), QT_TRANSLATE_NOOP("bitcoin-core", "" @@ -54,7 +57,8 @@ "Set maximum size of high-priority/low-fee transactions in bytes (default: " "27000)"), QT_TRANSLATE_NOOP("bitcoin-core", "" -"Set the number of script verification threads (1-16, 0=auto, default: 0)"), +"Set the number of script verification threads (up to 16, 0 = auto, <0 = " +"leave that many cores free, default: 0)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "This is a pre-release test build - use at your own risk - do not use for " "mining or merchant applications"), @@ -90,26 +94,26 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin version"), QT_TRANSLATE_NOOP("bitcoin-core", "Block creation options:"), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot downgrade wallet"), -QT_TRANSLATE_NOOP("bitcoin-core", "Cannot initialize keypool"), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot resolve -bind address: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot resolve -externalip address: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot write default address"), QT_TRANSLATE_NOOP("bitcoin-core", "Connect only to the specified node(s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Connect through socks proxy"), QT_TRANSLATE_NOOP("bitcoin-core", "Connect to a node to retrieve peer addresses, and disconnect"), +QT_TRANSLATE_NOOP("bitcoin-core", "Corrupted block database detected"), QT_TRANSLATE_NOOP("bitcoin-core", "Discover own IP address (default: 1 when listening and no -externalip)"), -QT_TRANSLATE_NOOP("bitcoin-core", "Don't generate coins"), +QT_TRANSLATE_NOOP("bitcoin-core", "Do you want to rebuild the block database now?"), QT_TRANSLATE_NOOP("bitcoin-core", "Done loading"), QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing block database"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing wallet database environment %s!"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading block database"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat: Wallet corrupted"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat: Wallet requires newer version of Bitcoin"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error opening block database"), QT_TRANSLATE_NOOP("bitcoin-core", "Error"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Disk space is low!"), -QT_TRANSLATE_NOOP("bitcoin-core", "Error: Transaction creation failed!"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Wallet locked, unable to create transaction!"), -QT_TRANSLATE_NOOP("bitcoin-core", "Error: could not start node"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: system error: "), QT_TRANSLATE_NOOP("bitcoin-core", "Failed to listen on any port. Use -listen=0 if you want this."), QT_TRANSLATE_NOOP("bitcoin-core", "Failed to read block info"), @@ -124,17 +128,17 @@ 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", "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 (default: 0)"), 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 thorough the block verification is (0-4, default: 3)"), -QT_TRANSLATE_NOOP("bitcoin-core", "Importing blocks from block database..."), QT_TRANSLATE_NOOP("bitcoin-core", "Imports blocks from external blk000??.dat file"), QT_TRANSLATE_NOOP("bitcoin-core", "Information"), QT_TRANSLATE_NOOP("bitcoin-core", "Insufficient funds"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -proxy address: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -tor address: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -minrelaytxfee=: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -mintxfee=: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount"), QT_TRANSLATE_NOOP("bitcoin-core", "List commands"), @@ -146,6 +150,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Maintain at most connections to peers (default: 125)"), QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection receive buffer, *1000 bytes (default: 5000)"), QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection send buffer, *1000 bytes (default: 1000)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Not enough file descriptors available."), QT_TRANSLATE_NOOP("bitcoin-core", "Only accept block chain matching built-in checkpoints (default: 1)"), QT_TRANSLATE_NOOP("bitcoin-core", "Only connect to nodes in network (IPv4, IPv6 or Tor)"), QT_TRANSLATE_NOOP("bitcoin-core", "Options:"), @@ -153,7 +158,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Output extra network debugging information"), QT_TRANSLATE_NOOP("bitcoin-core", "Password for JSON-RPC connections"), QT_TRANSLATE_NOOP("bitcoin-core", "Prepend debug output with timestamp"), -QT_TRANSLATE_NOOP("bitcoin-core", "Rebuild blockchain index from current blk000??.dat files"), +QT_TRANSLATE_NOOP("bitcoin-core", "Rebuild block chain index from current blk000??.dat files"), QT_TRANSLATE_NOOP("bitcoin-core", "Rescan the block chain for missing wallet transactions"), QT_TRANSLATE_NOOP("bitcoin-core", "Rescanning..."), QT_TRANSLATE_NOOP("bitcoin-core", "Run in the background as a daemon and accept commands"), @@ -169,7 +174,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Set key pool size to (default: 100)"), QT_TRANSLATE_NOOP("bitcoin-core", "Set maximum block size in bytes (default: 250000)"), QT_TRANSLATE_NOOP("bitcoin-core", "Set minimum block size in bytes (default: 0)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Set the number of threads to service RPC calls (default: 4)"), QT_TRANSLATE_NOOP("bitcoin-core", "Shrink debug.log file on client startup (default: 1 when no -debug)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Signing transaction failed"), QT_TRANSLATE_NOOP("bitcoin-core", "Specify configuration file (default: bitcoin.conf)"), QT_TRANSLATE_NOOP("bitcoin-core", "Specify connection timeout in milliseconds (default: 5000)"), QT_TRANSLATE_NOOP("bitcoin-core", "Specify data directory"), @@ -179,6 +186,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", "This help message"), QT_TRANSLATE_NOOP("bitcoin-core", "Threshold for disconnecting misbehaving peers (default: 100)"), QT_TRANSLATE_NOOP("bitcoin-core", "To use the %s option"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction amount too small"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction amounts must be positive"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction too large"), QT_TRANSLATE_NOOP("bitcoin-core", "Unable to bind to %s on this computer (bind returned error %d, %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Unknown -socks proxy version requested: %i"), QT_TRANSLATE_NOOP("bitcoin-core", "Unknown network specified in -onlynet: '%s'"), @@ -190,8 +200,8 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Use proxy to reach tor hidden services (default: same as -proxy)"), QT_TRANSLATE_NOOP("bitcoin-core", "Use the test network"), QT_TRANSLATE_NOOP("bitcoin-core", "Username for JSON-RPC connections"), -QT_TRANSLATE_NOOP("bitcoin-core", "Verifying block database integrity..."), -QT_TRANSLATE_NOOP("bitcoin-core", "Verifying wallet integrity..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Verifying blocks..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Verifying wallet..."), QT_TRANSLATE_NOOP("bitcoin-core", "Wallet needed to be rewritten: restart Bitcoin to complete"), QT_TRANSLATE_NOOP("bitcoin-core", "Warning"), QT_TRANSLATE_NOOP("bitcoin-core", "Warning: This version is obsolete, upgrade required!"), diff -Nru bitcoin-0.8.1/src/qt/bitcoinunits.h bitcoin-0.8.5/src/qt/bitcoinunits.h --- bitcoin-0.8.1/src/qt/bitcoinunits.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/bitcoinunits.h 2013-09-12 03:35:18.000000000 +0000 @@ -9,6 +9,8 @@ */ class BitcoinUnits: public QAbstractListModel { + Q_OBJECT + public: explicit BitcoinUnits(QObject *parent); @@ -58,6 +60,7 @@ int rowCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; ///@} + private: QList unitlist; }; diff -Nru bitcoin-0.8.1/src/qt/clientmodel.cpp bitcoin-0.8.5/src/qt/clientmodel.cpp --- bitcoin-0.8.1/src/qt/clientmodel.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/clientmodel.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,5 @@ #include "clientmodel.h" + #include "guiconstants.h" #include "optionsmodel.h" #include "addresstablemodel.h" @@ -6,6 +7,7 @@ #include "alert.h" #include "main.h" +#include "checkpoints.h" #include "ui_interface.h" #include @@ -15,7 +17,9 @@ ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) : QObject(parent), optionsModel(optionsModel), - cachedNumBlocks(0), cachedNumBlocksOfPeers(0), numBlocksAtStartup(-1), pollTimer(0) + cachedNumBlocks(0), cachedNumBlocksOfPeers(0), + cachedReindexing(0), cachedImporting(0), + numBlocksAtStartup(-1), pollTimer(0) { pollTimer = new QTimer(this); pollTimer->setInterval(MODEL_UPDATE_DELAY); @@ -50,8 +54,15 @@ { if (pindexBest) return QDateTime::fromTime_t(pindexBest->GetBlockTime()); - else + else if(!isTestNet()) return QDateTime::fromTime_t(1231006505); // Genesis block's time + else + return QDateTime::fromTime_t(1296688602); // Genesis block's time (testnet) +} + +double ClientModel::getVerificationProgress() const +{ + return Checkpoints::GuessVerificationProgress(pindexBest); } void ClientModel::updateTimer() @@ -61,10 +72,14 @@ int newNumBlocks = getNumBlocks(); int newNumBlocksOfPeers = getNumBlocksOfPeers(); - if(cachedNumBlocks != newNumBlocks || cachedNumBlocksOfPeers != newNumBlocksOfPeers) + // check for changed number of blocks we have, number of blocks peers claim to have, reindexing state and importing state + if (cachedNumBlocks != newNumBlocks || cachedNumBlocksOfPeers != newNumBlocksOfPeers || + cachedReindexing != fReindex || cachedImporting != fImporting) { cachedNumBlocks = newNumBlocks; cachedNumBlocksOfPeers = newNumBlocksOfPeers; + cachedReindexing = fReindex; + cachedImporting = fImporting; // ensure we return the maximum of newNumBlocksOfPeers and newNumBlocks to not create weird displays in the GUI emit numBlocksChanged(newNumBlocks, std::max(newNumBlocksOfPeers, newNumBlocks)); @@ -107,9 +122,12 @@ { if (fReindex) return BLOCK_SOURCE_REINDEX; - if (fImporting) + else if (fImporting) return BLOCK_SOURCE_DISK; - return BLOCK_SOURCE_NETWORK; + else if (getNumConnections() > 0) + return BLOCK_SOURCE_NETWORK; + + return BLOCK_SOURCE_NONE; } int ClientModel::getNumBlocksOfPeers() const diff -Nru bitcoin-0.8.1/src/qt/clientmodel.h bitcoin-0.8.5/src/qt/clientmodel.h --- bitcoin-0.8.1/src/qt/clientmodel.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/clientmodel.h 2013-09-12 03:35:18.000000000 +0000 @@ -15,15 +15,16 @@ enum BlockSource { BLOCK_SOURCE_NONE, - BLOCK_SOURCE_NETWORK, + BLOCK_SOURCE_REINDEX, BLOCK_SOURCE_DISK, - BLOCK_SOURCE_REINDEX + BLOCK_SOURCE_NETWORK }; /** Model for Bitcoin network client. */ class ClientModel : public QObject { Q_OBJECT + public: explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0); ~ClientModel(); @@ -34,6 +35,7 @@ int getNumBlocks() const; int getNumBlocksAtStartup(); + double getVerificationProgress() const; QDateTime getLastBlockDate() const; //! Return true if client connected to testnet @@ -58,6 +60,8 @@ int cachedNumBlocks; int cachedNumBlocksOfPeers; + bool cachedReindexing; + bool cachedImporting; int numBlocksAtStartup; @@ -65,6 +69,7 @@ void subscribeToCoreSignals(); void unsubscribeFromCoreSignals(); + signals: void numConnectionsChanged(int count); void numBlocksChanged(int count, int countOfPeers); diff -Nru bitcoin-0.8.1/src/qt/csvmodelwriter.h bitcoin-0.8.5/src/qt/csvmodelwriter.h --- bitcoin-0.8.1/src/qt/csvmodelwriter.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/csvmodelwriter.h 2013-09-12 03:35:18.000000000 +0000 @@ -14,6 +14,7 @@ class CSVModelWriter : public QObject { Q_OBJECT + public: explicit CSVModelWriter(const QString &filename, QObject *parent = 0); @@ -36,11 +37,6 @@ int role; }; QList columns; - -signals: - -public slots: - }; #endif // CSVMODELWRITER_H diff -Nru bitcoin-0.8.1/src/qt/editaddressdialog.cpp bitcoin-0.8.5/src/qt/editaddressdialog.cpp --- bitcoin-0.8.1/src/qt/editaddressdialog.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/editaddressdialog.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,5 +1,6 @@ #include "editaddressdialog.h" #include "ui_editaddressdialog.h" + #include "addresstablemodel.h" #include "guiutil.h" diff -Nru bitcoin-0.8.1/src/qt/editaddressdialog.h bitcoin-0.8.5/src/qt/editaddressdialog.h --- bitcoin-0.8.1/src/qt/editaddressdialog.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/editaddressdialog.h 2013-09-12 03:35:18.000000000 +0000 @@ -3,15 +3,15 @@ #include -QT_BEGIN_NAMESPACE -class QDataWidgetMapper; -QT_END_NAMESPACE - namespace Ui { class EditAddressDialog; } class AddressTableModel; +QT_BEGIN_NAMESPACE +class QDataWidgetMapper; +QT_END_NAMESPACE + /** Dialog for editing an address and associated information. */ class EditAddressDialog : public QDialog diff -Nru bitcoin-0.8.1/src/qt/forms/addressbookpage.ui bitcoin-0.8.5/src/qt/forms/addressbookpage.ui --- bitcoin-0.8.1/src/qt/forms/addressbookpage.ui 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/forms/addressbookpage.ui 2013-09-12 03:35:18.000000000 +0000 @@ -16,9 +16,6 @@ - - These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - Qt::PlainText @@ -58,7 +55,7 @@ - + Create a new address @@ -72,7 +69,7 @@ - + Copy the currently selected address to the system clipboard @@ -125,7 +122,7 @@ - + Delete the currently selected address from the list @@ -152,6 +149,20 @@ + + + Export the data in the current tab to a file + + + &Export + + + + :/icons/export:/icons/export + + + + diff -Nru bitcoin-0.8.1/src/qt/forms/optionsdialog.ui bitcoin-0.8.5/src/qt/forms/optionsdialog.ui --- bitcoin-0.8.1/src/qt/forms/optionsdialog.ui 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/forms/optionsdialog.ui 2013-09-12 03:35:18.000000000 +0000 @@ -33,7 +33,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Qt::PlainText diff -Nru bitcoin-0.8.1/src/qt/forms/overviewpage.ui bitcoin-0.8.5/src/qt/forms/overviewpage.ui --- bitcoin-0.8.1/src/qt/forms/overviewpage.ui 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/forms/overviewpage.ui 2013-09-12 03:35:18.000000000 +0000 @@ -49,7 +49,6 @@ - 11 75 true @@ -159,23 +158,6 @@ - - - - Number of transactions: - - - - - - - Total number of transactions in wallet - - - 0 - - - diff -Nru bitcoin-0.8.1/src/qt/guiconstants.h bitcoin-0.8.5/src/qt/guiconstants.h --- bitcoin-0.8.1/src/qt/guiconstants.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/guiconstants.h 2013-09-12 03:35:18.000000000 +0000 @@ -2,7 +2,7 @@ #define GUICONSTANTS_H /* Milliseconds between model updates */ -static const int MODEL_UPDATE_DELAY = 500; +static const int MODEL_UPDATE_DELAY = 250; /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; diff -Nru bitcoin-0.8.1/src/qt/guiutil.cpp bitcoin-0.8.5/src/qt/guiutil.cpp --- bitcoin-0.8.1/src/qt/guiutil.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/guiutil.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,11 +1,14 @@ +#include + #include "guiutil.h" + #include "bitcoinaddressvalidator.h" #include "walletmodel.h" #include "bitcoinunits.h" + #include "util.h" #include "init.h" -#include #include #include #include @@ -13,7 +16,6 @@ #include #include // For Qt::escape #include -#include #include #include #include @@ -158,8 +160,10 @@ if(!selection.isEmpty()) { - // Copy first item - QApplication::clipboard()->setText(selection.at(0).data(role).toString()); + // Copy first item (global clipboard) + QApplication::clipboard()->setText(selection.at(0).data(role).toString(), QClipboard::Clipboard); + // Copy first item (global mouse selection for e.g. X11 - NOP on Windows) + QApplication::clipboard()->setText(selection.at(0).data(role).toString(), QClipboard::Selection); } } @@ -211,7 +215,7 @@ Qt::ConnectionType blockingGUIThreadConnection() { - if(QThread::currentThread() != QCoreApplication::instance()->thread()) + if(QThread::currentThread() != qApp->thread()) { return Qt::BlockingQueuedConnection; } @@ -223,7 +227,7 @@ bool checkPoint(const QPoint &p, const QWidget *w) { - QWidget *atW = qApp->widgetAt(w->mapToGlobal(p)); + QWidget *atW = QApplication::widgetAt(w->mapToGlobal(p)); if (!atW) return false; return atW->topLevelWidget() == w; } @@ -455,4 +459,3 @@ } } // namespace GUIUtil - diff -Nru bitcoin-0.8.1/src/qt/guiutil.h bitcoin-0.8.5/src/qt/guiutil.h --- bitcoin-0.8.1/src/qt/guiutil.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/guiutil.h 2013-09-12 03:35:18.000000000 +0000 @@ -5,6 +5,8 @@ #include #include +class SendCoinsRecipient; + QT_BEGIN_NAMESPACE class QFont; class QLineEdit; @@ -13,7 +15,6 @@ class QUrl; class QAbstractItemView; QT_END_NAMESPACE -class SendCoinsRecipient; /** Utility functions used by the Bitcoin Qt UI. */ diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_af_ZA.ts bitcoin-0.8.5/src/qt/locale/bitcoin_af_ZA.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_af_ZA.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_af_ZA.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2917 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + + + + + <b>Bitcoin</b> version + <b>Bitcoin</b> weergawe + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + + Copyright + + + + + The Bitcoin developers + + + + + AddressBookPage + + + Address Book + Adres Boek + + + + Double-click to edit address or label + Dubbel-klik om die adres of etiket te wysig + + + + Create a new address + Skep 'n nuwe adres + + + + Copy the currently selected address to the system clipboard + Maak 'n kopie van die huidige adres na die stelsel klipbord + + + + &New Address + + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + + + + + &Copy Address + + + + + Show &QR Code + + + + + Sign a message to prove you own a Bitcoin address + + + + + Sign &Message + Teken &Boodskap + + + + Delete the currently selected address from the list + + + + + Export the data in the current tab to a file + + + + + &Export + + + + + Verify a message to ensure it was signed with a specified Bitcoin address + + + + + &Verify Message + + + + + &Delete + &Verwyder + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + + Copy &Label + + + + + &Edit + + + + + Send &Coins + Stuur &Muntstukke + + + + Export Address Book Data + Voer die Adresboek Data Uit + + + + Comma separated file (*.csv) + + + + + Error exporting + Fout uitvoering + + + + Could not write to file %1. + Kon nie na die %1 lêer skryf nie + + + + AddressTableModel + + + Label + Etiket + + + + Address + Adres + + + + (no label) + (geen etiket) + + + + AskPassphraseDialog + + + Passphrase Dialog + + + + + Enter passphrase + Tik Wagwoord in + + + + New passphrase + Nuwe wagwoord + + + + Repeat new passphrase + Herhaal nuwe wagwoord + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + Tik die nuwe wagwoord vir die beursie in.<br/>Gebruik asseblief 'n wagwoord van <b>ten minste 10 ewekansige karakters</b>, of <b>agt (8) of meer woorde.</b> + + + + Encrypt wallet + Enkripteer beursie + + + + This operation needs your wallet passphrase to unlock the wallet. + Hierdie operasie benodig 'n wagwoord om die beursie oop te sluit. + + + + Unlock wallet + Sluit beursie oop + + + + This operation needs your wallet passphrase to decrypt the wallet. + Hierdie operasie benodig 'n wagwoord om die beursie oop te sluit. + + + + Decrypt wallet + Sluit beursie oop + + + + Change passphrase + Verander wagwoord + + + + Enter the old and new passphrase to the wallet. + Tik asseblief die ou en nuwe wagwoord vir die beursie in. + + + + Confirm wallet encryption + Bevestig beursie enkripsie. + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + + + + + Are you sure you wish to encrypt your wallet? + + + + + 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. + + + + + + Warning: The Caps Lock key is on! + + + + + + Wallet encrypted + Die beursie is nou bewaak + + + + Bitcoin 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. + + + + + + + + Wallet encryption failed + Die beursie kon nie bewaak word nie + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + Beursie bewaaking het misluk as gevolg van 'n interne fout. Die beursie is nie bewaak nie! + + + + + The supplied passphrases do not match. + Die wagwoord stem nie ooreen nie + + + + Wallet unlock failed + Beursie oopsluiting het misluk + + + + + + The passphrase entered for the wallet decryption was incorrect. + Die wagwoord wat ingetik was om die beursie oop te sluit, was verkeerd. + + + + Wallet decryption failed + Beursie dekripsie het misluk + + + + Wallet passphrase was successfully changed. + + + + + BitcoinGUI + + + Sign &message... + + + + + Synchronizing with network... + Sinchroniseer met die netwerk ... + + + + &Overview + &Oorsig + + + + Show general overview of wallet + Wys algemene oorsig van die beursie + + + + &Transactions + &Transaksies + + + + Browse transaction history + Besoek transaksie geskiedenis + + + + Edit the list of stored addresses and labels + Wysig die lys van gestoorde adresse en etikette + + + + Show the list of addresses for receiving payments + Wys die lys van adresse vir die ontvangs van betalings + + + + E&xit + S&luit af + + + + Quit application + Sluit af + + + + Show information about Bitcoin + Wys inligting oor Bitcoin + + + + About &Qt + + + + + Show information about Qt + + + + + &Options... + &Opsies + + + + &Encrypt Wallet... + + + + + &Backup Wallet... + + + + + &Change Passphrase... + + + + + Importing blocks from disk... + + + + + Reindexing blocks on disk... + + + + + Send coins to a Bitcoin address + + + + + Modify configuration options for Bitcoin + + + + + Backup wallet to another location + + + + + Change the passphrase used for wallet encryption + + + + + &Debug window + + + + + Open debugging and diagnostic console + + + + + &Verify message... + + + + + + Bitcoin + Bitcoin + + + + Wallet + Beursie + + + + &Send + + + + + &Receive + + + + + &Addresses + + + + + &About Bitcoin + + + + + &Show / Hide + + + + + Show or hide the main Window + + + + + Encrypt the private keys that belong to your wallet + + + + + Sign messages with your Bitcoin addresses to prove you own them + + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + + + + + &File + &Lêer + + + + &Settings + &Instellings + + + + &Help + &Hulp + + + + Tabs toolbar + Blad nutsbalk + + + + + [testnet] + + + + + Bitcoin client + + + + + %n active connection(s) to Bitcoin network + + + + + No block source available... + + + + + Processed %1 of %2 (estimated) blocks of transaction history. + + + + + Processed %1 blocks of transaction history. + + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + + + + %1 behind + %1 agter + + + + Last received block was generated %1 ago. + Ontvangs van laaste blok is %1 terug. + + + + Transactions after this will not yet be visible. + + + + + Error + Fout + + + + Warning + + + + + Information + Informasie + + + + 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? + + + + + Up to date + + + + + Catching up... + + + + + Confirm transaction fee + + + + + Sent transaction + + + + + Incoming transaction + + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + + + + + + URI handling + + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + + + + + ClientModel + + + Network Alert + + + + + EditAddressDialog + + + Edit Address + + + + + &Label + + + + + The label associated with this address book entry + + + + + &Address + + + + + The address associated with this address book entry. This can only be modified for sending addresses. + + + + + New receiving address + + + + + New sending address + + + + + Edit receiving address + + + + + Edit sending address + + + + + The entered address "%1" is already in the address book. + + + + + The entered address "%1" is not a valid Bitcoin address. + + + + + Could not unlock wallet. + + + + + New key generation failed. + + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + + + + + version + + + + + Usage: + Gebruik: + + + + command-line options + + + + + UI options + + + + + Set language, for example "de_DE" (default: system locale) + + + + + Start minimized + + + + + Show splash screen on startup (default: 1) + + + + + OptionsDialog + + + Options + + + + + &Main + + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + + + + + Pay transaction &fee + + + + + Automatically start Bitcoin after logging in to the system. + + + + + &Start Bitcoin on system login + + + + + Reset all client options to default. + + + + + &Reset Options + + + + + &Network + + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + + + + + Map port using &UPnP + + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + + + + + &Connect through SOCKS proxy: + + + + + Proxy &IP: + + + + + IP address of the proxy (e.g. 127.0.0.1) + + + + + &Port: + + + + + Port of the proxy (e.g. 9050) + + + + + SOCKS &Version: + + + + + SOCKS version of the proxy (e.g. 5) + + + + + &Window + + + + + Show only a tray icon after minimizing the window. + + + + + &Minimize to the tray instead of the taskbar + + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + + + + + M&inimize on close + + + + + &Display + + + + + User Interface &language: + + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + + + + + &Unit to show amounts in: + + + + + Choose the default subdivision unit to show in the interface and when sending coins. + + + + + Whether to show Bitcoin addresses in the transaction list or not. + + + + + &Display addresses in transaction list + + + + + &OK + + + + + &Cancel + + + + + &Apply + + + + + default + + + + + Confirm options reset + + + + + Some settings may require a client restart to take effect. + + + + + Do you want to proceed? + + + + + + Warning + + + + + + This setting will take effect after restarting Bitcoin. + + + + + The supplied proxy address is invalid. + + + + + OverviewPage + + + Form + + + + + + 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. + + + + + Balance: + + + + + Unconfirmed: + + + + + Wallet + Beursie + + + + Immature: + + + + + Mined balance that has not yet matured + + + + + <b>Recent transactions</b> + + + + + Your current balance + + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + + + + + + out of sync + + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + + QRCodeDialog + + + QR Code Dialog + + + + + Request Payment + + + + + Amount: + + + + + Label: + + + + + Message: + + + + + &Save As... + + + + + Error encoding URI into QR Code. + + + + + The entered amount is invalid, please check. + + + + + Resulting URI too long, try to reduce the text for label / message. + + + + + Save QR Code + + + + + PNG Images (*.png) + + + + + RPCConsole + + + Client name + + + + + + + + + + + + + + N/A + + + + + Client version + + + + + &Information + + + + + Using OpenSSL version + + + + + Startup time + + + + + Network + + + + + Number of connections + + + + + On testnet + + + + + Block chain + + + + + Current number of blocks + + + + + Estimated total blocks + + + + + Last block time + + + + + &Open + + + + + Command-line options + + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + + + + + &Show + + + + + &Console + + + + + Build date + + + + + Bitcoin - Debug window + + + + + Bitcoin Core + + + + + Debug log file + + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + + + + + Clear console + + + + + Welcome to the Bitcoin RPC console. + + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + + + + + Type <b>help</b> for an overview of available commands. + + + + + SendCoinsDialog + + + + + + + + + + Send Coins + + + + + Send to multiple recipients at once + + + + + Add &Recipient + + + + + Remove all transaction fields + + + + + Clear &All + + + + + Balance: + + + + + 123.456 BTC + + + + + Confirm the send action + + + + + S&end + S&tuur + + + + <b>%1</b> to %2 (%3) + + + + + Confirm send coins + + + + + Are you sure you want to send %1? + + + + + and + + + + + The recipient address is not valid, please recheck. + + + + + The amount to pay must be larger than 0. + + + + + The amount exceeds your balance. + + + + + The total exceeds your balance when the %1 transaction fee is included. + + + + + Duplicate address found, can only send to each address once per send operation. + + + + + Error: Transaction creation failed! + + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + SendCoinsEntry + + + Form + + + + + A&mount: + + + + + Pay &To: + + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Die adres waarheen die betaling gestuur moet word (b.v. 1H7wyVL5HCNoVFyyBJSDojwyxcCChU7TPA) + + + + + Enter a label for this address to add it to your address book + + + + + &Label: + + + + + Choose address from address book + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Remove this recipient + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + + + + + &Sign Message + &Teken boodskap + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Choose an address from the address book + + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Enter the message you want to sign here + + + + + Signature + Handtekening + + + + Copy the current signature to the system clipboard + + + + + Sign the message to prove you own this Bitcoin address + + + + + Sign &Message + Teken &Boodskap + + + + Reset all sign message fields + + + + + + Clear &All + + + + + &Verify Message + + + + + Enter the signing 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. + + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Verify the message to ensure it was signed with the specified Bitcoin address + + + + + Verify &Message + + + + + Reset all verify message fields + + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Click "Sign Message" to generate signature + + + + + Enter Bitcoin signature + + + + + + The entered address is invalid. + + + + + + + + Please check the address and try again. + + + + + + The entered address does not refer to a key. + + + + + Wallet unlock was cancelled. + + + + + Private key for the entered address is not available. + + + + + Message signing failed. + + + + + Message signed. + + + + + The signature could not be decoded. + + + + + + Please check the signature and try again. + + + + + The signature did not match the message digest. + + + + + Message verification failed. + + + + + Message verified. + + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + + TransactionDesc + + + Open until %1 + + + + + %1/offline + + + + + %1/unconfirmed + + + + + %1 confirmations + + + + + Status + + + + + , broadcast through %n node(s) + + + + + Date + Datum + + + + Source + + + + + Generated + + + + + + From + Van + + + + + + To + Na + + + + + own address + eie adres + + + + label + etiket + + + + + + + + Credit + Krediet + + + + matures in %n more block(s) + + + + + not accepted + nie aanvaar nie + + + + + + + Debit + Debiet + + + + Transaction fee + Transaksie fooi + + + + Net amount + Netto bedrag + + + + Message + Boodskap + + + + Comment + + + + + Transaction ID + Transaksie ID + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + + + Debug information + + + + + Transaction + + + + + Inputs + + + + + Amount + Bedrag + + + + true + waar + + + + false + onwaar + + + + , has not been successfully broadcast yet + + + + + Open for %n more block(s) + + + + + unknown + + + + + TransactionDescDialog + + + Transaction details + + + + + This pane shows a detailed description of the transaction + + + + + TransactionTableModel + + + Date + Datum + + + + Type + Tipe + + + + Address + Adres + + + + Amount + Bedrag + + + + Open for %n more block(s) + + + + + Open until %1 + + + + + Offline (%1 confirmations) + + + + + Unconfirmed (%1 of %2 confirmations) + + + + + Confirmed (%1 confirmations) + + + + + Mined balance will be available when it matures in %n more block(s) + + + + + This block was not received by any other nodes and will probably not be accepted! + + + + + Generated but not accepted + + + + + Received with + Ontvang met + + + + Received from + + + + + Sent to + Gestuur na + + + + Payment to yourself + + + + + Mined + Gemyn + + + + (n/a) + (n.v.t) + + + + Transaction status. Hover over this field to show number of confirmations. + + + + + Date and time that the transaction was received. + Datum en tyd wat die transaksie ontvang was. + + + + Type of transaction. + Tipe transaksie. + + + + Destination address of transaction. + + + + + Amount removed from or added to balance. + + + + + TransactionView + + + + All + Alles + + + + Today + Vandag + + + + This week + Hierdie week + + + + This month + Hierdie maand + + + + Last month + Verlede maand + + + + This year + Hierdie jaar + + + + Range... + + + + + Received with + Ontvang met + + + + Sent to + Gestuur na + + + + To yourself + Aan/na jouself + + + + Mined + Gemyn + + + + Other + Ander + + + + Enter address or label to search + + + + + Min amount + Min bedrag + + + + Copy address + Maak kopie van adres + + + + Copy label + + + + + Copy amount + + + + + Copy transaction ID + + + + + Edit label + + + + + Show transaction details + + + + + Export Transaction Data + + + + + Comma separated file (*.csv) + + + + + Confirmed + + + + + Date + Datum + + + + Type + Tipe + + + + Label + Etiket + + + + Address + Adres + + + + Amount + Bedrag + + + + ID + ID + + + + Error exporting + Fout uitvoering + + + + Could not write to file %1. + Kon nie na die %1 lêer skryf nie + + + + Range: + + + + + to + + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + Bitcoin weergawe + + + + Usage: + Gebruik: + + + + Send command to -server or bitcoind + + + + + List commands + + + + + Get help for a command + + + + + Options: + + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + + Specify data directory + + + + + Set database cache size in megabytes (default: 25) + + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + + + + + Maintain at most <n> connections to peers (default: 125) + + + + + Connect to a node to retrieve peer addresses, and disconnect + + + + + Specify your own public address + + + + + Threshold for disconnecting misbehaving peers (default: 100) + + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + + + + + Accept command line and JSON-RPC commands + + + + + Run in the background as a daemon and accept commands + + + + + Use the test network + + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + + + Attempt to recover private keys from a corrupt wallet.dat + + + + + Block creation options: + + + + + Connect only to the specified node(s) + + + + + Corrupted block database detected + + + + + Discover own IP address (default: 1 when listening and no -externalip) + + + + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + + Error loading block database + + + + + Error opening block database + + + + + Error: Disk space is low! + Fout: Hardeskyf spasie is baie laag! + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + + + + + Failed to listen on any port. Use -listen=0 if you want this. + + + + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + + + Find peers using DNS lookup (default: 1 unless -connect) + + + + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) + + + + + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + + + + + Verifying wallet... + + + + + Imports blocks from external blk000??.dat file + + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + + Information + Informasie + + + + Invalid -tor address: '%s' + + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + + + + + Only accept block chain matching built-in checkpoints (default: 1) + + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + + + + + Output extra debugging information. Implies all other -debug* options + + + + + Output extra network debugging information + + + + + Prepend debug output with timestamp + + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + + + + Select the version of socks proxy to use (4-5, default: 5) + + + + + Send trace/debug info to console instead of debug.log file + + + + + Send trace/debug info to debugger + + + + + Set maximum block size in bytes (default: 250000) + + + + + Set minimum block size in bytes (default: 0) + + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + + + + + Signing transaction failed + + + + + Specify connection timeout in milliseconds (default: 5000) + + + + + System error: + Sisteem fout: + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + + + + + Use UPnP to map the listening port (default: 1 when listening) + + + + + Use proxy to reach tor hidden services (default: same as -proxy) + + + + + Username for JSON-RPC connections + + + + + Warning + + + + + Warning: This version is obsolete, upgrade required! + + + + + You need to rebuild the databases using -reindex to change -txindex + + + + + wallet.dat corrupt, salvage failed + + + + + Password for JSON-RPC connections + + + + + Allow JSON-RPC connections from specified IP address + + + + + Send commands to node running on <ip> (default: 127.0.0.1) + + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + + + + + Upgrade wallet to latest format + + + + + Set key pool size to <n> (default: 100) + + + + + Rescan the block chain for missing wallet transactions + + + + + Use OpenSSL (https) for JSON-RPC connections + + + + + Server certificate file (default: server.cert) + + + + + Server private key (default: server.pem) + + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + + This help message + + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + + + + + Connect through socks proxy + + + + + Allow DNS lookups for -addnode, -seednode and -connect + + + + + Loading addresses... + Laai adresse... + + + + Error loading wallet.dat: Wallet corrupted + + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + + + + + Wallet needed to be rewritten: restart Bitcoin to complete + + + + + Error loading wallet.dat + + + + + Invalid -proxy address: '%s' + + + + + Unknown network specified in -onlynet: '%s' + + + + + Unknown -socks proxy version requested: %i + + + + + Cannot resolve -bind address: '%s' + + + + + Cannot resolve -externalip address: '%s' + + + + + Invalid amount for -paytxfee=<amount>: '%s' + + + + + Invalid amount + + + + + Insufficient funds + + + + + Loading block index... + Laai blok indeks... + + + + Add a node to connect to and attempt to keep the connection open + + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + + + + + Fee per KB to add to transactions you send + + + + + Loading wallet... + Laai beursie... + + + + Cannot downgrade wallet + + + + + Cannot write default address + + + + + Rescanning... + + + + + Done loading + Klaar gelaai + + + + To use the %s option + + + + + Error + Fout + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_ar.ts bitcoin-0.8.5/src/qt/locale/bitcoin_ar.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_ar.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_ar.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2917 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + عن Bitcoin + + + + <b>Bitcoin</b> version + نسخة <b>Bitcoin</b> + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + + Copyright + + + + + The Bitcoin developers + + + + + AddressBookPage + + + Address Book + دفتر العناوين + + + + Double-click to edit address or label + أنقر على الماوس مرتين لتعديل عنوان + + + + Create a new address + قم بعمل عنوان جديد + + + + Copy the currently selected address to the system clipboard + قم بنسخ القوانين المختارة لحافظة النظام + + + + &New Address + + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + + + + + &Copy Address + + + + + Show &QR Code + + + + + Sign a message to prove you own a Bitcoin address + + + + + Sign &Message + + + + + Delete the currently selected address from the list + + + + + Export the data in the current tab to a file + + + + + &Export + + + + + Verify a message to ensure it was signed with a specified Bitcoin address + + + + + &Verify Message + + + + + &Delete + &أمسح + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + + Copy &Label + + + + + &Edit + + + + + Send &Coins + + + + + Export Address Book Data + + + + + Comma separated file (*.csv) + + + + + Error exporting + + + + + Could not write to file %1. + + + + + AddressTableModel + + + Label + + + + + Address + + + + + (no label) + + + + + AskPassphraseDialog + + + Passphrase Dialog + + + + + Enter passphrase + + + + + New passphrase + + + + + Repeat new passphrase + + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + + + + + Encrypt wallet + + + + + This operation needs your wallet passphrase to unlock the wallet. + + + + + Unlock wallet + + + + + This operation needs your wallet passphrase to decrypt the wallet. + + + + + Decrypt wallet + + + + + Change passphrase + + + + + Enter the old and new passphrase to the wallet. + + + + + Confirm wallet encryption + + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + + + + + Are you sure you wish to encrypt your wallet? + + + + + 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. + + + + + + Warning: The Caps Lock key is on! + + + + + + Wallet encrypted + + + + + Bitcoin 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. + + + + + + + + Wallet encryption failed + + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + + + + + + The supplied passphrases do not match. + + + + + Wallet unlock failed + + + + + + + The passphrase entered for the wallet decryption was incorrect. + + + + + Wallet decryption failed + + + + + Wallet passphrase was successfully changed. + + + + + BitcoinGUI + + + Sign &message... + + + + + Synchronizing with network... + + + + + &Overview + + + + + Show general overview of wallet + + + + + &Transactions + + + + + Browse transaction history + + + + + Edit the list of stored addresses and labels + + + + + Show the list of addresses for receiving payments + + + + + E&xit + + + + + Quit application + + + + + Show information about Bitcoin + + + + + About &Qt + + + + + Show information about Qt + + + + + &Options... + + + + + &Encrypt Wallet... + + + + + &Backup Wallet... + + + + + &Change Passphrase... + + + + + Importing blocks from disk... + + + + + Reindexing blocks on disk... + + + + + Send coins to a Bitcoin address + + + + + Modify configuration options for Bitcoin + + + + + Backup wallet to another location + + + + + Change the passphrase used for wallet encryption + + + + + &Debug window + + + + + Open debugging and diagnostic console + + + + + &Verify message... + + + + + + Bitcoin + + + + + Wallet + + + + + &Send + + + + + &Receive + + + + + &Addresses + + + + + &About Bitcoin + + + + + &Show / Hide + + + + + Show or hide the main Window + + + + + Encrypt the private keys that belong to your wallet + + + + + Sign messages with your Bitcoin addresses to prove you own them + + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + + + + + &File + + + + + &Settings + + + + + &Help + + + + + Tabs toolbar + + + + + + [testnet] + + + + + Bitcoin client + + + + + %n active connection(s) to Bitcoin network + + + + + No block source available... + + + + + Processed %1 of %2 (estimated) blocks of transaction history. + + + + + Processed %1 blocks of transaction history. + + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + + + + %1 behind + + + + + Last received block was generated %1 ago. + + + + + Transactions after this will not yet be visible. + + + + + Error + + + + + Warning + + + + + Information + + + + + 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? + + + + + Up to date + + + + + Catching up... + + + + + Confirm transaction fee + + + + + Sent transaction + + + + + Incoming transaction + + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + + + + + + URI handling + + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + + + + + ClientModel + + + Network Alert + + + + + EditAddressDialog + + + Edit Address + + + + + &Label + + + + + The label associated with this address book entry + + + + + &Address + + + + + The address associated with this address book entry. This can only be modified for sending addresses. + + + + + New receiving address + + + + + New sending address + + + + + Edit receiving address + + + + + Edit sending address + + + + + The entered address "%1" is already in the address book. + + + + + The entered address "%1" is not a valid Bitcoin address. + + + + + Could not unlock wallet. + + + + + New key generation failed. + + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + + + + + version + + + + + Usage: + + + + + command-line options + + + + + UI options + + + + + Set language, for example "de_DE" (default: system locale) + + + + + Start minimized + + + + + Show splash screen on startup (default: 1) + + + + + OptionsDialog + + + Options + + + + + &Main + + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + + + + + Pay transaction &fee + + + + + Automatically start Bitcoin after logging in to the system. + + + + + &Start Bitcoin on system login + + + + + Reset all client options to default. + + + + + &Reset Options + + + + + &Network + + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + + + + + Map port using &UPnP + + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + + + + + &Connect through SOCKS proxy: + + + + + Proxy &IP: + + + + + IP address of the proxy (e.g. 127.0.0.1) + + + + + &Port: + + + + + Port of the proxy (e.g. 9050) + + + + + SOCKS &Version: + + + + + SOCKS version of the proxy (e.g. 5) + + + + + &Window + + + + + Show only a tray icon after minimizing the window. + + + + + &Minimize to the tray instead of the taskbar + + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + + + + + M&inimize on close + + + + + &Display + + + + + User Interface &language: + + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + + + + + &Unit to show amounts in: + + + + + Choose the default subdivision unit to show in the interface and when sending coins. + + + + + Whether to show Bitcoin addresses in the transaction list or not. + + + + + &Display addresses in transaction list + + + + + &OK + + + + + &Cancel + + + + + &Apply + + + + + default + + + + + Confirm options reset + + + + + Some settings may require a client restart to take effect. + + + + + Do you want to proceed? + + + + + + Warning + + + + + + This setting will take effect after restarting Bitcoin. + + + + + The supplied proxy address is invalid. + + + + + OverviewPage + + + Form + + + + + + 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. + + + + + Balance: + + + + + Unconfirmed: + + + + + Wallet + + + + + Immature: + + + + + Mined balance that has not yet matured + + + + + <b>Recent transactions</b> + + + + + Your current balance + + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + + + + + + out of sync + + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + + QRCodeDialog + + + QR Code Dialog + + + + + Request Payment + + + + + Amount: + + + + + Label: + + + + + Message: + + + + + &Save As... + + + + + Error encoding URI into QR Code. + + + + + The entered amount is invalid, please check. + + + + + Resulting URI too long, try to reduce the text for label / message. + + + + + Save QR Code + + + + + PNG Images (*.png) + + + + + RPCConsole + + + Client name + + + + + + + + + + + + + + N/A + + + + + Client version + + + + + &Information + + + + + Using OpenSSL version + + + + + Startup time + + + + + Network + + + + + Number of connections + + + + + On testnet + + + + + Block chain + + + + + Current number of blocks + + + + + Estimated total blocks + + + + + Last block time + + + + + &Open + + + + + Command-line options + + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + + + + + &Show + + + + + &Console + + + + + Build date + + + + + Bitcoin - Debug window + + + + + Bitcoin Core + + + + + Debug log file + + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + + + + + Clear console + + + + + Welcome to the Bitcoin RPC console. + + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + + + + + Type <b>help</b> for an overview of available commands. + + + + + SendCoinsDialog + + + + + + + + + + Send Coins + + + + + Send to multiple recipients at once + + + + + Add &Recipient + + + + + Remove all transaction fields + + + + + Clear &All + + + + + Balance: + + + + + 123.456 BTC + + + + + Confirm the send action + + + + + S&end + + + + + <b>%1</b> to %2 (%3) + + + + + Confirm send coins + + + + + Are you sure you want to send %1? + + + + + and + + + + + The recipient address is not valid, please recheck. + + + + + The amount to pay must be larger than 0. + + + + + The amount exceeds your balance. + + + + + The total exceeds your balance when the %1 transaction fee is included. + + + + + Duplicate address found, can only send to each address once per send operation. + + + + + Error: Transaction creation failed! + + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + SendCoinsEntry + + + Form + + + + + A&mount: + + + + + Pay &To: + + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Enter a label for this address to add it to your address book + + + + + &Label: + + + + + Choose address from address book + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Remove this recipient + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + + + + + &Sign Message + + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Choose an address from the address book + + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Enter the message you want to sign here + + + + + Signature + + + + + Copy the current signature to the system clipboard + + + + + Sign the message to prove you own this Bitcoin address + + + + + Sign &Message + + + + + Reset all sign message fields + + + + + + Clear &All + + + + + &Verify Message + + + + + Enter the signing 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. + + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Verify the message to ensure it was signed with the specified Bitcoin address + + + + + Verify &Message + + + + + Reset all verify message fields + + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Click "Sign Message" to generate signature + + + + + Enter Bitcoin signature + + + + + + The entered address is invalid. + + + + + + + + Please check the address and try again. + + + + + + The entered address does not refer to a key. + + + + + Wallet unlock was cancelled. + + + + + Private key for the entered address is not available. + + + + + Message signing failed. + + + + + Message signed. + + + + + The signature could not be decoded. + + + + + + Please check the signature and try again. + + + + + The signature did not match the message digest. + + + + + Message verification failed. + + + + + Message verified. + + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + + TransactionDesc + + + Open until %1 + + + + + %1/offline + + + + + %1/unconfirmed + + + + + %1 confirmations + + + + + Status + + + + + , broadcast through %n node(s) + + + + + Date + + + + + Source + + + + + Generated + + + + + + From + + + + + + + To + + + + + + own address + + + + + label + + + + + + + + + Credit + + + + + matures in %n more block(s) + + + + + not accepted + + + + + + + + Debit + + + + + Transaction fee + + + + + Net amount + + + + + Message + + + + + Comment + + + + + Transaction ID + + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + + + Debug information + + + + + Transaction + + + + + Inputs + + + + + Amount + + + + + true + + + + + false + + + + + , has not been successfully broadcast yet + + + + + Open for %n more block(s) + + + + + unknown + + + + + TransactionDescDialog + + + Transaction details + + + + + This pane shows a detailed description of the transaction + + + + + TransactionTableModel + + + Date + + + + + Type + + + + + Address + + + + + Amount + + + + + Open for %n more block(s) + + + + + Open until %1 + + + + + Offline (%1 confirmations) + + + + + Unconfirmed (%1 of %2 confirmations) + + + + + Confirmed (%1 confirmations) + + + + + Mined balance will be available when it matures in %n more block(s) + + + + + This block was not received by any other nodes and will probably not be accepted! + + + + + Generated but not accepted + + + + + Received with + + + + + Received from + + + + + Sent to + + + + + Payment to yourself + + + + + Mined + + + + + (n/a) + + + + + Transaction status. Hover over this field to show number of confirmations. + + + + + Date and time that the transaction was received. + + + + + Type of transaction. + + + + + Destination address of transaction. + + + + + Amount removed from or added to balance. + + + + + TransactionView + + + + All + + + + + Today + + + + + This week + + + + + This month + + + + + Last month + + + + + This year + + + + + Range... + + + + + Received with + + + + + Sent to + + + + + To yourself + + + + + Mined + + + + + Other + + + + + Enter address or label to search + + + + + Min amount + + + + + Copy address + + + + + Copy label + + + + + Copy amount + + + + + Copy transaction ID + + + + + Edit label + + + + + Show transaction details + + + + + Export Transaction Data + + + + + Comma separated file (*.csv) + + + + + Confirmed + + + + + Date + + + + + Type + + + + + Label + + + + + Address + + + + + Amount + + + + + ID + + + + + Error exporting + + + + + Could not write to file %1. + + + + + Range: + + + + + to + + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + + + + + Usage: + + + + + Send command to -server or bitcoind + + + + + List commands + + + + + Get help for a command + + + + + Options: + + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + + Specify data directory + + + + + Set database cache size in megabytes (default: 25) + + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + + + + + Maintain at most <n> connections to peers (default: 125) + + + + + Connect to a node to retrieve peer addresses, and disconnect + + + + + Specify your own public address + + + + + Threshold for disconnecting misbehaving peers (default: 100) + + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + + + + + Accept command line and JSON-RPC commands + + + + + Run in the background as a daemon and accept commands + + + + + Use the test network + + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + + + Attempt to recover private keys from a corrupt wallet.dat + + + + + Block creation options: + + + + + Connect only to the specified node(s) + + + + + Corrupted block database detected + + + + + Discover own IP address (default: 1 when listening and no -externalip) + + + + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + + Error loading block database + + + + + Error opening block database + + + + + Error: Disk space is low! + + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + + + + + Failed to listen on any port. Use -listen=0 if you want this. + + + + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + + + Find peers using DNS lookup (default: 1 unless -connect) + + + + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) + + + + + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + + + + + Verifying wallet... + + + + + Imports blocks from external blk000??.dat file + + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + + Information + + + + + Invalid -tor address: '%s' + + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + + + + + Only accept block chain matching built-in checkpoints (default: 1) + + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + + + + + Output extra debugging information. Implies all other -debug* options + + + + + Output extra network debugging information + + + + + Prepend debug output with timestamp + + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + + + + Select the version of socks proxy to use (4-5, default: 5) + + + + + Send trace/debug info to console instead of debug.log file + + + + + Send trace/debug info to debugger + + + + + Set maximum block size in bytes (default: 250000) + + + + + Set minimum block size in bytes (default: 0) + + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + + + + + Signing transaction failed + + + + + Specify connection timeout in milliseconds (default: 5000) + + + + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + + + + + Use UPnP to map the listening port (default: 1 when listening) + + + + + Use proxy to reach tor hidden services (default: same as -proxy) + + + + + Username for JSON-RPC connections + + + + + Warning + + + + + Warning: This version is obsolete, upgrade required! + + + + + You need to rebuild the databases using -reindex to change -txindex + + + + + wallet.dat corrupt, salvage failed + + + + + Password for JSON-RPC connections + + + + + Allow JSON-RPC connections from specified IP address + + + + + Send commands to node running on <ip> (default: 127.0.0.1) + + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + + + + + Upgrade wallet to latest format + + + + + Set key pool size to <n> (default: 100) + + + + + Rescan the block chain for missing wallet transactions + + + + + Use OpenSSL (https) for JSON-RPC connections + + + + + Server certificate file (default: server.cert) + + + + + Server private key (default: server.pem) + + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + + This help message + + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + + + + + Connect through socks proxy + + + + + Allow DNS lookups for -addnode, -seednode and -connect + + + + + Loading addresses... + + + + + Error loading wallet.dat: Wallet corrupted + + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + + + + + Wallet needed to be rewritten: restart Bitcoin to complete + + + + + Error loading wallet.dat + + + + + Invalid -proxy address: '%s' + + + + + Unknown network specified in -onlynet: '%s' + + + + + Unknown -socks proxy version requested: %i + + + + + Cannot resolve -bind address: '%s' + + + + + Cannot resolve -externalip address: '%s' + + + + + Invalid amount for -paytxfee=<amount>: '%s' + + + + + Invalid amount + + + + + Insufficient funds + + + + + Loading block index... + + + + + Add a node to connect to and attempt to keep the connection open + + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + + + + + Fee per KB to add to transactions you send + + + + + Loading wallet... + + + + + Cannot downgrade wallet + + + + + Cannot write default address + + + + + Rescanning... + + + + + Done loading + + + + + To use the %s option + + + + + Error + + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_bg.ts bitcoin-0.8.5/src/qt/locale/bitcoin_bg.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_bg.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_bg.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Биткоин</b> версия - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Биткоин разработчици - - - + This is experimental software. @@ -32,6 +27,16 @@ Използван е софтуер, разработен от OpenSSL Project за употреба в OpenSSL Toolkit (http://www.openssl.org/), криптографски софтуер разработен от Eric Young (eay@cryptsoft.com) и UPnP софтуер разработен от Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -41,7 +46,7 @@ Адреси - + Double-click to edit address or label Двоен клик за редакция на адрес или име @@ -61,12 +66,12 @@ &Нов адрес - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Това са вашите Биткоин адреси за получаване на плащания. За по-лесно проследяване на плащанията и повишена анонимност можете да използвате нов адрес за всяко плащане. - + &Copy Address &Копирай @@ -91,7 +96,17 @@ Изтрий избрания адрес от списъка - + + Export the data in the current tab to a file + Запишете данните от текущия раздел във файл + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address Проверете съобщение, за да сте сигурни че е подписано с определен Биткоин адрес @@ -106,17 +121,27 @@ &Изтрий - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Копирай &име - + &Edit &Редактирай - + + Send &Coins + + + + Export Address Book Data Запазване на адреси @@ -139,7 +164,7 @@ AddressTableModel - + Label Име @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Подписване на &съобщение... - + Synchronizing with network... Синхронизиране с мрежата... - + &Overview &Баланс @@ -328,32 +353,17 @@ История на входящите и изходящи транзакции - - &Address Book - &Адреси - - - + Edit the list of stored addresses and labels Редактиране на адреси - - &Receive coins - &Получаване - - - + Show the list of addresses for receiving payments Списък на адресите за получаване - - &Send coins - &Изпращане - - - + E&xit Из&ход @@ -383,7 +393,7 @@ &Опции... - + &Encrypt Wallet... &Криптиране на портфейла... @@ -398,7 +408,7 @@ &Смяна на паролата... - + Importing blocks from disk... @@ -407,18 +417,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - остава ~%n блокостават ~%n блока - - - - &Export... - &Експорт... - - + Send coins to a Bitcoin address Изпращане към Биткоин адрес @@ -428,12 +428,7 @@ - - Export the data in the current tab to a file - Запишете данните от текущия раздел във файл - - - + Backup wallet to another location @@ -443,7 +438,7 @@ Променя паролата за портфейла - + &Debug window @@ -453,23 +448,38 @@ - + &Verify message... &Проверка на съобщение... - - + + Bitcoin Биткоин - + Wallet Портфейл - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &За Биткоин @@ -484,7 +494,7 @@ - + Encrypt the private keys that belong to your wallet @@ -499,12 +509,12 @@ - + &File &Файл - + &Settings &Настройки @@ -519,108 +529,103 @@ Раздели - - Actions toolbar - Функции - - - + [testnet] [testnet] - + Bitcoin client - + %n active connection(s) to Bitcoin network %n връзка към Биткоин мрежата%n връзки към Биткоин мрежата - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - %n секунда%n секунди - - - - %n minute(s) ago - %n минута%n минути - - - - %n hour(s) ago - %n час%n часа + + + Information + - - - %n day(s) ago - %n ден%n дни + + + 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? + - + Up to date Синхронизиран - + Catching up... Зарежда блокове... - - Last received block was generated %1. - Последният блок е от %1. - - - + Confirm transaction fee Потвърждение за такса - + Sent transaction Изходяща транзакция @@ -639,14 +644,14 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -661,27 +666,7 @@ Портфейлът е <b>криптиран</b> и <b>заключен</b> - - Backup Wallet - Запазване на портфейла - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -689,7 +674,7 @@ ClientModel - + Network Alert @@ -722,7 +707,7 @@ Адресът свързан с този запис в списъка с адреси. Може да се променя само за изходящи адреси. - + New receiving address Нов адрес за получаване @@ -742,17 +727,17 @@ Редактиране на изходящ адрес - + The entered address "%1" is already in the address book. Вече има адрес "%1" в списъка с адреси. - + The entered address "%1" is not a valid Bitcoin address. "%1" не е валиден Биткоин адрес. - + Could not unlock wallet. Отключването на портфейла беше неуспешно. @@ -765,7 +750,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -820,8 +805,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Такса за транзакция на kB. Подпомага участниците в мрежата, които верифицират транзакции (miners). По-висока стойност би трябвало да ускори обработката на транзакции. Повечето транзакции са около 1 kB. Препоръчителна стойност - 0.0005 BTC. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -979,7 +964,7 @@ - + default @@ -1024,23 +1009,18 @@ Форма - - + + 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. - + Balance: Баланс: - - Number of transactions: - Брой транзакции: - - - + Unconfirmed: Непотвърдени: @@ -1050,7 +1030,7 @@ Портфейл - + Immature: @@ -1065,7 +1045,7 @@ <b>Последни транзакции</b> - + Your current balance Вашият текущ баланс @@ -1075,18 +1055,21 @@ Сборът на все още непотвърдените транзакции, които не са част от текущия баланс - - Total number of transactions in wallet - Общ брой транзакции - - - + out of sync несинхронизиран + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1161,7 +1144,7 @@ - + N/A N/A @@ -1425,7 +1408,7 @@ - + Enter a label for this address to add it to your address book Въведете име за този адрес, за да го добавите в списъка с адреси @@ -1659,9 +1642,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Подлежи на промяна до %1 @@ -1848,7 +1844,7 @@ TransactionTableModel - + Date Дата @@ -1966,7 +1962,7 @@ TransactionView - + All Всички @@ -2053,6 +2049,11 @@ + Copy transaction ID + + + + Edit label Редактирай име @@ -2062,7 +2063,7 @@ - + Export Transaction Data @@ -2117,7 +2118,7 @@ Неуспешен запис в %1. - + Range: От: @@ -2128,39 +2129,90 @@ + WalletModel + + + Send Coins + Изпращане + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + Запишете данните от текущия раздел във файл + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version Биткоин версия - + Usage: - + Send command to -server or bitcoind - + List commands - + Get help for a command - + Options: Опции: - + Specify configuration file (default: bitcoin.conf) @@ -2170,100 +2222,92 @@ - - Generate coins - - - - - Don't generate coins - - - - + Specify data directory - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands - + Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2279,22 +2323,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2303,7 +2347,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2343,62 +2387,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2408,7 +2562,22 @@ Невалиден -tor адрес: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2418,7 +2587,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2443,12 +2612,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2478,17 +2642,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2519,36 +2708,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) @@ -2558,17 +2752,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) @@ -2578,37 +2767,37 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... Зареждане на адресите... - + Error loading wallet.dat: Wallet corrupted @@ -2618,32 +2807,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' Невалиден -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2653,7 +2832,7 @@ - + Cannot resolve -bind address: '%s' @@ -2663,32 +2842,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Insufficient funds - + Loading block index... Зареждане на блок индекса... - + Add a node to connect to and attempt to keep the connection open @@ -2698,12 +2872,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send @@ -2713,42 +2882,37 @@ Зареждане на портфейла... - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... Преразглеждане на последовтелността от блокове... - + Done loading Зареждането е завършено - + To use the %s option - + Error Грешка - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_bs.ts bitcoin-0.8.5/src/qt/locale/bitcoin_bs.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_bs.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_bs.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2917 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + O Bitcoinu + + + + <b>Bitcoin</b> version + <b>Bitcoin</b> verzija + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + + Copyright + + + + + The Bitcoin developers + + + + + AddressBookPage + + + Address Book + Adresar + + + + Double-click to edit address or label + + + + + Create a new address + + + + + Copy the currently selected address to the system clipboard + + + + + &New Address + + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + + + + + &Copy Address + + + + + Show &QR Code + + + + + Sign a message to prove you own a Bitcoin address + + + + + Sign &Message + + + + + Delete the currently selected address from the list + + + + + Export the data in the current tab to a file + + + + + &Export + + + + + Verify a message to ensure it was signed with a specified Bitcoin address + + + + + &Verify Message + + + + + &Delete + + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + + Copy &Label + + + + + &Edit + + + + + Send &Coins + + + + + Export Address Book Data + + + + + Comma separated file (*.csv) + + + + + Error exporting + + + + + Could not write to file %1. + + + + + AddressTableModel + + + Label + + + + + Address + + + + + (no label) + + + + + AskPassphraseDialog + + + Passphrase Dialog + + + + + Enter passphrase + + + + + New passphrase + + + + + Repeat new passphrase + + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + + + + + Encrypt wallet + + + + + This operation needs your wallet passphrase to unlock the wallet. + + + + + Unlock wallet + + + + + This operation needs your wallet passphrase to decrypt the wallet. + + + + + Decrypt wallet + + + + + Change passphrase + + + + + Enter the old and new passphrase to the wallet. + + + + + Confirm wallet encryption + + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + + + + + Are you sure you wish to encrypt your wallet? + + + + + 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. + + + + + + Warning: The Caps Lock key is on! + + + + + + Wallet encrypted + + + + + Bitcoin 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. + + + + + + + + Wallet encryption failed + + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + + + + + + The supplied passphrases do not match. + + + + + Wallet unlock failed + + + + + + + The passphrase entered for the wallet decryption was incorrect. + + + + + Wallet decryption failed + + + + + Wallet passphrase was successfully changed. + + + + + BitcoinGUI + + + Sign &message... + + + + + Synchronizing with network... + + + + + &Overview + + + + + Show general overview of wallet + + + + + &Transactions + + + + + Browse transaction history + + + + + Edit the list of stored addresses and labels + + + + + Show the list of addresses for receiving payments + + + + + E&xit + + + + + Quit application + + + + + Show information about Bitcoin + + + + + About &Qt + + + + + Show information about Qt + + + + + &Options... + + + + + &Encrypt Wallet... + + + + + &Backup Wallet... + + + + + &Change Passphrase... + + + + + Importing blocks from disk... + + + + + Reindexing blocks on disk... + + + + + Send coins to a Bitcoin address + + + + + Modify configuration options for Bitcoin + + + + + Backup wallet to another location + + + + + Change the passphrase used for wallet encryption + + + + + &Debug window + + + + + Open debugging and diagnostic console + + + + + &Verify message... + + + + + + Bitcoin + + + + + Wallet + + + + + &Send + + + + + &Receive + + + + + &Addresses + + + + + &About Bitcoin + + + + + &Show / Hide + + + + + Show or hide the main Window + + + + + Encrypt the private keys that belong to your wallet + + + + + Sign messages with your Bitcoin addresses to prove you own them + + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + + + + + &File + + + + + &Settings + + + + + &Help + + + + + Tabs toolbar + + + + + + [testnet] + + + + + Bitcoin client + + + + + %n active connection(s) to Bitcoin network + + + + + No block source available... + + + + + Processed %1 of %2 (estimated) blocks of transaction history. + + + + + Processed %1 blocks of transaction history. + + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + + + + %1 behind + + + + + Last received block was generated %1 ago. + + + + + Transactions after this will not yet be visible. + + + + + Error + + + + + Warning + + + + + Information + + + + + 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? + + + + + Up to date + + + + + Catching up... + + + + + Confirm transaction fee + + + + + Sent transaction + + + + + Incoming transaction + + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + + + + + + URI handling + + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + + + + + ClientModel + + + Network Alert + + + + + EditAddressDialog + + + Edit Address + + + + + &Label + + + + + The label associated with this address book entry + + + + + &Address + + + + + The address associated with this address book entry. This can only be modified for sending addresses. + + + + + New receiving address + + + + + New sending address + + + + + Edit receiving address + + + + + Edit sending address + + + + + The entered address "%1" is already in the address book. + + + + + The entered address "%1" is not a valid Bitcoin address. + + + + + Could not unlock wallet. + + + + + New key generation failed. + + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + + + + + version + + + + + Usage: + + + + + command-line options + + + + + UI options + + + + + Set language, for example "de_DE" (default: system locale) + + + + + Start minimized + + + + + Show splash screen on startup (default: 1) + + + + + OptionsDialog + + + Options + + + + + &Main + + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + + + + + Pay transaction &fee + + + + + Automatically start Bitcoin after logging in to the system. + + + + + &Start Bitcoin on system login + + + + + Reset all client options to default. + + + + + &Reset Options + + + + + &Network + + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + + + + + Map port using &UPnP + + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + + + + + &Connect through SOCKS proxy: + + + + + Proxy &IP: + + + + + IP address of the proxy (e.g. 127.0.0.1) + + + + + &Port: + + + + + Port of the proxy (e.g. 9050) + + + + + SOCKS &Version: + + + + + SOCKS version of the proxy (e.g. 5) + + + + + &Window + + + + + Show only a tray icon after minimizing the window. + + + + + &Minimize to the tray instead of the taskbar + + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + + + + + M&inimize on close + + + + + &Display + + + + + User Interface &language: + + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + + + + + &Unit to show amounts in: + + + + + Choose the default subdivision unit to show in the interface and when sending coins. + + + + + Whether to show Bitcoin addresses in the transaction list or not. + + + + + &Display addresses in transaction list + + + + + &OK + + + + + &Cancel + + + + + &Apply + + + + + default + + + + + Confirm options reset + + + + + Some settings may require a client restart to take effect. + + + + + Do you want to proceed? + + + + + + Warning + + + + + + This setting will take effect after restarting Bitcoin. + + + + + The supplied proxy address is invalid. + + + + + OverviewPage + + + Form + + + + + + 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. + + + + + Balance: + + + + + Unconfirmed: + + + + + Wallet + + + + + Immature: + + + + + Mined balance that has not yet matured + + + + + <b>Recent transactions</b> + + + + + Your current balance + + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + + + + + + out of sync + + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + + QRCodeDialog + + + QR Code Dialog + + + + + Request Payment + + + + + Amount: + + + + + Label: + + + + + Message: + + + + + &Save As... + + + + + Error encoding URI into QR Code. + + + + + The entered amount is invalid, please check. + + + + + Resulting URI too long, try to reduce the text for label / message. + + + + + Save QR Code + + + + + PNG Images (*.png) + + + + + RPCConsole + + + Client name + + + + + + + + + + + + + + N/A + + + + + Client version + + + + + &Information + + + + + Using OpenSSL version + + + + + Startup time + + + + + Network + + + + + Number of connections + + + + + On testnet + + + + + Block chain + + + + + Current number of blocks + + + + + Estimated total blocks + + + + + Last block time + + + + + &Open + + + + + Command-line options + + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + + + + + &Show + + + + + &Console + + + + + Build date + + + + + Bitcoin - Debug window + + + + + Bitcoin Core + + + + + Debug log file + + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + + + + + Clear console + + + + + Welcome to the Bitcoin RPC console. + + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + + + + + Type <b>help</b> for an overview of available commands. + + + + + SendCoinsDialog + + + + + + + + + + Send Coins + + + + + Send to multiple recipients at once + + + + + Add &Recipient + + + + + Remove all transaction fields + + + + + Clear &All + + + + + Balance: + + + + + 123.456 BTC + + + + + Confirm the send action + + + + + S&end + + + + + <b>%1</b> to %2 (%3) + + + + + Confirm send coins + + + + + Are you sure you want to send %1? + + + + + and + + + + + The recipient address is not valid, please recheck. + + + + + The amount to pay must be larger than 0. + + + + + The amount exceeds your balance. + + + + + The total exceeds your balance when the %1 transaction fee is included. + + + + + Duplicate address found, can only send to each address once per send operation. + + + + + Error: Transaction creation failed! + + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + SendCoinsEntry + + + Form + + + + + A&mount: + + + + + Pay &To: + + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Enter a label for this address to add it to your address book + + + + + &Label: + + + + + Choose address from address book + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Remove this recipient + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + + + + + &Sign Message + + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Choose an address from the address book + + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Enter the message you want to sign here + + + + + Signature + + + + + Copy the current signature to the system clipboard + + + + + Sign the message to prove you own this Bitcoin address + + + + + Sign &Message + + + + + Reset all sign message fields + + + + + + Clear &All + + + + + &Verify Message + + + + + Enter the signing 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. + + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Verify the message to ensure it was signed with the specified Bitcoin address + + + + + Verify &Message + + + + + Reset all verify message fields + + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Click "Sign Message" to generate signature + + + + + Enter Bitcoin signature + + + + + + The entered address is invalid. + + + + + + + + Please check the address and try again. + + + + + + The entered address does not refer to a key. + + + + + Wallet unlock was cancelled. + + + + + Private key for the entered address is not available. + + + + + Message signing failed. + + + + + Message signed. + + + + + The signature could not be decoded. + + + + + + Please check the signature and try again. + + + + + The signature did not match the message digest. + + + + + Message verification failed. + + + + + Message verified. + + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + + TransactionDesc + + + Open until %1 + + + + + %1/offline + + + + + %1/unconfirmed + + + + + %1 confirmations + + + + + Status + + + + + , broadcast through %n node(s) + + + + + Date + + + + + Source + + + + + Generated + + + + + + From + + + + + + + To + + + + + + own address + + + + + label + + + + + + + + + Credit + + + + + matures in %n more block(s) + + + + + not accepted + + + + + + + + Debit + + + + + Transaction fee + + + + + Net amount + + + + + Message + + + + + Comment + + + + + Transaction ID + + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + + + Debug information + + + + + Transaction + + + + + Inputs + + + + + Amount + + + + + true + + + + + false + + + + + , has not been successfully broadcast yet + + + + + Open for %n more block(s) + + + + + unknown + + + + + TransactionDescDialog + + + Transaction details + + + + + This pane shows a detailed description of the transaction + + + + + TransactionTableModel + + + Date + + + + + Type + + + + + Address + + + + + Amount + + + + + Open for %n more block(s) + + + + + Open until %1 + + + + + Offline (%1 confirmations) + + + + + Unconfirmed (%1 of %2 confirmations) + + + + + Confirmed (%1 confirmations) + + + + + Mined balance will be available when it matures in %n more block(s) + + + + + This block was not received by any other nodes and will probably not be accepted! + + + + + Generated but not accepted + + + + + Received with + + + + + Received from + + + + + Sent to + + + + + Payment to yourself + + + + + Mined + + + + + (n/a) + + + + + Transaction status. Hover over this field to show number of confirmations. + + + + + Date and time that the transaction was received. + + + + + Type of transaction. + + + + + Destination address of transaction. + + + + + Amount removed from or added to balance. + + + + + TransactionView + + + + All + + + + + Today + + + + + This week + + + + + This month + + + + + Last month + + + + + This year + + + + + Range... + + + + + Received with + + + + + Sent to + + + + + To yourself + + + + + Mined + + + + + Other + + + + + Enter address or label to search + + + + + Min amount + + + + + Copy address + + + + + Copy label + + + + + Copy amount + + + + + Copy transaction ID + + + + + Edit label + + + + + Show transaction details + + + + + Export Transaction Data + + + + + Comma separated file (*.csv) + + + + + Confirmed + + + + + Date + + + + + Type + + + + + Label + + + + + Address + + + + + Amount + + + + + ID + + + + + Error exporting + + + + + Could not write to file %1. + + + + + Range: + + + + + to + + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + + + + + Usage: + + + + + Send command to -server or bitcoind + + + + + List commands + + + + + Get help for a command + + + + + Options: + + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + + Specify data directory + + + + + Set database cache size in megabytes (default: 25) + + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + + + + + Maintain at most <n> connections to peers (default: 125) + + + + + Connect to a node to retrieve peer addresses, and disconnect + + + + + Specify your own public address + + + + + Threshold for disconnecting misbehaving peers (default: 100) + + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + + + + + Accept command line and JSON-RPC commands + + + + + Run in the background as a daemon and accept commands + + + + + Use the test network + + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + + + Attempt to recover private keys from a corrupt wallet.dat + + + + + Block creation options: + + + + + Connect only to the specified node(s) + + + + + Corrupted block database detected + + + + + Discover own IP address (default: 1 when listening and no -externalip) + + + + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + + Error loading block database + + + + + Error opening block database + + + + + Error: Disk space is low! + + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + + + + + Failed to listen on any port. Use -listen=0 if you want this. + + + + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + + + Find peers using DNS lookup (default: 1 unless -connect) + + + + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) + + + + + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + + + + + Verifying wallet... + + + + + Imports blocks from external blk000??.dat file + + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + + Information + + + + + Invalid -tor address: '%s' + + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + + + + + Only accept block chain matching built-in checkpoints (default: 1) + + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + + + + + Output extra debugging information. Implies all other -debug* options + + + + + Output extra network debugging information + + + + + Prepend debug output with timestamp + + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + + + + Select the version of socks proxy to use (4-5, default: 5) + + + + + Send trace/debug info to console instead of debug.log file + + + + + Send trace/debug info to debugger + + + + + Set maximum block size in bytes (default: 250000) + + + + + Set minimum block size in bytes (default: 0) + + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + + + + + Signing transaction failed + + + + + Specify connection timeout in milliseconds (default: 5000) + + + + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + + + + + Use UPnP to map the listening port (default: 1 when listening) + + + + + Use proxy to reach tor hidden services (default: same as -proxy) + + + + + Username for JSON-RPC connections + + + + + Warning + + + + + Warning: This version is obsolete, upgrade required! + + + + + You need to rebuild the databases using -reindex to change -txindex + + + + + wallet.dat corrupt, salvage failed + + + + + Password for JSON-RPC connections + + + + + Allow JSON-RPC connections from specified IP address + + + + + Send commands to node running on <ip> (default: 127.0.0.1) + + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + + + + + Upgrade wallet to latest format + + + + + Set key pool size to <n> (default: 100) + + + + + Rescan the block chain for missing wallet transactions + + + + + Use OpenSSL (https) for JSON-RPC connections + + + + + Server certificate file (default: server.cert) + + + + + Server private key (default: server.pem) + + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + + This help message + + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + + + + + Connect through socks proxy + + + + + Allow DNS lookups for -addnode, -seednode and -connect + + + + + Loading addresses... + + + + + Error loading wallet.dat: Wallet corrupted + + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + + + + + Wallet needed to be rewritten: restart Bitcoin to complete + + + + + Error loading wallet.dat + + + + + Invalid -proxy address: '%s' + + + + + Unknown network specified in -onlynet: '%s' + + + + + Unknown -socks proxy version requested: %i + + + + + Cannot resolve -bind address: '%s' + + + + + Cannot resolve -externalip address: '%s' + + + + + Invalid amount for -paytxfee=<amount>: '%s' + + + + + Invalid amount + + + + + Insufficient funds + + + + + Loading block index... + + + + + Add a node to connect to and attempt to keep the connection open + + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + + + + + Fee per KB to add to transactions you send + + + + + Loading wallet... + + + + + Cannot downgrade wallet + + + + + Cannot write default address + + + + + Rescanning... + + + + + Done loading + + + + + To use the %s option + + + + + Error + + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_ca.ts bitcoin-0.8.5/src/qt/locale/bitcoin_ca.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_ca.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_ca.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2917 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + A prop de Bitcoin + + + + <b>Bitcoin</b> version + + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + + Copyright + + + + + The Bitcoin developers + + + + + AddressBookPage + + + Address Book + Llibreta d'adreçes + + + + Double-click to edit address or label + + + + + Create a new address + + + + + Copy the currently selected address to the system clipboard + Copia la selecció actual al porta-retalls del sistema + + + + &New Address + + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + + + + + &Copy Address + + + + + Show &QR Code + + + + + Sign a message to prove you own a Bitcoin address + + + + + Sign &Message + + + + + Delete the currently selected address from the list + + + + + Export the data in the current tab to a file + + + + + &Export + + + + + Verify a message to ensure it was signed with a specified Bitcoin address + + + + + &Verify Message + + + + + &Delete + + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + + Copy &Label + + + + + &Edit + + + + + Send &Coins + + + + + Export Address Book Data + + + + + Comma separated file (*.csv) + + + + + Error exporting + + + + + Could not write to file %1. + + + + + AddressTableModel + + + Label + + + + + Address + + + + + (no label) + + + + + AskPassphraseDialog + + + Passphrase Dialog + + + + + Enter passphrase + + + + + New passphrase + + + + + Repeat new passphrase + + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + + + + + Encrypt wallet + + + + + This operation needs your wallet passphrase to unlock the wallet. + + + + + Unlock wallet + + + + + This operation needs your wallet passphrase to decrypt the wallet. + + + + + Decrypt wallet + + + + + Change passphrase + + + + + Enter the old and new passphrase to the wallet. + + + + + Confirm wallet encryption + + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + + + + + Are you sure you wish to encrypt your wallet? + + + + + 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. + + + + + + Warning: The Caps Lock key is on! + + + + + + Wallet encrypted + + + + + Bitcoin 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. + + + + + + + + Wallet encryption failed + + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + + + + + + The supplied passphrases do not match. + + + + + Wallet unlock failed + + + + + + + The passphrase entered for the wallet decryption was incorrect. + + + + + Wallet decryption failed + + + + + Wallet passphrase was successfully changed. + + + + + BitcoinGUI + + + Sign &message... + + + + + Synchronizing with network... + + + + + &Overview + + + + + Show general overview of wallet + + + + + &Transactions + + + + + Browse transaction history + + + + + Edit the list of stored addresses and labels + + + + + Show the list of addresses for receiving payments + + + + + E&xit + + + + + Quit application + + + + + Show information about Bitcoin + + + + + About &Qt + + + + + Show information about Qt + + + + + &Options... + + + + + &Encrypt Wallet... + + + + + &Backup Wallet... + + + + + &Change Passphrase... + + + + + Importing blocks from disk... + + + + + Reindexing blocks on disk... + + + + + Send coins to a Bitcoin address + + + + + Modify configuration options for Bitcoin + + + + + Backup wallet to another location + + + + + Change the passphrase used for wallet encryption + + + + + &Debug window + + + + + Open debugging and diagnostic console + + + + + &Verify message... + + + + + + Bitcoin + + + + + Wallet + + + + + &Send + + + + + &Receive + + + + + &Addresses + + + + + &About Bitcoin + + + + + &Show / Hide + + + + + Show or hide the main Window + + + + + Encrypt the private keys that belong to your wallet + + + + + Sign messages with your Bitcoin addresses to prove you own them + + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + + + + + &File + + + + + &Settings + + + + + &Help + + + + + Tabs toolbar + + + + + + [testnet] + + + + + Bitcoin client + + + + + %n active connection(s) to Bitcoin network + + + + + No block source available... + + + + + Processed %1 of %2 (estimated) blocks of transaction history. + + + + + Processed %1 blocks of transaction history. + + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + + + + %1 behind + + + + + Last received block was generated %1 ago. + + + + + Transactions after this will not yet be visible. + + + + + Error + + + + + Warning + + + + + Information + + + + + 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? + + + + + Up to date + + + + + Catching up... + + + + + Confirm transaction fee + + + + + Sent transaction + + + + + Incoming transaction + + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + + + + + + URI handling + + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + + + + + ClientModel + + + Network Alert + + + + + EditAddressDialog + + + Edit Address + + + + + &Label + + + + + The label associated with this address book entry + + + + + &Address + + + + + The address associated with this address book entry. This can only be modified for sending addresses. + + + + + New receiving address + + + + + New sending address + + + + + Edit receiving address + + + + + Edit sending address + + + + + The entered address "%1" is already in the address book. + + + + + The entered address "%1" is not a valid Bitcoin address. + + + + + Could not unlock wallet. + + + + + New key generation failed. + + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + + + + + version + + + + + Usage: + + + + + command-line options + + + + + UI options + + + + + Set language, for example "de_DE" (default: system locale) + + + + + Start minimized + + + + + Show splash screen on startup (default: 1) + + + + + OptionsDialog + + + Options + + + + + &Main + + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + + + + + Pay transaction &fee + + + + + Automatically start Bitcoin after logging in to the system. + + + + + &Start Bitcoin on system login + + + + + Reset all client options to default. + + + + + &Reset Options + + + + + &Network + + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + + + + + Map port using &UPnP + + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + + + + + &Connect through SOCKS proxy: + + + + + Proxy &IP: + + + + + IP address of the proxy (e.g. 127.0.0.1) + + + + + &Port: + + + + + Port of the proxy (e.g. 9050) + + + + + SOCKS &Version: + + + + + SOCKS version of the proxy (e.g. 5) + + + + + &Window + + + + + Show only a tray icon after minimizing the window. + + + + + &Minimize to the tray instead of the taskbar + + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + + + + + M&inimize on close + + + + + &Display + + + + + User Interface &language: + + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + + + + + &Unit to show amounts in: + + + + + Choose the default subdivision unit to show in the interface and when sending coins. + + + + + Whether to show Bitcoin addresses in the transaction list or not. + + + + + &Display addresses in transaction list + + + + + &OK + + + + + &Cancel + + + + + &Apply + + + + + default + + + + + Confirm options reset + + + + + Some settings may require a client restart to take effect. + + + + + Do you want to proceed? + + + + + + Warning + + + + + + This setting will take effect after restarting Bitcoin. + + + + + The supplied proxy address is invalid. + + + + + OverviewPage + + + Form + + + + + + 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. + + + + + Balance: + + + + + Unconfirmed: + + + + + Wallet + + + + + Immature: + + + + + Mined balance that has not yet matured + + + + + <b>Recent transactions</b> + + + + + Your current balance + + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + + + + + + out of sync + + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + + QRCodeDialog + + + QR Code Dialog + + + + + Request Payment + + + + + Amount: + + + + + Label: + + + + + Message: + + + + + &Save As... + + + + + Error encoding URI into QR Code. + + + + + The entered amount is invalid, please check. + + + + + Resulting URI too long, try to reduce the text for label / message. + + + + + Save QR Code + + + + + PNG Images (*.png) + + + + + RPCConsole + + + Client name + + + + + + + + + + + + + + N/A + + + + + Client version + + + + + &Information + + + + + Using OpenSSL version + + + + + Startup time + + + + + Network + + + + + Number of connections + + + + + On testnet + + + + + Block chain + + + + + Current number of blocks + + + + + Estimated total blocks + + + + + Last block time + + + + + &Open + + + + + Command-line options + + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + + + + + &Show + + + + + &Console + + + + + Build date + + + + + Bitcoin - Debug window + + + + + Bitcoin Core + + + + + Debug log file + + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + + + + + Clear console + + + + + Welcome to the Bitcoin RPC console. + + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + + + + + Type <b>help</b> for an overview of available commands. + + + + + SendCoinsDialog + + + + + + + + + + Send Coins + + + + + Send to multiple recipients at once + + + + + Add &Recipient + + + + + Remove all transaction fields + + + + + Clear &All + + + + + Balance: + + + + + 123.456 BTC + + + + + Confirm the send action + + + + + S&end + + + + + <b>%1</b> to %2 (%3) + + + + + Confirm send coins + + + + + Are you sure you want to send %1? + + + + + and + + + + + The recipient address is not valid, please recheck. + + + + + The amount to pay must be larger than 0. + + + + + The amount exceeds your balance. + + + + + The total exceeds your balance when the %1 transaction fee is included. + + + + + Duplicate address found, can only send to each address once per send operation. + + + + + Error: Transaction creation failed! + + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + SendCoinsEntry + + + Form + + + + + A&mount: + + + + + Pay &To: + + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Enter a label for this address to add it to your address book + + + + + &Label: + + + + + Choose address from address book + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Remove this recipient + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + + + + + &Sign Message + + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Choose an address from the address book + + + + + + Alt+A + + + + + Paste address from clipboard + + + + + Alt+P + + + + + Enter the message you want to sign here + + + + + Signature + + + + + Copy the current signature to the system clipboard + + + + + Sign the message to prove you own this Bitcoin address + + + + + Sign &Message + + + + + Reset all sign message fields + + + + + + Clear &All + + + + + &Verify Message + + + + + Enter the signing 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. + + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Verify the message to ensure it was signed with the specified Bitcoin address + + + + + Verify &Message + + + + + Reset all verify message fields + + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Click "Sign Message" to generate signature + + + + + Enter Bitcoin signature + + + + + + The entered address is invalid. + + + + + + + + Please check the address and try again. + + + + + + The entered address does not refer to a key. + + + + + Wallet unlock was cancelled. + + + + + Private key for the entered address is not available. + + + + + Message signing failed. + + + + + Message signed. + + + + + The signature could not be decoded. + + + + + + Please check the signature and try again. + + + + + The signature did not match the message digest. + + + + + Message verification failed. + + + + + Message verified. + + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + + TransactionDesc + + + Open until %1 + + + + + %1/offline + + + + + %1/unconfirmed + + + + + %1 confirmations + + + + + Status + + + + + , broadcast through %n node(s) + + + + + Date + + + + + Source + + + + + Generated + + + + + + From + + + + + + + To + + + + + + own address + + + + + label + + + + + + + + + Credit + + + + + matures in %n more block(s) + + + + + not accepted + + + + + + + + Debit + + + + + Transaction fee + + + + + Net amount + + + + + Message + + + + + Comment + + + + + Transaction ID + + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + + + Debug information + + + + + Transaction + + + + + Inputs + + + + + Amount + + + + + true + + + + + false + + + + + , has not been successfully broadcast yet + + + + + Open for %n more block(s) + + + + + unknown + + + + + TransactionDescDialog + + + Transaction details + + + + + This pane shows a detailed description of the transaction + + + + + TransactionTableModel + + + Date + + + + + Type + + + + + Address + + + + + Amount + + + + + Open for %n more block(s) + + + + + Open until %1 + + + + + Offline (%1 confirmations) + + + + + Unconfirmed (%1 of %2 confirmations) + + + + + Confirmed (%1 confirmations) + + + + + Mined balance will be available when it matures in %n more block(s) + + + + + This block was not received by any other nodes and will probably not be accepted! + + + + + Generated but not accepted + + + + + Received with + + + + + Received from + + + + + Sent to + + + + + Payment to yourself + + + + + Mined + + + + + (n/a) + + + + + Transaction status. Hover over this field to show number of confirmations. + + + + + Date and time that the transaction was received. + + + + + Type of transaction. + + + + + Destination address of transaction. + + + + + Amount removed from or added to balance. + + + + + TransactionView + + + + All + + + + + Today + + + + + This week + + + + + This month + + + + + Last month + + + + + This year + + + + + Range... + + + + + Received with + + + + + Sent to + + + + + To yourself + + + + + Mined + + + + + Other + + + + + Enter address or label to search + + + + + Min amount + + + + + Copy address + + + + + Copy label + + + + + Copy amount + + + + + Copy transaction ID + + + + + Edit label + + + + + Show transaction details + + + + + Export Transaction Data + + + + + Comma separated file (*.csv) + + + + + Confirmed + + + + + Date + + + + + Type + + + + + Label + + + + + Address + + + + + Amount + + + + + ID + + + + + Error exporting + + + + + Could not write to file %1. + + + + + Range: + + + + + to + + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + + + + + Usage: + + + + + Send command to -server or bitcoind + + + + + List commands + + + + + Get help for a command + + + + + Options: + + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + + Specify data directory + + + + + Set database cache size in megabytes (default: 25) + + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + + + + + Maintain at most <n> connections to peers (default: 125) + + + + + Connect to a node to retrieve peer addresses, and disconnect + + + + + Specify your own public address + + + + + Threshold for disconnecting misbehaving peers (default: 100) + + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + + + + + Accept command line and JSON-RPC commands + + + + + Run in the background as a daemon and accept commands + + + + + Use the test network + + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + + + Attempt to recover private keys from a corrupt wallet.dat + + + + + Block creation options: + + + + + Connect only to the specified node(s) + + + + + Corrupted block database detected + + + + + Discover own IP address (default: 1 when listening and no -externalip) + + + + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + + Error loading block database + + + + + Error opening block database + + + + + Error: Disk space is low! + + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + + + + + Failed to listen on any port. Use -listen=0 if you want this. + + + + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + + + Find peers using DNS lookup (default: 1 unless -connect) + + + + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) + + + + + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + + + + + Verifying wallet... + + + + + Imports blocks from external blk000??.dat file + + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + + Information + + + + + Invalid -tor address: '%s' + + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + + + + + Only accept block chain matching built-in checkpoints (default: 1) + + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + + + + + Output extra debugging information. Implies all other -debug* options + + + + + Output extra network debugging information + + + + + Prepend debug output with timestamp + + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + + + + Select the version of socks proxy to use (4-5, default: 5) + + + + + Send trace/debug info to console instead of debug.log file + + + + + Send trace/debug info to debugger + + + + + Set maximum block size in bytes (default: 250000) + + + + + Set minimum block size in bytes (default: 0) + + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + + + + + Signing transaction failed + + + + + Specify connection timeout in milliseconds (default: 5000) + + + + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + + + + + Use UPnP to map the listening port (default: 1 when listening) + + + + + Use proxy to reach tor hidden services (default: same as -proxy) + + + + + Username for JSON-RPC connections + + + + + Warning + + + + + Warning: This version is obsolete, upgrade required! + + + + + You need to rebuild the databases using -reindex to change -txindex + + + + + wallet.dat corrupt, salvage failed + + + + + Password for JSON-RPC connections + + + + + Allow JSON-RPC connections from specified IP address + + + + + Send commands to node running on <ip> (default: 127.0.0.1) + + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + + + + + Upgrade wallet to latest format + + + + + Set key pool size to <n> (default: 100) + + + + + Rescan the block chain for missing wallet transactions + + + + + Use OpenSSL (https) for JSON-RPC connections + + + + + Server certificate file (default: server.cert) + + + + + Server private key (default: server.pem) + + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + + This help message + + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + + + + + Connect through socks proxy + + + + + Allow DNS lookups for -addnode, -seednode and -connect + + + + + Loading addresses... + + + + + Error loading wallet.dat: Wallet corrupted + + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + + + + + Wallet needed to be rewritten: restart Bitcoin to complete + + + + + Error loading wallet.dat + + + + + Invalid -proxy address: '%s' + + + + + Unknown network specified in -onlynet: '%s' + + + + + Unknown -socks proxy version requested: %i + + + + + Cannot resolve -bind address: '%s' + + + + + Cannot resolve -externalip address: '%s' + + + + + Invalid amount for -paytxfee=<amount>: '%s' + + + + + Invalid amount + + + + + Insufficient funds + + + + + Loading block index... + + + + + Add a node to connect to and attempt to keep the connection open + + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + + + + + Fee per KB to add to transactions you send + + + + + Loading wallet... + + + + + Cannot downgrade wallet + + + + + Cannot write default address + + + + + Rescanning... + + + + + Done loading + + + + + To use the %s option + + + + + Error + + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_ca_ES.ts bitcoin-0.8.5/src/qt/locale/bitcoin_ca_ES.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_ca_ES.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_ca_ES.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,18 +13,23 @@ <b>Bitcoin</b> versió - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + \n Aquest és software experimental.\n\n Distribuït sota llicència de software MIT/11, veure l'arxiu COPYING o http://www.opensource.org/licenses/mit-license.php.\n\nAquest producte inclou software desarrollat pel projecte OpenSSL per a l'ús de OppenSSL Toolkit (http://www.openssl.org/) i de softwqre criptogràfic escrit per l'Eric Young (eay@cryptsoft.com) i software UPnP escrit per en Thomas Bernard. + + + + Copyright + Copyright + + + + The Bitcoin developers @@ -33,12 +38,12 @@ Address Book - llibreta d'adreces + Llibreta d'adreces - + Double-click to edit address or label - Feu doble clic per editar la direcció o l'etiqueta + Feu doble clic per editar l'adreça o l'etiqueta @@ -48,105 +53,125 @@ Copy the currently selected address to the system clipboard - Copieu l'adreça seleccionada al porta-retalls del sistema + Copiar l'adreça seleccionada al porta-retalls del sistema &New Address - + &Nova adreça - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + Aquestes són les teves adreces Bitcoin per a rebre pagaments. Pot interesar-te proveïr diferents adreces a cadascun dels enviadors així pots identificar qui et va pagant. - + &Copy Address - + &Copiar adreça Show &QR Code - + Mostrar codi &QR Sign a message to prove you own a Bitcoin address - + Signa el missatge per provar que ets propietari de l'adreça Bitcoin Sign &Message - + Signar &Missatge Delete the currently selected address from the list + Esborrar l'adreça sel·leccionada + + + + Export the data in the current tab to a file - - Verify a message to ensure it was signed with a specified Bitcoin address + + &Export + + Verify a message to ensure it was signed with a specified Bitcoin address + Verificar un missatge per asegurar-se que ha estat signat amb una adreça Bitcoin específica + + &Verify Message - + &Verificar el missatge &Delete - &Borrar + &Esborrar - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Aquestes són la seva adreça de Bitcoin per enviar els pagaments. Sempre revisi la quantitat i l'adreça del destinatari abans transferència de monedes. + + + Copy &Label - + Copiar &Etiqueta - + &Edit - + &Editar + + + + Send &Coins + Enviar &Monedes - + Export Address Book Data - + Exporta llibreta d'adreces Comma separated file (*.csv) - + Arxiu de separació per comes (*.csv) Error exporting - + Error en l'exportació Could not write to file %1. - + No s'ha pogut escriure a l'arxiu %1. AddressTableModel - + Label Etiqueta Address - Direcció + Adreça (no label) - + (sense etiqueta) @@ -154,27 +179,27 @@ Passphrase Dialog - + Dialeg de contrasenya Enter passphrase - + Introdueix contrasenya New passphrase - + Nova contrasenya Repeat new passphrase - + Repeteix la nova contrasenya Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - + Introdueixi la nova contrasenya al moneder<br/>Si us plau useu una contrasenya de <b>10 o més caracters aleatoris</b>, o <b>vuit o més paraules</b>. @@ -184,69 +209,69 @@ This operation needs your wallet passphrase to unlock the wallet. - + Aquesta operació requereix la seva contrasenya del moneder per a desbloquejar-lo. Unlock wallet - + Desbloqueja el moneder This operation needs your wallet passphrase to decrypt the wallet. - + Aquesta operació requereix la seva contrasenya del moneder per a desencriptar-lo. Decrypt wallet - + Desencripta el moneder Change passphrase - + Canviar la contrasenya Enter the old and new passphrase to the wallet. - + Introdueixi tant l'antiga com la nova contrasenya de moneder. Confirm wallet encryption - + Confirmar l'encriptació del moneder Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - + Advertència: Si encripteu el vostre moneder i perdeu la constrasenya, <b>PERDREU TOTS ELS VOSTRES BITCOINS</b>! Are you sure you wish to encrypt your wallet? - + Esteu segur que voleu encriptar el vostre moneder? 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. - + IMPORTANT: Tota copia de seguretat que hagis realitzat hauria de ser reemplaçada pel, recentment generat, arxiu encriptat del moneder. Warning: The Caps Lock key is on! - + Advertència: Les lletres majúscules estàn activades! Wallet encrypted - + Moneder encriptat Bitcoin 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. - + Bitcoin es tancarà ara per acabar el procés d'encriptació. Recorda que encriptar el teu moneder no protegeix completament els teus bitcoins de ser robades per programari maliciós instal·lat al teu ordinador. @@ -254,68 +279,68 @@ Wallet encryption failed - + L'encriptació del moneder ha fallat Wallet encryption failed due to an internal error. Your wallet was not encrypted. - + L'encriptació del moneder ha fallat per un error intern. El seu moneder no ha estat encriptat. The supplied passphrases do not match. - + La contrasenya introduïda no coincideix. Wallet unlock failed - + El desbloqueig del moneder ha fallat The passphrase entered for the wallet decryption was incorrect. - + La contrasenya introduïda per a desencriptar el moneder és incorrecte. Wallet decryption failed - + La desencriptació del moneder ha fallat Wallet passphrase was successfully changed. - + La contrasenya del moneder ha estat modificada correctament. BitcoinGUI - + Sign &message... - + Signar &missatge... - + Synchronizing with network... - Sincronització amb la xarxa ... + Sincronitzant amb la xarxa ... - + &Overview - + &Panorama general Show general overview of wallet - Mostra panorama general de la cartera + Mostra panorama general del moneder &Transactions - + &Transaccions @@ -323,34 +348,19 @@ Cerca a l'historial de transaccions - - &Address Book - llibreta d'&adreces - - - + Edit the list of stored addresses and labels Edita la llista d'adreces emmagatzemada i etiquetes - - &Receive coins - &Rebre monedes - - - + Show the list of addresses for receiving payments - - - - - &Send coins - + Mostra el llistat d'adreces per rebre pagaments - + E&xit - + S&ortir @@ -370,52 +380,42 @@ Show information about Qt - + Mostra informació sobre Qt &Options... - &Opcions ... + &Opcions... - + &Encrypt Wallet... - + &Xifrar moneder &Backup Wallet... - + &Realitzant copia de seguretat del moneder... &Change Passphrase... - + &Canviar contrasenya... - + Importing blocks from disk... - + Important blocs del disc.. Reindexing blocks on disk... - - - - - ~%n block(s) remaining - - - - - &Export... - + Re-indexant blocs al disc... - + Send coins to a Bitcoin address - + Enviar monedes a una adreça Bitcoin @@ -423,85 +423,95 @@ Modificar les opcions de configuració per bitcoin - - Export the data in the current tab to a file - - - - + Backup wallet to another location - + Realitzar còpia de seguretat del moneder a un altre directori Change the passphrase used for wallet encryption - + Canviar la constrasenya d'encriptació del moneder - + &Debug window - + &Finestra de debug Open debugging and diagnostic console - + Obrir la consola de diagnòstic i debugging - + &Verify message... - + &Verifica el missatge.. - - + + Bitcoin - + Bitcoin - + Wallet - + Moneder + + + + &Send + &Enviar + + + + &Receive + &Rebre + + + + &Addresses + &Adreces - + &About Bitcoin &Sobre Bitcoin &Show / Hide - + &Mostrar / Amagar Show or hide the main Window - + Mostrar o amagar la finestra principal - + Encrypt the private keys that belong to your wallet - + Xifrar les claus privades pertanyents al seu moneder Sign messages with your Bitcoin addresses to prove you own them - + Signa el missatges amb la seva adreça de Bitcoin per provar que les poseeixes Verify messages to ensure they were signed with specified Bitcoin addresses - + Verificar els missatges per assegurar-te que han estat signades amb una adreça Bitcoin específica. - + &File - + &Arxiu - + &Settings - + &Configuració @@ -511,118 +521,113 @@ Tabs toolbar - - - - - Actions toolbar - Accions de la barra d'eines + Barra d'eines de seccions - + [testnet] - + [testnet] - + Bitcoin client - + Client Bitcoin - + %n active connection(s) to Bitcoin network - + %n connexió activa a la xarxa Bitcoin%n connexions actives a la xarxa Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Processat el %1 de %2 (estimat) dels blocs del històric de transaccions. + + + Processed %1 blocks of transaction history. - + Proccessats %1 blocs del històric de transaccions. + + + + %n hour(s) + %n hora%n hores + + + + %n day(s) + %n dia%n dies + + + + %n week(s) + %n setmana%n setmanes - + + %1 behind + %1 radera + + + + Last received block was generated %1 ago. + Lúltim bloc rebut ha estat generat fa %1. + + + + Transactions after this will not yet be visible. + Les transaccions a partir d'això no seràn visibles. + + + Error - + Error Warning - + Avís Information - + Informació - + 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? - - - - - Backup Successful - - - - - The wallet data was successfully saved to the new location. - - - - - %n second(s) ago - - - - - %n minute(s) ago - - - - - %n hour(s) ago - - - - - %n day(s) ago - + Aquesta transacció supera el límit de tamany. Tot i així pots enviar-la amb una comissió de %1, que es destinen als nodes que processen la seva transacció i ajuda a donar suport a la xarxa. Vols pagar la comissió? - + Up to date Al dia - + Catching up... Posar-se al dia ... - - Last received block was generated %1. - - - - + Confirm transaction fee - + Confirmar comisió de transacció - + Sent transaction Transacció enviada Incoming transaction - + Transacció entrant @@ -631,62 +636,42 @@ Type: %3 Address: %4 - + Data: %1\nQuantitat %2\n Tipus: %3\n Adreça: %4\n - - + + URI handling - + Manejant URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - + la URI no pot ser processada! Això es pot ser causat per una adreça Bitcoin invalida o paràmetres URI malformats. Wallet is <b>encrypted</b> and currently <b>unlocked</b> - + El moneder està <b>encriptat</b> i actualment <b>desbloquejat</b> Wallet is <b>encrypted</b> and currently <b>locked</b> - - - - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - + El moneder està <b>encriptat</b> i actualment <b>bloquejat</b> - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. - + Ha tingut lloc un error fatal. Bitcoin no pot continuar executant-se de manera segura i es tancará. ClientModel - + Network Alert - + Alerta de xarxa @@ -704,7 +689,7 @@ The label associated with this address book entry - + Etiqueta associada amb aquesta entrada de la llibreta d'adreces @@ -714,91 +699,91 @@ The address associated with this address book entry. This can only be modified for sending addresses. - + Adreça associada amb aquesta entrada de la llibreta d'adreces. Només pot ser modificat per a enviar adreces. - + New receiving address - + Nova adreça de recepció. New sending address - + Nova adreça d'enviament Edit receiving address - + Editar adreces de recepció Edit sending address - + Editar adreces d'enviament - + The entered address "%1" is already in the address book. - + L'adreça introduïda "%1" ja és present a la llibreta d'adreces. - + The entered address "%1" is not a valid Bitcoin address. - + L'adreça introduida "%1" no és una adreça Bitcoin valida. - + Could not unlock wallet. - + No s'ha pogut desbloquejar el moneder. New key generation failed. - + Ha fallat la generació d'una nova clau. GUIUtil::HelpMessageBox - + Bitcoin-Qt - + Bitcoin-Qt version - + versió Usage: - + Ús: command-line options - + Opcions de la línia d'ordres UI options - + Opcions de IU Set language, for example "de_DE" (default: system locale) - + Definir llenguatge, per exemple "de_DE" (per defecte: Preferències locals de sistema) Start minimized - + Iniciar minimitzat Show splash screen on startup (default: 1) - + Mostrar finestra de benvinguda a l'inici (per defecte: 1) @@ -811,47 +796,47 @@ &Main - + &Principal - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Pay transaction &fee - + Pagar &comisió de transacció Automatically start Bitcoin after logging in to the system. - + Iniciar automàticament Bitcoin després de l'inici de sessió del sistema. &Start Bitcoin on system login - + &Iniciar Bitcoin al inici de sessió del sistema. Reset all client options to default. - + Reestablir totes les opcions del client. &Reset Options - + &Reestablir Opcions &Network - + &Xarxa Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. - + Obrir el port del client de Bitcoin al router de forma automàtica. Això només funciona quan el teu router implementa UPnP i l'opció està activada. @@ -861,154 +846,154 @@ Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). - + Connectar a la xarxa Bitcoin a través de un SOCKS proxy (per exemple connectant a través de Tor). &Connect through SOCKS proxy: - + &Connecta a través de un proxy SOCKS: Proxy &IP: - + &IP del proxy: IP address of the proxy (e.g. 127.0.0.1) - + Adreça IP del proxy (per exemple 127.0.0.1) &Port: - + &Port: Port of the proxy (e.g. 9050) - + Port del proxy (per exemple 9050) SOCKS &Version: - + &Versió de SOCKS: SOCKS version of the proxy (e.g. 5) - + Versió SOCKS del proxy (per exemple 5) &Window - + &Finestra Show only a tray icon after minimizing the window. - + Mostrar només l'icona de la barra al minimitzar l'aplicació. &Minimize to the tray instead of the taskbar - + &Minimitzar a la barra d'aplicacions Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. - + Minimitza en comptes de sortir de la aplicació al tancar la finestra. Quan aquesta opció està activa, la aplicació només es tancarà al seleccionar Sortir al menú. M&inimize on close - + M&inimitzar al tancar &Display - + &Pantalla User Interface &language: - + Llenguatge de la Interfície d'Usuari: The user interface language can be set here. This setting will take effect after restarting Bitcoin. - + Aquí pots definir el llenguatge de l'aplicatiu. Aquesta configuració tindrà efecte un cop es reiniciï Bitcoin. &Unit to show amounts in: - + &Unitats per mostrar les quantitats en: Choose the default subdivision unit to show in the interface and when sending coins. - + Sel·lecciona la unitat de subdivisió per defecte per mostrar en la interficie quan s'envien monedes. Whether to show Bitcoin addresses in the transaction list or not. - + Mostrar adreces Bitcoin als llistats de transaccions o no. &Display addresses in transaction list - + &Mostrar adreces al llistat de transaccions &OK - + &OK &Cancel - + &Cancel·la &Apply - + &Aplicar - + default - + Per defecte Confirm options reset - + Confirmi el reestabliment de les opcions Some settings may require a client restart to take effect. - + Algunes configuracions poden requerir reiniciar el client per a que tinguin efecte. Do you want to proceed? - + Vols procedir? Warning - + Avís This setting will take effect after restarting Bitcoin. - + Aquesta configuració tindrà efecte un cop es reiniciï Bitcoin. The supplied proxy address is invalid. - + L'adreça proxy introduïda és invalida. @@ -1016,69 +1001,67 @@ Form - + Formulari - - + + 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. - + La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa Bitcoin un cop s'ha establert connexió, però aquest proces no s'ha completat encara. - + Balance: Balanç: - - Number of transactions: - - - - + Unconfirmed: Sense confirmar: Wallet - + Moneder - + Immature: - + Immatur: Mined balance that has not yet matured - + Balanç minat que encara no ha madurat <b>Recent transactions</b> - + <b>Transaccions recents</b> - + Your current balance El seu balanç actual Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - - - - - Total number of transactions in wallet - + Total de transaccions encara sense confirmar, que encara no es content en el balanç actual - + out of sync - + Fora de sincronia + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + No es pot iniciar bitcoin: manejador clicla-per-pagar @@ -1086,17 +1069,17 @@ QR Code Dialog - + Dialeg del codi QR Request Payment - + Reclamar pagament Amount: - + Quantitat: @@ -1106,37 +1089,37 @@ Message: - + Missatge: &Save As... - + &Desar com... Error encoding URI into QR Code. - + Error codificant la URI en un codi QR. The entered amount is invalid, please check. - + La quantitat introduïda és invalida, si us plau comprovi-la. Resulting URI too long, try to reduce the text for label / message. - + URI resultant massa llarga, intenta reduir el text per a la etiqueta / missatge Save QR Code - + Desar codi QR PNG Images (*.png) - + Imatges PNG (*.png) @@ -1144,7 +1127,7 @@ Client name - + Nom del client @@ -1156,134 +1139,134 @@ - + N/A - + N/A Client version - + Versió del client &Information - + &Informació Using OpenSSL version - + Utilitzant OpenSSL versió Startup time - + &Temps d'inici Network - + Xarxa Number of connections - + Nombre de connexions On testnet - + A testnet Block chain - + Bloquejar cadena Current number of blocks - + Nombre de blocs actuals Estimated total blocks - + Total estimat de blocs Last block time - + Últim temps de bloc &Open - + &Obrir Command-line options - + Opcions de línia d'ordres Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Mostrar el missatge d'ajuda de Bitcoin-Qt per a obtenir un llistat de possibles ordres per a la línia d'ordres de Bitcoin. &Show - + &Mostrar &Console - + &Consola Build date - + Data de compilació Bitcoin - Debug window - + Bitcoin -Finestra de debug Bitcoin Core - + Nucli de Bitcoin Debug log file - + Dietàri de debug Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - + Obrir el dietari de debug de Bitcoin del directori de dades actual. Aixó pot trigar uns quants segons per a dietàris grossos. Clear console - + Netejar consola Welcome to the Bitcoin RPC console. - + Benvingut a la consola RPC de Bitcoin Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Utilitza les fletxes d'amunt i avall per navegar per l'històric, i <b>Ctrl-L<\b> per netejar la pantalla. Type <b>help</b> for an overview of available commands. - + Escriu <b>help<\b> per a obtenir una llistat de les ordres disponibles. @@ -1303,22 +1286,22 @@ Send to multiple recipients at once - + Enviar a multiples destinataris al mateix temps Add &Recipient - + Affegir &Destinatari Remove all transaction fields - + Netejar tots els camps de la transacció Clear &All - + Esborrar &Tot @@ -1328,42 +1311,42 @@ 123.456 BTC - + 123.456 BTC Confirm the send action - + Confirmi l'acció d'enviament S&end - + E&nviar <b>%1</b> to %2 (%3) - + <b>%1</b> to %2 (%3) Confirm send coins - + Confirmar l'enviament de monedes Are you sure you want to send %1? - + Estas segur que vols enviar %1? and - + i The recipient address is not valid, please recheck. - + L'adreça remetent no és vàlida, si us plau comprovi-la. @@ -1378,22 +1361,22 @@ The total exceeds your balance when the %1 transaction fee is included. - + El total excedeix el teu balanç quan s'afegeix la comisió a la transacció %1. Duplicate address found, can only send to each address once per send operation. - + S'ha trobat una adreça duplicada, tan sols es pot enviar a cada adreça un cop per ordre de enviament. Error: Transaction creation failed! - + Error: La ceació de la transacció ha fallat! Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Error: La transacció ha estat rebutjada. Això pot passar si alguna de les monedes del teu moneder ja s'han gastat, com si haguesis usat una copia de l'arxiu wallet.dat i s'haguessin gastat monedes de la copia però sense marcar com gastades en aquest. @@ -1401,63 +1384,63 @@ Form - + Formulari A&mount: - + Q&uantitat: Pay &To: - + Pagar &A: The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + La adreça a on envia el pagament (per exemple: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Enter a label for this address to add it to your address book - + Introdueixi una etiquera per a aquesta adreça per afegir-la a la llibreta d'adreces &Label: - + &Etiqueta: Choose address from address book - + Escollir adreça del llibre d'adreces Alt+A - + Alta+A Paste address from clipboard - + Enganxar adreça del porta-retalls Alt+P - + Alt+P Remove this recipient - + Eliminar aquest destinatari Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Introdueixi una adreça de Bitcoin (per exemple 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1465,132 +1448,132 @@ Signatures - Sign / Verify a Message - + Signatures .Signar/Verificar un Missatge &Sign Message - + &Signar Missatge You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - + Pots signar missatges amb la teva adreça per provar que són teus. Sigues cautelòs al signar qualsevol cosa, ja que els atacs phising poden intentar confondre't per a que els hi signis amb la teva identitat. Tan sols signa als documents completament detallats amb els que hi estàs d'acord. The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + La adreça amb la que signat els missatges (per exemple 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Choose an address from the address book - + Escollir una adreça de la llibreta de direccions Alt+A - + Alta+A Paste address from clipboard - + Enganxar adreça del porta-retalls Alt+P - + Alt+P Enter the message you want to sign here - + Introdueix aqui el missatge que vols signar Signature - + Signatura Copy the current signature to the system clipboard - + Copiar la signatura actual al porta-retalls del sistema Sign the message to prove you own this Bitcoin address - + Signa el missatge per provar que ets propietari d'aquesta adreça Bitcoin Sign &Message - + Signar &Missatge Reset all sign message fields - + Neteja tots els camps de clau Clear &All - + Esborrar &Tot &Verify Message - + &Verificar el missatge Enter the signing 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. - + Introdueixi l'adreça signant, missatge (assegura't que copies salts de línia, espais, tabuladors, etc excactament tot el text) i la signatura a sota per verificar el missatge. Per evitar ser enganyat per un atac home-entre-mig, vés amb compte de no llegir més en la signatura del que hi ha al missatge signat mateix. The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + La adreça amb el que el missatge va ser signat (per exemple 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Verify the message to ensure it was signed with the specified Bitcoin address - + Verificar el missatge per assegurar-se que ha estat signat amb una adreça Bitcoin específica Verify &Message - + Verificar &Missatge Reset all verify message fields - + Neteja tots els camps de verificació de missatge Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Introdueixi una adreça de Bitcoin (per exemple 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Click "Sign Message" to generate signature - + Clica "Signar Missatge" per a generar una signatura Enter Bitcoin signature - + Introduïr una clau Bitcoin The entered address is invalid. - + L'adreça intoduïda és invàlida. @@ -1598,131 +1581,144 @@ Please check the address and try again. - + Siu us plau, comprovi l'adreça i provi de nou. The entered address does not refer to a key. - + L'adreça introduïda no referencia a cap clau. Wallet unlock was cancelled. - + El desbloqueig del moneder ha estat cancelat. Private key for the entered address is not available. - + La clau privada per a la adreça introduïda no està disponible. Message signing failed. - + El signat del missatge ha fallat. Message signed. - + Missatge signat. The signature could not be decoded. - + La signatura no s'ha pogut decodificar . Please check the signature and try again. - + Su us plau, comprovi la signatura i provi de nou. The signature did not match the message digest. - + La signatura no coincideix amb el resum del missatge. Message verification failed. - + Ha fallat la verificació del missatge. Message verified. + Missatge verificat. + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] TransactionDesc - + Open until %1 - + Obert fins %1 %1/offline - + %1/offline %1/unconfirmed - + %1/sense confirmar %1 confirmations - + %1 confrimacions Status - + Estat , broadcast through %n node(s) - + , difusió a través de %n node, difusió a través de %n nodes Date - + Data Source - + Font Generated - + Generat From - + Des de To - + A own address - + Adreça pròpia label - + etiqueta @@ -1731,17 +1727,17 @@ Credit - + Crèdit matures in %n more block(s) - + disponible en %n bloc mésdisponibles en %n blocs més not accepted - + no acceptat @@ -1749,82 +1745,82 @@ Debit - + Dèbit Transaction fee - + Comissió de transacció Net amount - + Quantitat neta Message - + Missatge Comment - + Comentar Transaction ID - + ID de transacció Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - + Les monedes generades han de madurar 120 blocs abans de poder ser gastades. Quan has generat aquest bloc, aquest ha estat transmés a la xarxa per a ser afegit a la cadena de blocs. Si no arriba a ser acceptat a la cadena, el seu estat passará a "no acceptat" i no podrá ser gastat. Això pot ocòrrer ocasionalment si un altre node genera un bloc a pocs segons del teu. Debug information - + Informació de debug Transaction - + Transacció Inputs - + Entrades Amount - + Quantitat true - + cert false - + fals , has not been successfully broadcast yet - + , encara no ha estat emès correctement Open for %n more block(s) - + Obre per %n bloc mésObre per %n blocs més unknown - + desconegut @@ -1832,25 +1828,25 @@ Transaction details - + Detall de la transacció This pane shows a detailed description of the transaction - + Aquest panell mostra una descripció detallada de la transacció TransactionTableModel - + Date - + Data Type - + Tipus @@ -1860,226 +1856,231 @@ Amount - + Quantitat Open for %n more block(s) - + Obre per %n bloc mésObre per %n blocs més Open until %1 - + Obert fins %1 Offline (%1 confirmations) - + Sense connexió (%1 confirmacions) Unconfirmed (%1 of %2 confirmations) - + Sense confirmar (%1 de %2 confirmacions) Confirmed (%1 confirmations) - + Confirmat (%1 confirmacions) Mined balance will be available when it matures in %n more block(s) - + El saldo recent minat estarà disponible quan venci el termini en %n bloc mésEl saldo recent minat estarà disponible quan venci el termini en %n blocs més This block was not received by any other nodes and will probably not be accepted! - + Aquest bloc no ha estat rebut per cap altre node i probablement no serà acceptat! Generated but not accepted - + Generat però no acceptat Received with - + Rebut amb Received from - + Rebut de Sent to - + Enviat a Payment to yourself - + Pagament a un mateix Mined - + Minat (n/a) - + (n/a) Transaction status. Hover over this field to show number of confirmations. - + Estat de la transacció. Desplaça't per aquí sobre per mostrar el nombre de confirmacions. Date and time that the transaction was received. - + Data i hora en que la transacció va ser rebuda. Type of transaction. - + Tipus de transacció. Destination address of transaction. - + Adreça del destinatari de la transacció. Amount removed from or added to balance. - + Quantitat extreta o afegida del balanç. TransactionView - + All - + Tot Today - + Avui This week - + Aquesta setmana This month - + Aquest mes Last month - + El mes passat This year - + Enguany Range... - + Rang... Received with - + Rebut amb Sent to - + Enviat a To yourself - + A tu mateix Mined - + Minat Other - + Altres Enter address or label to search - + Introdueix una adreça o una etiqueta per cercar Min amount - + Quantitat mínima Copy address - + Copiar adreça Copy label - + Copiar etiqueta Copy amount - + Copiar quantitat - Edit label - + Copy transaction ID + Copiar ID de transacció + + + + Edit label + Editar etiqueta Show transaction details - + Mostra detalls de la transacció - + Export Transaction Data - + Exportar detalls de la transacció Comma separated file (*.csv) - + Arxiu de separació per comes (*.csv) Confirmed - + Confirmat Date - + Data Type - + Tipus @@ -2094,660 +2095,823 @@ Amount - + Quantitat ID - + ID Error exporting - + Error en l'exportació Could not write to file %1. - + No s'ha pogut escriure a l'arxiu %1. - + Range: - + Rang: to + a + + + + WalletModel + + + Send Coins + Enviar monedes + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + Backup Wallet + Realitzar còpia de seguretat del moneder + + + + Wallet Data (*.dat) + Dades del moneder (*.dat) + + + + Backup Failed + Còpia de seguretat faillida + + + + There was an error trying to save the wallet data to the new location. + Hi ha hagut un error intentant desar les dades del moneder al nou directori + + + + Backup Successful + Copia de seguretat realitzada correctament + + + + The wallet data was successfully saved to the new location. + Les dades del moneder han estat desades cirrectament al nou emplaçament. + bitcoin-core - + Bitcoin version - + Versió de Bitcoin - + Usage: - + Ús: - + Send command to -server or bitcoind - + Enviar comanda a -servidor o bitcoind - + List commands - + Llista d'ordres - + Get help for a command - + Obtenir ajuda per a un ordre. - + Options: - + Opcions: - + Specify configuration file (default: bitcoin.conf) - + Especificat arxiu de configuració (per defecte: bitcoin.conf) Specify pid file (default: bitcoind.pid) - - - - - Generate coins - - - - - Don't generate coins - + Especificar arxiu pid (per defecte: bitcoind.pid) - + Specify data directory - + Especificar directori de dades - + Set database cache size in megabytes (default: 25) - + Establir tamany de la memoria cau en megabytes (per defecte: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Escoltar connexions a <port> (per defecte: 8333 o testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Mantenir com a molt <n> connexions a peers (per defecte: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Connectar al node per obtenir les adreces de les connexions, i desconectar - + Specify your own public address - + Especificar la teva adreça pública - + Threshold for disconnecting misbehaving peers (default: 100) - + Límit per a desconectar connexions errònies (per defecte: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + Nombre de segons abans de reconectar amb connexions errònies (per defecte: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Ha sorgit un error al configurar el port RPC %u escoltant a IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Escoltar connexions JSON-RPC al port <port> (per defecte: 8332 o testnet:18332) - + Accept command line and JSON-RPC commands - + Acceptar línia d'ordres i ordres JSON-RPC - + Run in the background as a daemon and accept commands - + Executar en segon pla com a programa dimoni i acceptar ordres - + Use the test network - + Usar la xarxa de prova - + Accept connections from outside (default: 1 if no -proxy or -connect) - + Aceptar connexions d'afora (per defecte: 1 si no -proxy o -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + %s has de establir una contrasenya RPC a l'arxiu de configuració:\n%s\nEs recomana que useu la següent constrasenya aleatòria:\nrpcuser=bitcoinrpc\nrpcpassword=%s\n(no necesiteu recordar aquesta contrsenya)\nEl nom d'usuari i contrasenya NO HAN de ser els mateixos.\nSi l'arxiu no existeix, crea'l amb els permisos d'arxiu de només lectura per al propietari.\nTambé es recomana establir la notificació d'alertes i així seràs notificat de les incidències;\nper exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + Ha sorgit un error al configurar el port RPC %u escoltant a IPv6, retrocedint a IPv4: %s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Vincular a una adreça específica i sempre escoltar-hi. Utilitza la notació [host]:port per IPv6 Cannot obtain a lock on data directory %s. Bitcoin is probably already running. - + No es pot bloquejar el directori de dades %s. Probablement Bitcoin ja estigui en execució. - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Error: La transacció ha estat rebutjada. Això pot passar si alguna de les monedes del teu moneder ja s'han gastat, com si haguesis usat una copia de l'arxiu wallet.dat i s'haguessin gastat monedes de la copia però sense marcar com gastades en aquest. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Error: Aquesta transacció requereix una comissió d'almenys %s degut al seu import, complexitat o per l'ús de fons recentment rebuts! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Executar ordre al rebre una alerta rellevant (%s al cmd es reemplaça per message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Executar una ordre quan una transacció del moneder canviï (%s in cmd es canvia per TxID) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Establir una mida màxima de transaccions d'alta prioritat/baixa comisió en bytes (per defecte: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + Aquesta és una versió de pre-llançament - utilitza-la sota la teva responsabilitat - No usar per a minería o aplicacions de compra-venda Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - + Advertència: el -paytxfee és molt elevat! Aquesta és la comissió de transacció que pagaràs quan enviis una transacció. Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. - + Advertència: Les transaccions mostrades poden no ser correctes! Pot esser que necessitis actualitzar, o bé que altres nodes ho necessitin. Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. - + Advertència: Si us plau comprovi que la data i hora del seu computador siguin correctes! Si el seu rellotge està mal configurat, Bitcoin no funcionará de manera apropiada. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Advertència: Error llegint l'arxiu wallet.dat!! Totes les claus es llegeixen correctament, però hi ha dades de transaccions o entrades del llibre d'adreces absents o bé son incorrectes. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Advertència: L'arxiu wallet.dat és corrupte, dades rescatades! L'arxiu wallet.dat original ha estat desat com wallet.{estampa_temporal}.bak al directori %s; si el teu balanç o transaccions son incorrectes hauries de restaurar-lo de un backup. Attempt to recover private keys from a corrupt wallet.dat - + Intentar recuperar les claus privades d'un arxiu wallet.dat corrupte Block creation options: - + Opcions de la creació de blocs: - + Connect only to the specified node(s) - + Connectar només al(s) node(s) especificats + Corrupted block database detected + S'ha detectat una base de dades de blocs corrupta + + + Discover own IP address (default: 1 when listening and no -externalip) - + Descobrir la pròpia adreça IP (per defecte: 1 quan escoltant i no -externalip) - + + Do you want to rebuild the block database now? + Vols reconstruir la base de dades de blocs ara? + + + + Error initializing block database + Error carregant la base de dades de blocs + + + + Error initializing wallet database environment %s! + Error inicialitzant l'entorn de la base de dades del moneder %s! + + + Error loading block database - + Error carregant la base de dades del bloc - + + Error opening block database + Error obrint la base de dades de blocs + + + Error: Disk space is low! - + Error: Espai al disc baix! - Error: Transaction creation failed! - + Error: Wallet locked, unable to create transaction! + Error: El moneder està blocat, no és possible crear la transacció! - Error: Wallet locked, unable to create transaction! - + Error: system error: + Error: error de sistema: - + Failed to listen on any port. Use -listen=0 if you want this. - + Error al escoltar a qualsevol port. Utilitza -listen=0 si vols això. + + + + Failed to read block info + Ha fallat la lectura de la informació del bloc + + + + Failed to read block + Ha fallat la lectura del bloc + + + + Failed to sync block index + Ha fallat la sincronització de l'índex de bloc + + + + Failed to write block index + Ha fallat la escriptura de l'índex de blocs + + + + Failed to write block info + Ha fallat la escriptura de la informació de bloc + + + + Failed to write block + Ha fallat l'escriptura del bloc + + + + Failed to write file info + Ha fallat l'escriptura de l'arxiu info + + + + Failed to write to coin database + Ha fallat l'escriptura de la basse de dades de monedes + + + + Failed to write transaction index + Ha fallat l'escriptura de l'índex de transaccions + + + + Failed to write undo data + Ha fallat el desfer de dades Find peers using DNS lookup (default: 1 unless -connect) - + Cerca punts de connexió usant rastreig de DNS (per defecte: 1 tret d'usar -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + How many blocks to check at startup (default: 288, 0 = all) + Quants blocs s'han de confirmar a l'inici (per defecte: 288, 0 = tots) + + - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + Com verificar el bloc (0-4, per defecte 3) + + + + Not enough file descriptors available. + + Rebuild block chain index from current blk000??.dat files + Reconstruir l'índex de la cadena de blocs dels arxius actuals blk000??.dat + + + + Set the number of threads to service RPC calls (default: 4) + Estableix el nombre de fils per atendre trucades RPC (per defecte: 4) + + + + Verifying blocks... + Verificant blocs... + + + Verifying wallet... + Verificant moneder... + + + Imports blocks from external blk000??.dat file + Importa blocs de un fitxer blk000??.dat extern + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information - + &Informació Invalid -tor address: '%s' - + Adreça -tor invàlida: '%s' - - Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + Invalid amount for -minrelaytxfee=<amount>: '%s' - Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + Invalid amount for -mintxfee=<amount>: '%s' + + Maintain a full transaction index (default: 0) + Mantenir tot l'índex de transaccions (per defecte: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + Mida màxima del buffer de recepció per a cada connexió, <n>*1000 bytes (default: 5000) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + Mida màxima del buffer d'enviament per a cada connexió, <n>*1000 bytes (default: 5000) + + + Only accept block chain matching built-in checkpoints (default: 1) - + Tan sols acceptar cadenes de blocs que coincideixin amb els punts de prova (per defecte: 1) Only connect to nodes in network <net> (IPv4, IPv6 or Tor) - + Només connectar als nodes de la xarxa <net> (IPv4, IPv6 o Tor) Output extra debugging information. Implies all other -debug* options - + Sortida de la informació extra de debugging. Implica totes les demés opcions -debug* Output extra network debugging information - + Sortida de la informació extra de debugging de xarxa. Prepend debug output with timestamp - - - - - Rebuild blockchain index from current blk000??.dat files - + Anteposar estampa temporal a les dades de debug - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) - + Opcions SSL: (veure la Wiki de Bitcoin per a instruccions de configuració SSL) Select the version of socks proxy to use (4-5, default: 5) - + Selecciona la versió de socks proxy a utilitzar (4-5, per defecte: 5) Send trace/debug info to console instead of debug.log file - + Enviar informació de traça/debug a la consola en comptes del arxiu debug.log Send trace/debug info to debugger - + Enviar informació de traça/debug a un debugger Set maximum block size in bytes (default: 250000) - + Establir una mida màxima de bloc en bytes (per defecte: 250000) Set minimum block size in bytes (default: 0) - + Establir una mida mínima de bloc en bytes (per defecte: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) + Reduir l'arxiu debug.log al iniciar el client (per defecte 1 quan no -debug) + + + + Signing transaction failed Specify connection timeout in milliseconds (default: 5000) + Especificar el temps limit per a un intent de connexió en milisegons (per defecte: 5000) + + + + System error: + Error de sistema: + + + + Transaction amount too small - - Use UPnP to map the listening port (default: 0) + + Transaction amounts must be positive - Use UPnP to map the listening port (default: 1 when listening) + Transaction too large + + Use UPnP to map the listening port (default: 0) + Utilitza UPnP per a mapejar els ports d'escolta (per defecte: 0) + + + + Use UPnP to map the listening port (default: 1 when listening) + Utilitza UPnP per a mapejar els ports d'escolta (per defecte: 1 quan s'escolta) + + Use proxy to reach tor hidden services (default: same as -proxy) - + Utilitzar proxy per arribar als serveis tor amagats (per defecte: el mateix que -proxy) Username for JSON-RPC connections - + Nom d'usuari per a connexions JSON-RPC Warning - + Avís Warning: This version is obsolete, upgrade required! - + Advertència: Aquetsa versió està obsoleta, és necessari actualitzar! + + + + You need to rebuild the databases using -reindex to change -txindex + Necessiteu reconstruir les bases de dades usant -reindex per canviar -txindex wallet.dat corrupt, salvage failed - + L'arxiu wallet.data és corrupte, el rescat de les dades ha fallat - + Password for JSON-RPC connections - + Contrasenya per a connexions JSON-RPC - + Allow JSON-RPC connections from specified IP address - + Permetre connexions JSON-RPC d'adreces IP específiques - + Send commands to node running on <ip> (default: 127.0.0.1) - + Enviar ordre al node en execució a <ip> (per defecte: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Executar orde quan el millor bloc canviï (%s al cmd es reemplaça per un bloc de hash) - + Upgrade wallet to latest format - + Actualitzar moneder a l'últim format - + Set key pool size to <n> (default: 100) - + Establir límit de nombre de claus a <n> (per defecte: 100) Rescan the block chain for missing wallet transactions - + Re-escanejar cadena de blocs en cerca de transaccions de moneder perdudes - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Utilitzar OpenSSL (https) per a connexions JSON-RPC - + Server certificate file (default: server.cert) - + Arxiu del certificat de servidor (per defecte: server.cert) Server private key (default: server.pem) - + Clau privada del servidor (per defecte: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + Xifrats acceptats (per defecte: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Aquest misatge d'ajuda - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Impossible d'unir %s a aquest ordinador (s'ha retornat l'error %d, %s) - + Connect through socks proxy - + Connectar a través de socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Permetre consultes DNS per a -addnode, -seednode i -connect - + Loading addresses... - + Carregant adreces... - + Error loading wallet.dat: Wallet corrupted - + Error carregant wallet.dat: Moneder corrupte Error loading wallet.dat: Wallet requires newer version of Bitcoin - - - - - Verifying block database integrity... - - - - - Verifying wallet integrity... - + Error carregant wallet.dat: El moneder requereix una versió de Bitcoin més moderna - + Wallet needed to be rewritten: restart Bitcoin to complete - + El moneder necesita ser re-escrit: re-inicia Bitcoin per a completar la tasca - + Error loading wallet.dat - + Error carregant wallet.dat - + Invalid -proxy address: '%s' - + Adreça -proxy invalida: '%s' - + Unknown network specified in -onlynet: '%s' - + Xarxa desconeguda especificada a -onlynet: '%s' Unknown -socks proxy version requested: %i - + S'ha demanat una versió desconeguda de -socks proxy: %i - + Cannot resolve -bind address: '%s' - + No es pot resoldre l'adreça -bind: '%s' Cannot resolve -externalip address: '%s' - + No es pot resoldre l'adreça -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' - + Quantitat invalida per a -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Quanitat invalida - + Insufficient funds - + Balanç insuficient - + Loading block index... - + Carregant índex de blocs... - + Add a node to connect to and attempt to keep the connection open - + Afegir un node per a connectar's-hi i intentar mantenir la connexió oberta Unable to bind to %s on this computer. Bitcoin is probably already running. - - - - - Find peers using internet relay chat (default: 0) - + Impossible d'unir %s en aquest ordinador. Probablement Bitcoin ja estigui en execució. - + Fee per KB to add to transactions you send - + Comisió a afegir per cada KB de transaccions que enviïs Loading wallet... - + Carregant moneder... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + No es pot reduir la versió del moneder Cannot write default address - + No es pot escriure l'adreça per defecte - + Rescanning... - + Re-escanejant... - + Done loading - + Càrrega acabada - + To use the %s option - + Utilitza la opció %s - + Error - + Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. - + Has de configurar el rpcpassword=<password> a l'arxiu de configuració:\n %s\n Si l'arxiu no existeix, crea'l amb els permís owner-readable-only. \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_cs.ts bitcoin-0.8.5/src/qt/locale/bitcoin_cs.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_cs.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_cs.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> verze - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Vývojáři Bitcoinu - - - + This is experimental software. @@ -32,6 +27,16 @@ Tento produkt zahrnuje programy vyvinuté OpenSSL Projektem pro použití v OpenSSL Toolkitu (http://www.openssl.org/) a kryptografický program od Erika Younga (eay@cryptsoft.com) a program UPnP od Thomase Bernarda. + + + Copyright + Copyright + + + + The Bitcoin developers + Vývojáři Bitcoinu + AddressBookPage @@ -41,7 +46,7 @@ Adresář - + Double-click to edit address or label Dvojklikem myši začneš upravovat označení adresy @@ -61,12 +66,12 @@ Nová &adresa - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - Tohle jsou tvé Bitcoinové adresy pro příjem plateb. Můžeš pokaždé dát každému odesílateli jinou adresu, abys věděl, kdo ti kdy kolik platil. + Tohle jsou tvé Bitcoinové adresy pro příjem plateb. Můžeš dát pokaždé každému plátci novou adresu, abys věděl, kdo ti kdy kolik platil. - + &Copy Address &Kopíruj adresu @@ -91,7 +96,17 @@ Smaž zvolenou adresu ze seznamu - + + Export the data in the current tab to a file + Exportuj data z tohoto panelu do souboru + + + + &Export + &Export + + + Verify a message to ensure it was signed with a specified Bitcoin address Ověř zprávu, aby ses ujistil, že byla podepsána danou Bitcoinovou adresou @@ -106,17 +121,27 @@ S&maž - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Tohle jsou tvé Bitcoinové adresy pro posílání plateb. Před odesláním mincí si vždy zkontroluj částku a cílovou adresu. + + + Copy &Label Kopíruj &označení - + &Edit &Uprav - + + Send &Coins + Pošli min&ce + + + Export Address Book Data Exportuj data adresáře @@ -139,7 +164,7 @@ AddressTableModel - + Label Označení @@ -234,7 +259,7 @@ 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. - DŮLEŽITÉ: Všechny předchozí zálohy peněženky by měly být nahrazeny nově vygenerovanou, zašifrovanou peněženkou. Z bezpečnostních důvodů budou předchozí zálohy nešifrované peněženky nepoužitelné, jakmile zaneš používat novou zašifrovanou peněženku. + DŮLEŽITÉ: Všechny předchozí zálohy peněženky by měly být nahrazeny nově vygenerovanou, zašifrovanou peněženkou. Z bezpečnostních důvodů budou předchozí zálohy nešifrované peněženky nepoužitelné, jakmile začneš používat novou zašifrovanou peněženku. @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Po&depiš zprávu... - + Synchronizing with network... - Synchronizuji se sítí... + Synchronizuji se se sítí... - + &Overview &Přehled @@ -325,42 +350,27 @@ Browse transaction history - Procházet historii transakcí - - - - &Address Book - &Adresář + Procházej historii transakcí - + Edit the list of stored addresses and labels Uprav seznam uložených adres a jejich označení - - &Receive coins - Pří&jem mincí - - - + Show the list of addresses for receiving payments Zobraz seznam adres pro příjem plateb - - &Send coins - P&oslání mincí - - - + E&xit &Konec Quit application - Ukončit aplikaci + Ukonči aplikaci @@ -383,7 +393,7 @@ &Možnosti... - + &Encrypt Wallet... Zaši&fruj peněženku... @@ -398,7 +408,7 @@ Změň &heslo... - + Importing blocks from disk... Importuji bloky z disku... @@ -407,18 +417,8 @@ Reindexing blocks on disk... Vytvářím nový index bloků na disku... - - - ~%n block(s) remaining - zbývá ~%n blokzbývá ~%n blokyzbývá ~%n bloků - - - &Export... - &Export... - - - + Send coins to a Bitcoin address Pošli mince na Bitcoinovou adresu @@ -428,12 +428,7 @@ Uprav nastavení Bitcoinu - - Export the data in the current tab to a file - Exportovat data z tohoto panelu do souboru - - - + Backup wallet to another location Zazálohuj peněženku na jiné místo @@ -443,7 +438,7 @@ Změň heslo k šifrování peněženky - + &Debug window &Ladicí okno @@ -453,23 +448,38 @@ Otevři ladicí a diagnostickou konzoli - + &Verify message... &Ověř zprávu... - - + + Bitcoin Bitcoin - + Wallet Peněženka - + + &Send + &Pošli + + + + &Receive + Při&jmi + + + + &Addresses + &Adresy + + + &About Bitcoin O &Bitcoinu @@ -484,7 +494,7 @@ Zobraz nebo skryj hlavní okno - + Encrypt the private keys that belong to your wallet Zašifruj soukromé klíče ve své peněžence @@ -499,12 +509,12 @@ Ověř zprávy, aby ses ujistil, že byly podepsány danými Bitcoinovými adresami - + &File &Soubor - + &Settings &Nastavení @@ -519,38 +529,68 @@ Panel s listy - - Actions toolbar - Panel akcí - - - + [testnet] [testnet] - + Bitcoin client Bitcoin klient - + %n active connection(s) to Bitcoin network %n aktivní spojení do Bitcoinové sítě%n aktivní spojení do Bitcoinové sítě%n aktivních spojení do Bitcoinové sítě - - Processed %1 of %2 blocks of transaction history (%3% done). - Zpracováno %1 z %2 bloků transakční historie (%3 % hotovo). + + No block source available... + Není dostupný žádný zdroj bloků... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Zpracováno %1 z přibližně %2 bloků transakční historie. + + + Processed %1 blocks of transaction history. Zpracováno %1 bloků transakční historie. + + + %n hour(s) + hodinu%n hodiny%n hodin + + + + %n day(s) + den%n dny%n dnů + + + + %n week(s) + týden%n týdny%n týdnů + - + + %1 behind + Stahuji ještě bloky transakcí za poslední %1 + + + + Last received block was generated %1 ago. + Poslední stažený blok byl vygenerován %1 zpátky. + + + + Transactions after this will not yet be visible. + Následné transakce ještě nebudou vidět. + + + Error Chyba @@ -565,62 +605,27 @@ Informace - + 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? Tahle transakce přesahuje velikostní limit. I tak ji ale můžeš poslat, pokud za ni zaplatíš poplatek %1, který půjde uzlům, které tvou transakci zpracují, a navíc tak podpoříš síť. Chceš zaplatit poplatek? - - Backup Successful - Úspěšně zazálohováno - - - - The wallet data was successfully saved to the new location. - Data z peněženky byly v pořádku uloženy na nové místo. - - - - %n second(s) ago - před vteřinoupřed %n vteřinamipřed %n vteřinami - - - - %n minute(s) ago - před minutoupřed %n minutamipřed %n minutami - - - - %n hour(s) ago - před hodinoupřed %n hodinamipřed %n hodinami - - - - %n day(s) ago - včerapřed %n dnypřed %n dny - - - + Up to date Aktuální - + Catching up... Stahuji... - - Last received block was generated %1. - Poslední stažený blok byl vygenerován %1. - - - + Confirm transaction fee Potvrď transakční poplatek - + Sent transaction Odeslané transakce @@ -643,14 +648,14 @@ - - + + URI handling Zpracování URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. Nepodařilo se analyzovat URI! Důvodem může být neplatná Bitcoinová adresa nebo poškozené parametry URI. @@ -665,27 +670,7 @@ Peněženka je <b>zašifrovaná</b> a momentálně <b>zamčená</b> - - Backup Wallet - Záloha peněženky - - - - Wallet Data (*.dat) - Data peněženky (*.dat) - - - - Backup Failed - Zálohování selhalo - - - - There was an error trying to save the wallet data to the new location. - Při ukládání peněženky na nové místo se přihodila nějaká chyba. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Stala se fatální chyba. Bitcoin nemůže bezpečně pokračovat v činnosti, a proto skončí. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Upozornění sítě @@ -726,7 +711,7 @@ Adresa spojená s tímto záznamem v adresáři. Lze upravovat jen pro odesílací adresy. - + New receiving address Nová přijímací adresa @@ -746,17 +731,17 @@ Uprav odesílací adresu - + The entered address "%1" is already in the address book. Zadaná adresa "%1" už v adresáři je. - + The entered address "%1" is not a valid Bitcoin address. Zadaná adresa "%1" není platná Bitcoinová adresa. - + Could not unlock wallet. Nemohu odemknout peněženku. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -802,12 +787,12 @@ Start minimized - Startovat minimalizovaně + Nastartovat minimalizovaně Show splash screen on startup (default: 1) - Zobrazovat startovací obrazovku (výchozí: 1) + Zobrazit startovací obrazovku (výchozí: 1) @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Dobrovolný transakční poplatek za každý započatý kB dopomáhá k rychlému zpracování tvých transakcí. Většina transakcí má do 1 kB. Doporučená výše poplatku je 0.01. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Dobrovolný transakční poplatek za každý započatý kB dopomáhá k rychlému zpracování tvých transakcí. Většina transakcí má do 1 kB. @@ -840,7 +825,7 @@ &Start Bitcoin on system login - &Spustit Bitcoin po přihlášení do systému + S&pustit Bitcoin po přihlášení do systému @@ -890,7 +875,7 @@ &Port: - P&ort: + Por&t: @@ -910,7 +895,7 @@ &Window - &Okno + O&kno @@ -930,12 +915,12 @@ M&inimize on close - &Zavřením minimalizovat + Za&vřením minimalizovat &Display - &Zobrazení + Zobr&azení @@ -950,7 +935,7 @@ &Unit to show amounts in: - &Jednotka pro částky: + J&ednotka pro částky: @@ -965,7 +950,7 @@ &Display addresses in transaction list - &Ukazovat adresy ve výpisu transakcí + Ukazo&vat adresy ve výpisu transakcí @@ -983,7 +968,7 @@ &Uložit - + default výchozí @@ -1028,23 +1013,18 @@ Formulář - - + + 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. Zobrazené informace nemusí být aktuální. Tvá peněženka se automaticky sesynchronizuje s Bitcoinovou sítí, jakmile se s ní spojí. Zatím ale ještě není synchronizace dokončena. - + Balance: Stav účtu: - - Number of transactions: - Počet transakcí: - - - + Unconfirmed: Nepotvrzeno: @@ -1054,7 +1034,7 @@ Peněženka - + Immature: Nedozráno: @@ -1069,7 +1049,7 @@ <b>Poslední transakce</b> - + Your current balance Aktuální stav tvého účtu @@ -1079,18 +1059,21 @@ Celkem z transakcí, které ještě nejsou potvrzené a které se ještě nezapočítávají do celkového stavu účtu - - Total number of transactions in wallet - Celkový počet transakcí v peněžence - - - + out of sync nesynchronizováno + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Nemůžu spustit bitcoin: obsluha click-to-pay + + + QRCodeDialog @@ -1165,7 +1148,7 @@ - + N/A N/A @@ -1287,7 +1270,7 @@ Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - V historii se pohybuješ šipkami nahoru a dolů a pomocí <b>Ctrl-L</b> vyčistíš obrazovku. + V historii se pohybuješ šipkami nahoru a dolů a pomocí <b>Ctrl-L</b> čistíš obrazovku. @@ -1327,7 +1310,7 @@ Clear &All - Všechno &smaž + Všechno s&maž @@ -1347,7 +1330,7 @@ S&end - &Pošli + P&ošli @@ -1415,7 +1398,7 @@ A&mount: - Čá&stka: + Čás&tka: @@ -1429,14 +1412,14 @@ - + Enter a label for this address to add it to your address book Zadej označení této adresy; obojí se ti pak uloží do adresáře &Label: - &Označení: + O&značení: @@ -1572,7 +1555,7 @@ Verify &Message - &Ověř zprávu + O&věř zprávu @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + Vývojáři Bitcoinu + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Otřevřeno dokud %1 @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date Datum @@ -1970,7 +1966,7 @@ TransactionView - + All Vše @@ -2057,6 +2053,11 @@ + Copy transaction ID + Kopíruj ID transakce + + + Edit label Uprav označení @@ -2066,7 +2067,7 @@ Zobraz detaily transakce - + Export Transaction Data Exportuj transakční data @@ -2121,7 +2122,7 @@ Nemohu zapisovat do souboru %1. - + Range: Rozsah: @@ -2132,39 +2133,90 @@ + WalletModel + + + Send Coins + Pošli mince + + + + WalletView + + + &Export + &Export + + + + Export the data in the current tab to a file + Exportuj data z tohoto panelu do souboru + + + + Backup Wallet + Záloha peněženky + + + + Wallet Data (*.dat) + Data peněženky (*.dat) + + + + Backup Failed + Zálohování selhalo + + + + There was an error trying to save the wallet data to the new location. + Při ukládání peněženky na nové místo se přihodila nějaká chyba. + + + + Backup Successful + Úspěšně zazálohováno + + + + The wallet data was successfully saved to the new location. + Data z peněženky byla v pořádku uložena na nové místo. + + + bitcoin-core - + Bitcoin version Verze Bitcoinu - + Usage: Užití: - + Send command to -server or bitcoind Poslat příkaz pro -server nebo bitcoind - + List commands Výpis příkazů - + Get help for a command Získat nápovědu pro příkaz - + Options: Možnosti: - + Specify configuration file (default: bitcoin.conf) Konfigurační soubor (výchozí: bitcoin.conf) @@ -2174,108 +2226,102 @@ PID soubor (výchozí: bitcoind.pid) - - Generate coins - Generovat mince - - - - Don't generate coins - Negenerovat mince - - - + Specify data directory Adresář pro data - + Set database cache size in megabytes (default: 25) Nastavit velikost databázové vyrovnávací paměti v megabajtech (výchozí: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Čekat na spojení na <portu> (výchozí: 8333 nebo testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - Povol nejvýše <n> připojení k uzlům (výchozí: 125) + Povolit nejvýše <n> připojení k uzlům (výchozí: 125) - + Connect to a node to retrieve peer addresses, and disconnect Připojit se k uzlu, získat adresy jeho protějšků a odpojit se - + Specify your own public address Specifikuj svou veřejnou adresu - + Threshold for disconnecting misbehaving peers (default: 100) - Práh pro odpojování nesprávně se chovajících uzlů (výchozí: 100) + Práh pro odpojování zlobivých uzlů (výchozí: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - Doba ve vteřinách, po kterou se nebudou moci nesprávně se chovající uzly znovu připojit (výchozí: 86400) + Doba ve vteřinách, po kterou se nebudou moci zlobivé uzly znovu připojit (výchozí: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Při nastavování naslouchacího RPC portu %i pro IPv4 nastala chyba: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Čekat na JSON RPC spojení na <portu> (výchozí: 8332 nebo testnet: 18332) - + Accept command line and JSON-RPC commands Akceptovat příkazy z příkazové řádky a přes JSON-RPC - + Run in the background as a daemon and accept commands Běžet na pozadí jako démon a akceptovat příkazy - + Use the test network Použít testovací síť (testnet) - + Accept connections from outside (default: 1 if no -proxy or -connect) Přijímat spojení zvenčí (výchozí: 1, pokud není zadáno -proxy nebo -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, musíš nastavit rpcpassword v konfiguračním souboru: - %s +%s Je vhodné použít následující náhodné heslo: rpcuser=bitcoinrpc rpcpassword=%s (není potřeba si ho pamatovat) rpcuser a rpcpassword NESMÍ být stejné. Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník. +Je také doporučeno si nastavit alertnotify, abys byl upozorněn na případné problémy; +například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Při nastavování naslouchacího RPC portu %u pro IPv6 nastala chyba, vracím se k IPv4: %s @@ -2291,16 +2337,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Zjistil jsem, že je poškozená databáze bloků. Restartuj prosím klienta s volbou -reindex. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Nastala chyba při inicializaci databázového prostředí %s! Řešení: ZAZÁLOHUJ TENTO ADRESÁŘ, a pak v něm smaž vše kromě wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Chyba: Transakce byla odmítnuta! Tohle může nastat, pokud nějaké mince z tvé peněženky už jednou byly utraceny, například pokud používáš kopii souboru wallet.dat a mince byly utraceny v druhé kopii, ale nebyly označeny jako utracené v této. @@ -2310,14 +2346,24 @@ Chyba: Tahle transakce vyžaduje transakční poplatek nejméně %s kvůli velikosti zasílané částky, komplexnosti nebo použití nedávno přijatých mincí! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Spustit příkaz po přijetí relevantního hlášení (%s se v příkazu nahradí za zprávu) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Spustit příkaz, když se objeví transakce týkající se peněženky (%s se v příkazu nahradí za TxID) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Nastavit maximální velikost prioritních/nízkopoplatkových transakcí v bajtech (výchozí: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - Tohle je testovací verze - používej ji jen na vlastní riziko - ale rozhodně ji nepoužívej k těžbě nebo pro obchodní aplikace + Tohle je testovací verze – používej ji jen na vlastní riziko, ale rozhodně ji nepoužívej k těžbě nebo pro obchodní aplikace @@ -2355,62 +2401,172 @@ Možnosti vytvoření bloku: - + Connect only to the specified node(s) - Připojovat se pouze k zadaným uzlům + Připojit se pouze k zadanému uzlu (příp. zadaným uzlům) + Corrupted block database detected + Bylo zjištěno poškození databáze bloků + + + Discover own IP address (default: 1 when listening and no -externalip) Zjistit vlastní IP adresu (výchozí: 1, pokud naslouchá a není zadáno -externalip) - + + Do you want to rebuild the block database now? + Chceš přestavět databázi bloků hned teď? + + + + Error initializing block database + Chyba při zakládání databáze bloků + + + + Error initializing wallet database environment %s! + Chyba při vytváření databázového prostředí %s pro peněženku! + + + Error loading block database Chyba při načítání databáze bloků - + + Error opening block database + Chyba při otevírání databáze bloků + + + Error: Disk space is low! Problém: Na disku je málo místa! - Error: Transaction creation failed! - Chyba: Vytvoření transakce selhalo! + Error: Wallet locked, unable to create transaction! + Chyba: Peněženka je zamčená, nemohu vytvořit transakci! - Error: Wallet locked, unable to create transaction! - Chyba: Peněženka je zamčená, nemohu vytvořit transakci! + Error: system error: + Chyba: systémová chyba: - + Failed to listen on any port. Use -listen=0 if you want this. Nepodařilo se naslouchat na žádném portu. Použij -listen=0, pokud to byl tvůj záměr. + + Failed to read block info + Nepodařilo se přečíst informace o bloku + + + + Failed to read block + Nepodařilo se přečíst blok + + + + Failed to sync block index + Nepodařilo se sesynchronizovat index bloků + + + + Failed to write block index + Nepodařilo se zapsat index bloků + + + + Failed to write block info + Nepodařilo se zapsat informace o bloku + + + + Failed to write block + Nepodařilo se zapsat blok + + + + Failed to write file info + Nepodařilo se zapsat informace o souboru + + + + Failed to write to coin database + Selhal zápis do databáze mincí + + + + Failed to write transaction index + Nepodařilo se zapsat index transakcí + + + + Failed to write undo data + Nepodařilo se zapsat data o vracení změn + + Find peers using DNS lookup (default: 1 unless -connect) Hledat uzly přes DNS (výchozí: 1, pokud není zadáno -connect) - - How thorough the block verification is (0-4, default: 3) - Jak moc důkladná má být verifikace bloků (0–4, výchozí: 3) + + Generate coins (default: 0) + Generovat mince (výchozí: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Kolik bloků při startu zkontrolovat (výchozí: 288, 0 = všechny) - Importing blocks from block database... - Importuji bloky z databáze bloků... + How thorough the block verification is (0-4, default: 3) + Jak moc důkladná má být verifikace bloků (0-4, výchozí: 3) + + + + Not enough file descriptors available. + Je nedostatek deskriptorů souborů. + + + + Rebuild block chain index from current blk000??.dat files + Znovu vytvořit index řetězce bloků z aktuálních blk000??.dat souborů + + + + Set the number of threads to service RPC calls (default: 4) + Nastavení počtu vláken pro servisní RPC volání (výchozí: 4) + + + + Verifying blocks... + Ověřuji bloky... + Verifying wallet... + Kontroluji peněženku... + + + Imports blocks from external blk000??.dat file - Importuje bloky z externího souboru blk000?.dat + Importovat bloky z externího souboru blk000??.dat - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Nastavení počtu vláken pro verifikaci skriptů (max. 16, 0 = automaticky, <0 = nechat daný počet jader volný, výchozí: 0) + + + Information Informace @@ -2420,7 +2576,22 @@ Neplatná -tor adresa: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Neplatná částka pro -minrelaytxfee=<částka>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Neplatná částka pro -mintxfee=<částka>: '%s' + + + + Maintain a full transaction index (default: 0) + Spravovat úplný index transakcí (výchozí: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Maximální velikost přijímacího bufferu pro každé spojení, <n>*1000 bajtů (výchozí: 5000) @@ -2430,19 +2601,19 @@ Maximální velikost odesílacího bufferu pro každé spojení, <n>*1000 bajtů (výchozí: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) Uznávat pouze řetěz bloků, který odpovídá vnitřním kontrolním bodům (výchozí: 1) Only connect to nodes in network <net> (IPv4, IPv6 or Tor) - Připojovat se pouze k uzlům v <net> síti (IPv4, IPv6 nebo Tor) + Připojit se pouze k uzlům v <net> síti (IPv4, IPv6 nebo Tor) Output extra debugging information. Implies all other -debug* options - Tisknout speciální ladicí informace. Implikuje použití všechny -debug* voleb + Tisknout speciální ladicí informace. Implikuje použití všech -debug* voleb @@ -2455,12 +2626,7 @@ Připojit před ladicí výstup časové razítko - - Rebuild blockchain index from current blk000??.dat files - Znovu vytvořit index řetězce bloků z aktuálních blk000??.dat souborů - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Možnosti SSL: (viz instrukce nastavení SSL v Bitcoin Wiki) @@ -2490,17 +2656,42 @@ Nastavit minimální velikost bloku v bajtech (výchozí: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Při spuštění klienta zmenšit soubor debug.log (výchozí: 1, pokud není zadáno -debug) + + Signing transaction failed + Podepisování transakce selhalo + + Specify connection timeout in milliseconds (default: 5000) Zadej časový limit spojení v milisekundách (výchozí: 5000) - + + System error: + Systémová chyba: + + + + Transaction amount too small + Částka v transakci je příliš malá + + + + Transaction amounts must be positive + Částky v transakci musí být kladné + + + + Transaction too large + Transace je příliš velká + + + Use UPnP to map the listening port (default: 0) Použít UPnP k namapování naslouchacího portu (výchozí: 0) @@ -2531,36 +2722,41 @@ + You need to rebuild the databases using -reindex to change -txindex + Je třeba přestavět databázi použitím -reindex, aby bylo možné změnit -txindex + + + wallet.dat corrupt, salvage failed Soubor wallet.dat je poškozen, jeho záchrana se nezdařila - + Password for JSON-RPC connections Heslo pro JSON-RPC spojení - + Allow JSON-RPC connections from specified IP address Povolit JSON-RPC spojení ze specifikované IP adresy - + Send commands to node running on <ip> (default: 127.0.0.1) Posílat příkazy uzlu běžícím na <ip> (výchozí: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Spustit příkaz, když se změní nejlepší blok (%s se v příkazu nahradí hashem bloku) - + Upgrade wallet to latest format Převést peněženku na nejnovější formát - + Set key pool size to <n> (default: 100) Nastavit zásobník klíčů na velikost <n> (výchozí: 100) @@ -2570,17 +2766,12 @@ Přeskenovat řetězec bloků na chybějící transakce tvé pěněženky - - How many blocks to check at startup (default: 2500, 0 = all) - Kolik bloků při startu zkontrolovat (výchozí: 2500, 0 = všechny) - - - + Use OpenSSL (https) for JSON-RPC connections Použít OpenSSL (https) pro JSON-RPC spojení - + Server certificate file (default: server.cert) Soubor se serverovým certifikátem (výchozí: server.cert) @@ -2590,37 +2781,37 @@ Soubor se serverovým soukromým klíčem (výchozí: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Akceptovatelné šifry (výchozí: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Tato nápověda - + Unable to bind to %s on this computer (bind returned error %d, %s) Nedaří se mi připojit na %s na tomhle počítači (operace bind vrátila chybu %d, %s) - + Connect through socks proxy - Připojovat se přes socks proxy + Připojit se přes socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect Povolit DNS dotazy pro -addnode (přidání uzlu), -seednode a -connect (připojení) - + Loading addresses... Načítám adresy... - + Error loading wallet.dat: Wallet corrupted Chyba při načítání wallet.dat: peněženka je poškozená @@ -2630,32 +2821,22 @@ Chyba při načítání wallet.dat: peněženka vyžaduje novější verzi Bitcoinu - - Verifying block database integrity... - Kontroluji integritu databáze bloků... - - - - Verifying wallet integrity... - Kontroluji integritu peněženky... - - - + Wallet needed to be rewritten: restart Bitcoin to complete Soubor s peněženkou potřeboval přepsat: restartuj Bitcoin, aby se operace dokončila - + Error loading wallet.dat Chyba při načítání wallet.dat - + Invalid -proxy address: '%s' Neplatná -proxy adresa: '%s' - + Unknown network specified in -onlynet: '%s' V -onlynet byla uvedena neznámá síť: '%s' @@ -2665,7 +2846,7 @@ V -socks byla požadována neznámá verze proxy: %i - + Cannot resolve -bind address: '%s' Nemohu přeložit -bind adresu: '%s' @@ -2675,32 +2856,27 @@ Nemohu přeložit -externalip adresu: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Neplatná částka pro -paytxfee=<částka>: '%s' - - Error: could not start node - Chyba: nemohu nastartovat uzel - - - + Invalid amount Neplatná částka - + Insufficient funds Nedostatek prostředků - + Loading block index... Načítám index bloků... - + Add a node to connect to and attempt to keep the connection open Přidat uzel, ke kterému se připojit a snažit se spojení udržet @@ -2710,14 +2886,9 @@ Nedaří se mi připojit na %s na tomhle počítači. Bitcoin už pravděpodobně jednou běží. - - Find peers using internet relay chat (default: 0) - Hledat uzly přes IRC (výchozí: 0) - - - + Fee per KB to add to transactions you send - Poplatek za KB, který se přidá ke každé odeslané transakci + Poplatek za kB, který se přidá ke každé odeslané transakci @@ -2725,42 +2896,37 @@ Načítám peněženku... - + Cannot downgrade wallet Nemohu převést peněženku do staršího formátu - - Cannot initialize keypool - Nemohu inicializovat zásobník klíčů - - Cannot write default address Nemohu napsat výchozí adresu - + Rescanning... Přeskenovávám... - + Done loading Načítání dokončeno - + To use the %s option K použití volby %s - + Error Chyba - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_cy.ts bitcoin-0.8.5/src/qt/locale/bitcoin_cy.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_cy.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_cy.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2917 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + + + + + <b>Bitcoin</b> version + Fersiwn <b>Bitcoin</b> + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + + Copyright + + + + + The Bitcoin developers + + + + + AddressBookPage + + + Address Book + Llyfr Cyfeiriadau + + + + Double-click to edit address or label + Clicio dwywaith i olygu cyfeiriad neu label + + + + Create a new address + Creu cyfeiriad newydd + + + + Copy the currently selected address to the system clipboard + Copio'r cyfeiriad sydd wedi'i ddewis i'r clipfwrdd system + + + + &New Address + + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + + + + + &Copy Address + + + + + Show &QR Code + + + + + Sign a message to prove you own a Bitcoin address + + + + + Sign &Message + + + + + Delete the currently selected address from the list + + + + + Export the data in the current tab to a file + + + + + &Export + + + + + Verify a message to ensure it was signed with a specified Bitcoin address + + + + + &Verify Message + + + + + &Delete + &Dileu + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + + Copy &Label + + + + + &Edit + + + + + Send &Coins + + + + + Export Address Book Data + Allforio Data Llyfr Cyfeiriad + + + + Comma separated file (*.csv) + + + + + Error exporting + Gwall allforio + + + + Could not write to file %1. + Ni ellir ysgrifennu i ffeil %1. + + + + AddressTableModel + + + Label + Label + + + + Address + Cyfeiriad + + + + (no label) + (heb label) + + + + AskPassphraseDialog + + + Passphrase Dialog + + + + + Enter passphrase + Teipiwch gyfrinymadrodd + + + + New passphrase + Cyfrinymadrodd newydd + + + + Repeat new passphrase + Ailadroddwch gyfrinymadrodd newydd + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + Dewiswch gyfrinymadrodd newydd ar gyfer y waled. <br/> Defnyddiwch cyfrinymadrodd o <b>10 neu fwy o lythyrennau hapgyrch</b>, neu <b> wyth neu fwy o eiriau. + + + + Encrypt wallet + Amgryptio'r waled + + + + This operation needs your wallet passphrase to unlock the wallet. + Mae angen i'r gweithred hon ddefnyddio'ch cyfrinymadrodd er mwyn datgloi'r waled. + + + + Unlock wallet + Datgloi'r waled + + + + This operation needs your wallet passphrase to decrypt the wallet. + Mae angen i'r gweithred hon ddefnyddio'ch cyfrinymadrodd er mwyn dadgryptio'r waled. + + + + Decrypt wallet + Dadgryptio'r waled + + + + Change passphrase + Newid cyfrinymadrodd + + + + Enter the old and new passphrase to the wallet. + Teipiwch yr hen cyfrinymadrodd a chyfrinymadrodd newydd i mewn i'r waled. + + + + Confirm wallet encryption + Cadarnau amgryptiad y waled + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + + + + + Are you sure you wish to encrypt your wallet? + + + + + 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. + + + + + + Warning: The Caps Lock key is on! + + + + + + Wallet encrypted + Waled wedi'i amgryptio + + + + Bitcoin 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. + + + + + + + + Wallet encryption failed + Amgryptiad waled wedi methu + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + Methodd amgryptiad y waled oherwydd gwall mewnol. Ni amgryptwyd eich waled. + + + + + The supplied passphrases do not match. + Dydy'r cyfrinymadroddion a ddarparwyd ddim yn cyd-fynd â'u gilydd. + + + + Wallet unlock failed + Methodd ddatgloi'r waled + + + + + + The passphrase entered for the wallet decryption was incorrect. + + + + + Wallet decryption failed + Methodd dadgryptiad y waled + + + + Wallet passphrase was successfully changed. + + + + + BitcoinGUI + + + Sign &message... + + + + + Synchronizing with network... + Cysoni â'r rhwydwaith... + + + + &Overview + &Trosolwg + + + + Show general overview of wallet + Dangos trosolwg cyffredinol y waled + + + + &Transactions + &Trafodion + + + + Browse transaction history + Pori hanes trafodion + + + + Edit the list of stored addresses and labels + Golygu'r rhestr o cyfeiriadau a labeli ar gadw + + + + Show the list of addresses for receiving payments + Dangos rhestr o gyfeiriadau ar gyfer derbyn taliadau + + + + E&xit + + + + + Quit application + Gadael rhaglen + + + + Show information about Bitcoin + Dangos gwybodaeth am Bitcoin + + + + About &Qt + + + + + Show information about Qt + + + + + &Options... + &Opsiynau + + + + &Encrypt Wallet... + + + + + &Backup Wallet... + + + + + &Change Passphrase... + + + + + Importing blocks from disk... + + + + + Reindexing blocks on disk... + + + + + Send coins to a Bitcoin address + + + + + Modify configuration options for Bitcoin + + + + + Backup wallet to another location + + + + + Change the passphrase used for wallet encryption + Newid y cyfrinymadrodd a ddefnyddiwyd ar gyfer amgryptio'r waled + + + + &Debug window + + + + + Open debugging and diagnostic console + + + + + &Verify message... + + + + + + Bitcoin + + + + + Wallet + + + + + &Send + + + + + &Receive + + + + + &Addresses + + + + + &About Bitcoin + + + + + &Show / Hide + + + + + Show or hide the main Window + + + + + Encrypt the private keys that belong to your wallet + + + + + Sign messages with your Bitcoin addresses to prove you own them + + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + + + + + &File + &Ffeil + + + + &Settings + &Gosodiadau + + + + &Help + &Cymorth + + + + Tabs toolbar + Bar offer tabiau + + + + + [testnet] + [testnet] + + + + Bitcoin client + + + + + %n active connection(s) to Bitcoin network + + + + + No block source available... + + + + + Processed %1 of %2 (estimated) blocks of transaction history. + + + + + Processed %1 blocks of transaction history. + + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + + + + %1 behind + + + + + Last received block was generated %1 ago. + + + + + Transactions after this will not yet be visible. + + + + + Error + + + + + Warning + + + + + Information + + + + + 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? + + + + + Up to date + Cyfamserol + + + + Catching up... + Dal i fyny + + + + Confirm transaction fee + + + + + Sent transaction + Trafodiad a anfonwyd + + + + Incoming transaction + Trafodiad sy'n cyrraedd + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + + + + + + URI handling + + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + Mae'r waled <b>wedi'i amgryptio</b> ac <b>heb ei gloi</b> ar hyn o bryd + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + Mae'r waled <b>wedi'i amgryptio</b> ac <b>ar glo</b> ar hyn o bryd + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + + + + + ClientModel + + + Network Alert + + + + + EditAddressDialog + + + Edit Address + Golygu'r cyfeiriad + + + + &Label + &Label + + + + The label associated with this address book entry + Mae'r label hon yn cysylltiedig gyda'r cofnod llyfr cyfeiriad hon + + + + &Address + &Cyfeiriad + + + + The address associated with this address book entry. This can only be modified for sending addresses. + Mae'r cyfeiriad hon yn cysylltiedig gyda'r cofnod llyfr cyfeiriad hon. Gall hyn gael ei olygu dim ond ar gyfer y pwrpas o anfon cyfeiriadau. + + + + New receiving address + Cyfeiriad derbyn newydd + + + + New sending address + Cyfeiriad anfon newydd + + + + Edit receiving address + Golygu'r cyfeiriad derbyn + + + + Edit sending address + Golygu'r cyfeiriad anfon + + + + The entered address "%1" is already in the address book. + Mae'r cyfeiriad "%1" sydd newydd gael ei geisio gennych yn y llyfr cyfeiriad yn barod. + + + + The entered address "%1" is not a valid Bitcoin address. + + + + + Could not unlock wallet. + Methodd ddatgloi'r waled. + + + + New key generation failed. + Methodd gynhyrchu allwedd newydd. + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + + + + + version + + + + + Usage: + + + + + command-line options + + + + + UI options + + + + + Set language, for example "de_DE" (default: system locale) + + + + + Start minimized + + + + + Show splash screen on startup (default: 1) + + + + + OptionsDialog + + + Options + Opsiynau + + + + &Main + + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + + + + + Pay transaction &fee + + + + + Automatically start Bitcoin after logging in to the system. + + + + + &Start Bitcoin on system login + + + + + Reset all client options to default. + + + + + &Reset Options + + + + + &Network + + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + + + + + Map port using &UPnP + + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + + + + + &Connect through SOCKS proxy: + + + + + Proxy &IP: + + + + + IP address of the proxy (e.g. 127.0.0.1) + + + + + &Port: + + + + + Port of the proxy (e.g. 9050) + + + + + SOCKS &Version: + + + + + SOCKS version of the proxy (e.g. 5) + + + + + &Window + + + + + Show only a tray icon after minimizing the window. + + + + + &Minimize to the tray instead of the taskbar + + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + + + + + M&inimize on close + + + + + &Display + + + + + User Interface &language: + + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + + + + + &Unit to show amounts in: + + + + + Choose the default subdivision unit to show in the interface and when sending coins. + + + + + Whether to show Bitcoin addresses in the transaction list or not. + + + + + &Display addresses in transaction list + + + + + &OK + + + + + &Cancel + + + + + &Apply + + + + + default + + + + + Confirm options reset + + + + + Some settings may require a client restart to take effect. + + + + + Do you want to proceed? + + + + + + Warning + + + + + + This setting will take effect after restarting Bitcoin. + + + + + The supplied proxy address is invalid. + + + + + OverviewPage + + + Form + Ffurflen + + + + + 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. + + + + + Balance: + Gweddill: + + + + Unconfirmed: + Nas cadarnheir: + + + + Wallet + + + + + Immature: + + + + + Mined balance that has not yet matured + + + + + <b>Recent transactions</b> + <b>Trafodion diweddar</b> + + + + Your current balance + Eich gweddill presennol + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + Cyfanswm o drafodion sydd heb eu cadarnhau a heb eu cyfri tuag at y gweddill presennol + + + + + out of sync + + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + + QRCodeDialog + + + QR Code Dialog + + + + + Request Payment + + + + + Amount: + + + + + Label: + + + + + Message: + + + + + &Save As... + + + + + Error encoding URI into QR Code. + + + + + The entered amount is invalid, please check. + + + + + Resulting URI too long, try to reduce the text for label / message. + + + + + Save QR Code + + + + + PNG Images (*.png) + + + + + RPCConsole + + + Client name + + + + + + + + + + + + + + N/A + + + + + Client version + + + + + &Information + + + + + Using OpenSSL version + + + + + Startup time + + + + + Network + + + + + Number of connections + + + + + On testnet + + + + + Block chain + + + + + Current number of blocks + + + + + Estimated total blocks + + + + + Last block time + + + + + &Open + + + + + Command-line options + + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + + + + + &Show + + + + + &Console + + + + + Build date + + + + + Bitcoin - Debug window + + + + + Bitcoin Core + + + + + Debug log file + + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + + + + + Clear console + + + + + Welcome to the Bitcoin RPC console. + + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + + + + + Type <b>help</b> for an overview of available commands. + + + + + SendCoinsDialog + + + + + + + + + + Send Coins + Anfon arian + + + + Send to multiple recipients at once + Anfon at pobl lluosog ar yr un pryd + + + + Add &Recipient + + + + + Remove all transaction fields + + + + + Clear &All + + + + + Balance: + Gweddill: + + + + 123.456 BTC + 123.456 BTC + + + + Confirm the send action + Cadarnhau'r gweithrediad anfon + + + + S&end + + + + + <b>%1</b> to %2 (%3) + <b>%1</b> to %2 (%3) + + + + Confirm send coins + + + + + Are you sure you want to send %1? + Ydych chi'n siwr eich bod chi eisiau anfon %1? + + + + and + a + + + + The recipient address is not valid, please recheck. + + + + + The amount to pay must be larger than 0. + + + + + The amount exceeds your balance. + + + + + The total exceeds your balance when the %1 transaction fee is included. + + + + + Duplicate address found, can only send to each address once per send operation. + + + + + Error: Transaction creation failed! + + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + SendCoinsEntry + + + Form + Ffurflen + + + + A&mount: + &Maint + + + + Pay &To: + + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Enter a label for this address to add it to your address book + + + + + &Label: + &Label: + + + + Choose address from address book + + + + + Alt+A + Alt+A + + + + Paste address from clipboard + Gludo cyfeiriad o'r glipfwrdd + + + + Alt+P + Alt+P + + + + Remove this recipient + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + + + + + &Sign Message + + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Choose an address from the address book + + + + + + Alt+A + Alt+A + + + + Paste address from clipboard + Gludo cyfeiriad o'r glipfwrdd + + + + Alt+P + Alt+P + + + + Enter the message you want to sign here + + + + + Signature + + + + + Copy the current signature to the system clipboard + + + + + Sign the message to prove you own this Bitcoin address + + + + + Sign &Message + + + + + Reset all sign message fields + + + + + + Clear &All + + + + + &Verify Message + + + + + Enter the signing 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. + + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Verify the message to ensure it was signed with the specified Bitcoin address + + + + + Verify &Message + + + + + Reset all verify message fields + + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Click "Sign Message" to generate signature + + + + + Enter Bitcoin signature + + + + + + The entered address is invalid. + + + + + + + + Please check the address and try again. + + + + + + The entered address does not refer to a key. + + + + + Wallet unlock was cancelled. + + + + + Private key for the entered address is not available. + + + + + Message signing failed. + + + + + Message signed. + + + + + The signature could not be decoded. + + + + + + Please check the signature and try again. + + + + + The signature did not match the message digest. + + + + + Message verification failed. + + + + + Message verified. + + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + + TransactionDesc + + + Open until %1 + Agor tan %1 + + + + %1/offline + + + + + %1/unconfirmed + + + + + %1 confirmations + + + + + Status + + + + + , broadcast through %n node(s) + + + + + Date + + + + + Source + + + + + Generated + + + + + + From + + + + + + + To + + + + + + own address + + + + + label + + + + + + + + + Credit + + + + + matures in %n more block(s) + + + + + not accepted + + + + + + + + Debit + + + + + Transaction fee + + + + + Net amount + + + + + Message + + + + + Comment + + + + + Transaction ID + + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + + + Debug information + + + + + Transaction + + + + + Inputs + + + + + Amount + + + + + true + + + + + false + + + + + , has not been successfully broadcast yet + + + + + Open for %n more block(s) + + + + + unknown + + + + + TransactionDescDialog + + + Transaction details + + + + + This pane shows a detailed description of the transaction + + + + + TransactionTableModel + + + Date + + + + + Type + + + + + Address + Cyfeiriad + + + + Amount + + + + + Open for %n more block(s) + + + + + Open until %1 + Agor tan %1 + + + + Offline (%1 confirmations) + + + + + Unconfirmed (%1 of %2 confirmations) + + + + + Confirmed (%1 confirmations) + + + + + Mined balance will be available when it matures in %n more block(s) + + + + + This block was not received by any other nodes and will probably not be accepted! + + + + + Generated but not accepted + + + + + Received with + + + + + Received from + + + + + Sent to + + + + + Payment to yourself + + + + + Mined + + + + + (n/a) + + + + + Transaction status. Hover over this field to show number of confirmations. + + + + + Date and time that the transaction was received. + + + + + Type of transaction. + + + + + Destination address of transaction. + + + + + Amount removed from or added to balance. + + + + + TransactionView + + + + All + + + + + Today + + + + + This week + + + + + This month + + + + + Last month + + + + + This year + + + + + Range... + + + + + Received with + + + + + Sent to + + + + + To yourself + + + + + Mined + + + + + Other + + + + + Enter address or label to search + + + + + Min amount + + + + + Copy address + + + + + Copy label + + + + + Copy amount + + + + + Copy transaction ID + + + + + Edit label + + + + + Show transaction details + + + + + Export Transaction Data + + + + + Comma separated file (*.csv) + + + + + Confirmed + + + + + Date + + + + + Type + + + + + Label + Label + + + + Address + Cyfeiriad + + + + Amount + + + + + ID + + + + + Error exporting + Gwall allforio + + + + Could not write to file %1. + Ni ellir ysgrifennu i ffeil %1. + + + + Range: + + + + + to + + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + + + + + Usage: + + + + + Send command to -server or bitcoind + + + + + List commands + + + + + Get help for a command + + + + + Options: + + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + + Specify data directory + + + + + Set database cache size in megabytes (default: 25) + + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + + + + + Maintain at most <n> connections to peers (default: 125) + + + + + Connect to a node to retrieve peer addresses, and disconnect + + + + + Specify your own public address + + + + + Threshold for disconnecting misbehaving peers (default: 100) + + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + + + + + Accept command line and JSON-RPC commands + + + + + Run in the background as a daemon and accept commands + + + + + Use the test network + + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + + + Attempt to recover private keys from a corrupt wallet.dat + + + + + Block creation options: + + + + + Connect only to the specified node(s) + + + + + Corrupted block database detected + + + + + Discover own IP address (default: 1 when listening and no -externalip) + + + + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + + Error loading block database + + + + + Error opening block database + + + + + Error: Disk space is low! + + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + + + + + Failed to listen on any port. Use -listen=0 if you want this. + + + + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + + + Find peers using DNS lookup (default: 1 unless -connect) + + + + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) + + + + + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + + + + + Verifying wallet... + + + + + Imports blocks from external blk000??.dat file + + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + + Information + + + + + Invalid -tor address: '%s' + + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + + + + + Only accept block chain matching built-in checkpoints (default: 1) + + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + + + + + Output extra debugging information. Implies all other -debug* options + + + + + Output extra network debugging information + + + + + Prepend debug output with timestamp + + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + + + + Select the version of socks proxy to use (4-5, default: 5) + + + + + Send trace/debug info to console instead of debug.log file + + + + + Send trace/debug info to debugger + + + + + Set maximum block size in bytes (default: 250000) + + + + + Set minimum block size in bytes (default: 0) + + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + + + + + Signing transaction failed + + + + + Specify connection timeout in milliseconds (default: 5000) + + + + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + + + + + Use UPnP to map the listening port (default: 1 when listening) + + + + + Use proxy to reach tor hidden services (default: same as -proxy) + + + + + Username for JSON-RPC connections + + + + + Warning + + + + + Warning: This version is obsolete, upgrade required! + + + + + You need to rebuild the databases using -reindex to change -txindex + + + + + wallet.dat corrupt, salvage failed + + + + + Password for JSON-RPC connections + + + + + Allow JSON-RPC connections from specified IP address + + + + + Send commands to node running on <ip> (default: 127.0.0.1) + + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + + + + + Upgrade wallet to latest format + + + + + Set key pool size to <n> (default: 100) + + + + + Rescan the block chain for missing wallet transactions + + + + + Use OpenSSL (https) for JSON-RPC connections + + + + + Server certificate file (default: server.cert) + + + + + Server private key (default: server.pem) + + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + + This help message + + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + + + + + Connect through socks proxy + + + + + Allow DNS lookups for -addnode, -seednode and -connect + + + + + Loading addresses... + + + + + Error loading wallet.dat: Wallet corrupted + + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + + + + + Wallet needed to be rewritten: restart Bitcoin to complete + + + + + Error loading wallet.dat + + + + + Invalid -proxy address: '%s' + + + + + Unknown network specified in -onlynet: '%s' + + + + + Unknown -socks proxy version requested: %i + + + + + Cannot resolve -bind address: '%s' + + + + + Cannot resolve -externalip address: '%s' + + + + + Invalid amount for -paytxfee=<amount>: '%s' + + + + + Invalid amount + + + + + Insufficient funds + + + + + Loading block index... + + + + + Add a node to connect to and attempt to keep the connection open + + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + + + + + Fee per KB to add to transactions you send + + + + + Loading wallet... + + + + + Cannot downgrade wallet + + + + + Cannot write default address + + + + + Rescanning... + + + + + Done loading + + + + + To use the %s option + + + + + Error + + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_da.ts bitcoin-0.8.5/src/qt/locale/bitcoin_da.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_da.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_da.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> version - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -28,9 +23,19 @@ Dette program er ekperimentielt. -Det er gjort tilgængeligt under MIT/X11 softwarelicensen. Se den tilhørende fil "COPYING" eller http://www.opensource.org/licenses/mit-license.php. +Det er gjort tilgængeligt under MIT/X11-softwarelicensen. Se den tilhørende fil "COPYING" eller http://www.opensource.org/licenses/mit-license.php. -Produktet indeholder software som er udviklet af OpenSSL Project til brug i OpenSSL Toolkit (http://www.openssl.org/), kryptografisk software skrevet af Eric Young (eay@cryptsoft.com) og UPnP-software skrevet by Thomas Bernard. +Produktet indeholder software som er udviklet af OpenSSL Project til brug i OpenSSL Toolkit (http://www.openssl.org/), kryptografisk software skrevet af Eric Young (eay@cryptsoft.com) og UPnP-software skrevet af Thomas Bernard. + + + + Copyright + Copyright + + + + The Bitcoin developers + Bitcoin-udviklerne @@ -41,7 +46,7 @@ Adressebog - + Double-click to edit address or label Dobbeltklik for at redigere adresse eller mærkat @@ -58,72 +63,92 @@ &New Address - &Ny adresse + Ny adresse - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - Dette er dine Bitcoinadresser til at modtage betalinger med. Du kan give en forskellig adresse til hver afsender, så du kan holde styr på hvem der betaler dig. + Dette er dine Bitcoin-adresser til at modtage betalinger med. Du kan give en forskellig adresse til hver afsender, så du kan holde styr på, hvem der betaler dig. - + &Copy Address - &Kopier adresse + Kopier adresse Show &QR Code - + Vis QR-kode Sign a message to prove you own a Bitcoin address - + Underskriv en besked for at bevise, at en Bitcoin-adresse tilhører dig Sign &Message - + Underskriv besked Delete the currently selected address from the list - + Slet den markerede adresse fra listen - + + Export the data in the current tab to a file + Eksportér den aktuelle visning til en fil + + + + &Export + Eksporter + + + Verify a message to ensure it was signed with a specified Bitcoin address - + Efterprøv en besked for at sikre, at den er underskrevet med den angivne Bitcoin-adresse &Verify Message - + Efterprøv besked &Delete - &Slet + Slet + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Disse er dine Bitcoin-adresser for at sende betalinger. Tjek altid beløb og modtageradresse, inden du sender bitcoins. - + Copy &Label - Kopier &etiket + Kopier mærkat - + &Edit - R&ediger + Rediger + + + + Send &Coins + Send bitcoins - + Export Address Book Data - Eksporter Adressekartoteketsdata + Eksporter adressebogsdata Comma separated file (*.csv) - Kommasepareret fil (*. csv) + Kommasepareret fil (*.csv) @@ -139,9 +164,9 @@ AddressTableModel - + Label - Etiket + Mærkat @@ -151,7 +176,7 @@ (no label) - (ingen etiket) + (ingen mærkat) @@ -159,7 +184,7 @@ Passphrase Dialog - + Adgangskodedialog @@ -179,7 +204,7 @@ Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - Indtast den nye adgangskode til tegnebogen.<br/>Brug venligst en adgangskode på <b>10 eller flere tilfældige tegn</b>, eller <b>otte eller flere ord</b>. + Indtast den nye adgangskode til tegnebogen.<br/>Brug venligst en adgangskode på <b>10 eller flere tilfældige tegn</b> eller <b>otte eller flere ord</b>. @@ -189,7 +214,7 @@ This operation needs your wallet passphrase to unlock the wallet. - Denne funktion har brug for din tegnebogs kodeord for at låse tegnebogen op. + Denne funktion har brug for din tegnebogs adgangskode for at låse tegnebogen op. @@ -199,12 +224,12 @@ This operation needs your wallet passphrase to decrypt the wallet. - Denne funktion har brug for din tegnebogs kodeord for at dekryptere tegnebogen. + Denne funktion har brug for din tegnebogs adgangskode for at dekryptere tegnebogen. Decrypt wallet - Dekryptér tegnebog + Dekrypter tegnebog @@ -214,7 +239,7 @@ Enter the old and new passphrase to the wallet. - Indtast den gamle og nye adgangskode til tegnebogen. + Indtast den gamle og den nye adgangskode til tegnebogen. @@ -224,23 +249,23 @@ Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - Advarsel: Hvis du krypterer din tegnebog og mister dit kodeord vil du <b>miste alle dine BITCOINS</b>! + Advarsel: Hvis du krypterer din tegnebog og mister din adgangskode, vil du <b>MISTE ALLE DINE BITCOINS</b>! Are you sure you wish to encrypt your wallet? - Er du sikker på at du ønsker at kryptere din tegnebog? + Er du sikker på, at du ønsker at kryptere din tegnebog? 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. - + VIGTIGT: Enhver tidligere sikkerhedskopi, som du har lavet af tegnebogsfilen, bør blive erstattet af den nyligt genererede, krypterede tegnebogsfil. Af sikkerhedsmæssige årsager vil tidligere sikkerhedskopier af den ikke-krypterede tegnebogsfil blive ubrugelig i det øjeblik, du starter med at anvende den nye, krypterede tegnebog. Warning: The Caps Lock key is on! - + Advarsel: Caps Lock-tasten er aktiveret! @@ -251,7 +276,7 @@ Bitcoin 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. - Bitcoin will close now to finish the encryption process. Husk, at kryptere din tegnebog vil ikke fuldt ud beskytte dine bitcoins mod at blive stjålet af malware på din computer. + Bitcoin vil nu lukke for at gennemføre krypteringsprocessen. Husk på, at kryptering af din tegnebog vil ikke beskytte dine bitcoins fuldt ud mod at blive stjålet af malware på din computer. @@ -270,7 +295,7 @@ The supplied passphrases do not match. - De angivne kodeord stemmer ikke overens. + De angivne adgangskoder stemmer ikke overens. @@ -282,7 +307,7 @@ The passphrase entered for the wallet decryption was incorrect. - Det angivne kodeord for tegnebogsdekrypteringen er forkert. + Den angivne adgangskode for tegnebogsdekrypteringen er forkert. @@ -292,25 +317,25 @@ Wallet passphrase was successfully changed. - Tegnebogskodeord blev ændret. + Tegnebogens adgangskode blev ændret. BitcoinGUI - + Sign &message... - + Underskriv besked... - + Synchronizing with network... - Synkroniserer med netværk ... + Synkroniserer med netværk... - + &Overview - &Oversigt + Oversigt @@ -320,7 +345,7 @@ &Transactions - &Transaktioner + Transaktioner @@ -328,34 +353,19 @@ Gennemse transaktionshistorik - - &Address Book - &Adressebog - - - + Edit the list of stored addresses and labels - Rediger listen over gemte adresser og etiketter + Rediger listen over gemte adresser og mærkater - - &Receive coins - &Modtag coins - - - + Show the list of addresses for receiving payments Vis listen over adresser for at modtage betalinger - - &Send coins - &Send coins - - - + E&xit - &Luk + Luk @@ -365,153 +375,153 @@ Show information about Bitcoin - Vis oplysninger om Bitcoin + Vis informationer om Bitcoin About &Qt - Om &Qt + Om Qt Show information about Qt - Vis oplysninger om Qt + Vis informationer om Qt &Options... - &Indstillinger ... + Indstillinger... - + &Encrypt Wallet... - &Kryptér tegnebog... + Krypter tegnebog... &Backup Wallet... - &Backup tegnebog... + Sikkerhedskopier tegnebog... &Change Passphrase... - &Skift adgangskode... + Skift adgangskode... - + Importing blocks from disk... - + Importerer blokke fra disken... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - - - - - &Export... - &Eksporter... + Genindekserer blokke på disken... - + Send coins to a Bitcoin address - Send coins til en bitcoinadresse + Send bitcoins til en Bitcoin-adresse Modify configuration options for Bitcoin - Rediger konfigurationsindstillinger af bitcoin + Rediger konfigurationsindstillinger af Bitcoin - - Export the data in the current tab to a file - Eksportér den aktuelle visning til en fil - - - + Backup wallet to another location - + Lav sikkerhedskopi af tegnebogen til et andet sted Change the passphrase used for wallet encryption - Skift kodeord anvendt til tegnebogskryptering + Skift adgangskode anvendt til tegnebogskryptering - + &Debug window - + Fejlsøgningsvindue Open debugging and diagnostic console - + Åbn fejlsøgnings- og diagnosticeringskonsollen - + &Verify message... - + Efterprøv besked... - - + + Bitcoin Bitcoin - + Wallet - tegnebog + Tegnebog + + + + &Send + Send + + + + &Receive + Modtag - + + &Addresses + Adresser + + + &About Bitcoin - &Om Bitcoin + Om Bitcoin &Show / Hide - + Vis/skjul Show or hide the main Window - + Vis eller skjul hovedvinduet - + Encrypt the private keys that belong to your wallet - + Krypter de private nøgler, der hører til din tegnebog Sign messages with your Bitcoin addresses to prove you own them - + Underskriv beskeder med dine Bitcoin-adresser for at bevise, at de tilhører dig Verify messages to ensure they were signed with specified Bitcoin addresses - + Efterprøv beskeder for at sikre, at de er underskrevet med de(n) angivne Bitcoin-adresse(r) - + &File - &Fil + Fil - + &Settings - &Indstillinger + Indstillinger &Help - &Hjælp + Hjælp @@ -519,108 +529,103 @@ Faneværktøjslinje - - Actions toolbar - Handlingsværktøjslinje - - - + [testnet] - [testnet] + [testnetværk] - + Bitcoin client - + Bitcoin-klient - + %n active connection(s) to Bitcoin network - %n aktiv(e) forbindelse(r) til Bitcoinnetværket%n aktiv(e) forbindelse(r) til Bitcoinnetværket + %n aktiv(e) forbindelse(r) til Bitcoin-netværket%n aktiv(e) forbindelse(r) til Bitcoin-netværket - - Processed %1 of %2 blocks of transaction history (%3% done). - + + No block source available... + Ingen blokkilde tilgængelig... - + + Processed %1 of %2 (estimated) blocks of transaction history. + %1 ud af %2 (estimeret) blokke af transaktionshistorikken er blevet behandlet. + + + Processed %1 blocks of transaction history. - + %1 blokke af transaktionshistorikken er blevet behandlet. + + + + %n hour(s) + %n time(r)%n time(r) + + + + %n day(s) + %n dag(e)%n dag(e) + + + + %n week(s) + %n uge(r)%n uge(r) - + + %1 behind + %1 bagefter + + + + Last received block was generated %1 ago. + Senest modtagne blok blev genereret for %1 siden. + + + + Transactions after this will not yet be visible. + Transaktioner herefter vil endnu ikke være synlige. + + + Error - + Fejl Warning - + Advarsel Information - + Information - + 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? - - - - - Backup Successful - + Transaktionen overskrider størrelsesgrænsen. Du kan stadig sende den for et gebyr på %1, hvilket går til de knuder, der behandler din transaktion og hjælper med at understøtte netværket. Vil du betale gebyret? - - The wallet data was successfully saved to the new location. - - - - - %n second(s) ago - %n sekund(er) siden%n sekund(er) siden - - - - %n minute(s) ago - %n minut(ter) siden%n minut(ter) siden - - - - %n hour(s) ago - %n time(r) siden%n time(r) siden - - - - %n day(s) ago - %n dag(e) siden%n dag(e) siden - - - + Up to date Opdateret - + Catching up... Indhenter... - - Last received block was generated %1. - Sidst modtagne blok blev genereret %1. - - - + Confirm transaction fee - + Bekræft transaktionsgebyr - + Sent transaction Afsendt transaktion @@ -643,16 +648,16 @@ - - + + URI handling - + URI-håndtering - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - + URI kan ikke fortolkes! Dette kan skyldes en ugyldig Bitcoin-adresse eller misdannede URI-parametre. @@ -665,37 +670,17 @@ Tegnebog er <b>krypteret</b> og i øjeblikket <b>låst</b> - - Backup Wallet - Backup tegnebog - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. - + Der opstod en fatal fejl. Bitcoin kan ikke længere fortsætte sikkert og vil afslutte. ClientModel - + Network Alert - + Netværksadvarsel @@ -703,30 +688,30 @@ Edit Address - Rediger Adresse + Rediger adresse &Label - &Etiket + Mærkat The label associated with this address book entry - Etiketten forbundet med denne post i adressekartoteket + Mærkaten forbundet med denne post i adressebogen &Address - &Adresse + Adresse The address associated with this address book entry. This can only be modified for sending addresses. - Adressen tilknyttet til denne post i adressekartoteket. Dette kan kun ændres for afsendelsesadresser. + Adressen tilknyttet til denne post i adressebogen. Dette kan kun ændres for afsendelsesadresser. - + New receiving address Ny modtagelsesadresse @@ -746,17 +731,17 @@ Rediger afsendelsesadresse - + The entered address "%1" is already in the address book. Den indtastede adresse "%1" er allerede i adressebogen. - + The entered address "%1" is not a valid Bitcoin address. - Den indtastede adresse "%1" er ikke en gyldig bitcoinadresse. + Den indtastede adresse "%1" er ikke en gyldig Bitcoin-adresse. - + Could not unlock wallet. Kunne ikke låse tegnebog op. @@ -769,15 +754,15 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt - + Bitcoin-Qt version - + version @@ -787,28 +772,27 @@ command-line options - command-line indstillinger + kommandolinjetilvalg UI options - UI indstillinger + Brugergrænsefladeindstillinger Set language, for example "de_DE" (default: system locale) - + Angiv sprog, f.eks "de_DE" (standard: systemlokalitet) Start minimized - Start minimeret - + Start minimeret Show splash screen on startup (default: 1) - + Vis opstartsbillede ved start (standard: 1) @@ -821,67 +805,67 @@ &Main - &Generelt + Generelt - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Valgfri transaktionsgebyr pr. kB, der hjælper dine transaktioner med at blive behandlet hurtigt. De fleste transaktioner er på 1 kB. Gebyr på 0.01 anbefales. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Valgfrit transaktionsgebyr pr. kB, der hjælper dine transaktioner med at blive behandlet hurtigt. De fleste transaktioner er på 1 kB. Pay transaction &fee - Betal transaktions&gebyr + Betal transaktionsgebyr Automatically start Bitcoin after logging in to the system. - Start Bitcoin automatisk efter at computeren er tændt + Start Bitcoin automatisk, når der logges ind på systemet &Start Bitcoin on system login - &Start Bitcoin når systemet startes + Start Bitcoin, når systemet startes Reset all client options to default. - + Nulstil alle klientindstillinger til deres standard. &Reset Options - + Nulstil indstillinger &Network - + Netværk Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. - Åbn Bitcoinklient-porten på routeren automatisk. Dette virker kun når din router understøtter UPnP og UPnP er aktiveret. + Åbn Bitcoin-klientens port på routeren automatisk. Dette virker kun, når din router understøtter UPnP og UPnP er aktiveret. Map port using &UPnP - Konfigurer port vha. &UPnP + Konfigurer port vha. UPnP Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). - Opret forbindelse til Bitconnetværket via en SOCKS proxy (f.eks. ved tilslutning gennem Tor) + Opret forbindelse til Bitcoin-netværket via en SOCKS-proxy (f.eks. ved tilslutning gennem Tor) &Connect through SOCKS proxy: - &Forbind gennem SOCKS proxy: + Forbind gennem SOCKS-proxy: Proxy &IP: - Proxy-&IP: + Proxy-IP: @@ -891,7 +875,7 @@ &Port: - + Port: @@ -901,107 +885,107 @@ SOCKS &Version: - + SOCKS-version SOCKS version of the proxy (e.g. 5) - + SOCKS-version af proxyen (f.eks. 5) &Window - + Vindue Show only a tray icon after minimizing the window. - Vis kun et systembakkeikon efter minimering af vinduet. + Vis kun et statusikon efter minimering af vinduet. &Minimize to the tray instead of the taskbar - &Minimer til systembakken i stedet for proceslinjen + Minimer til statusfeltet i stedet for proceslinjen Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. - Minimer i stedet for at afslutte programmet når vinduet lukkes. Når denne indstilling er valgt vil programmet kun blive lukket når du har valgt Afslut i menuen. + Minimer i stedet for at afslutte programmet, når vinduet lukkes. Når denne indstilling er valgt, vil programmet kun blive lukket, når du har valgt Afslut i menuen. M&inimize on close - M&inimer ved lukning + Minimer ved lukning &Display - &Visning + Visning User Interface &language: - + Brugergrænsefladesprog: The user interface language can be set here. This setting will take effect after restarting Bitcoin. - + Brugergrænsefladesproget kan angives her. Denne indstilling træder først i kraft, når Bitcoin genstartes. &Unit to show amounts in: - &Enhed at vise beløb i: + Enhed at vise beløb i: Choose the default subdivision unit to show in the interface and when sending coins. - Vælg den standard underopdelingsenhed som skal vises i brugergrænsefladen, og når du sender coins. + Vælg den standard underopdelingsenhed, som skal vises i brugergrænsefladen og ved afsendelse af bitcoins. Whether to show Bitcoin addresses in the transaction list or not. - + Afgør hvorvidt Bitcoin-adresser skal vises i transaktionslisten eller ej. &Display addresses in transaction list - &Vis adresser i transaktionensliste + Vis adresser i transaktionsliste &OK - + OK &Cancel - + Annuller &Apply - + Anvend - + default - + standard Confirm options reset - + Bekræft nulstilling af indstillinger Some settings may require a client restart to take effect. - + Nogle indstillinger kan kræve, at klienten genstartes, før de træder i kraft. Do you want to proceed? - + Ønsker du at fortsætte? @@ -1013,12 +997,12 @@ This setting will take effect after restarting Bitcoin. - + Denne indstilling træder i kraft, efter Bitcoin genstartes. The supplied proxy address is invalid. - Ugyldig -proxy adresse + Ugyldig proxy-adresse @@ -1029,40 +1013,35 @@ Formular - - + + 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. - + Den viste information kan være forældet. Din tegnebog synkroniserer automatisk med Bitcoin-netværket, når en forbindelse etableres, men denne proces er ikke gennemført endnu. - + Balance: Saldo: - - Number of transactions: - Antal transaktioner: - - - + Unconfirmed: Ubekræftede: Wallet - tegnebog + Tegnebog - + Immature: - + Umodne: Mined balance that has not yet matured - + Udvunden saldo, som endnu ikke er modnet @@ -1070,25 +1049,28 @@ <b>Nyeste transaktioner</b> - + Your current balance Din nuværende saldo Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - Summen af ​​transaktioner, der endnu ikke er bekræftet, og endnu ikke er inkluderet i den nuværende saldo - - - - Total number of transactions in wallet - Samlede antal transaktioner i tegnebogen + Summen af transaktioner, der endnu ikke er bekræftet og endnu ikke er inkluderet i den nuværende saldo - + out of sync - + ikke synkroniseret + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Kan ikke starte bitcoin: click-to-pay-håndtering @@ -1096,12 +1078,12 @@ QR Code Dialog - + QR-kode-dialog Request Payment - + Anmod om betaling @@ -1111,7 +1093,7 @@ Label: - Etiket: + Mærkat: @@ -1121,32 +1103,32 @@ &Save As... - + Gem som... Error encoding URI into QR Code. - + Fejl ved kodning fra URI til QR-kode The entered amount is invalid, please check. - + Det indtastede beløb er ugyldig, tjek venligst. Resulting URI too long, try to reduce the text for label / message. - + Resulterende URI var for lang; prøv at forkorte teksten til mærkaten/beskeden. Save QR Code - + Gem QR-kode PNG Images (*.png) - + PNG-billeder (*.png) @@ -1154,7 +1136,7 @@ Client name - + Klientnavn @@ -1166,134 +1148,134 @@ - + N/A - + N/A Client version - + Klientversion &Information - + Information Using OpenSSL version - + Anvendt OpenSSL-version Startup time - + Opstartstid Network - + Netværk Number of connections - + Antal forbindelser On testnet - + Tilsluttet testnetværk Block chain - + Blokkæde Current number of blocks - + Nuværende antal blokke Estimated total blocks - + Estimeret antal blokke Last block time - + Tidsstempel for seneste blok &Open - + Åbn Command-line options - Command-line indstillinger + Kommandolinjetilvalg Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Vis Bitcoin-Qt-hjælpebeskeden for at få en liste over de tilgængelige Bitcoin-kommandolinjeindstillinger. &Show - + Vis &Console - + Konsol Build date - + Byggedato Bitcoin - Debug window - + Bitcoin - Fejlsøgningsvindue Bitcoin Core - + Bitcoin Core Debug log file - + Fejlsøgningslogfil Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - + Åbn Bitcoin-fejlsøgningslogfilen fra det nuværende datakatalog. Dette kan tage nogle få sekunder for en store logfiler. Clear console - Ryd + Ryd konsol Welcome to the Bitcoin RPC console. - + Velkommen til Bitcoin RPC-konsollen Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Brug op og ned-piletasterne til at navigere historikken og <b>Ctrl-L</b> til at rydde skærmen. Type <b>help</b> for an overview of available commands. - + Tast <b>help</b> for en oversigt over de tilgængelige kommandoer. @@ -1308,27 +1290,27 @@ Send Coins - Send Coins + Send bitcoins Send to multiple recipients at once - Send til flere modtagere på én gang + Send til flere modtagere på en gang Add &Recipient - &Tilføj modtager + Tilføj modtager Remove all transaction fields - + Fjern alle transaktionsfelter Clear &All - Ryd &alle + Ryd alle @@ -1338,7 +1320,7 @@ 123.456 BTC - 123.456 BTC + 123,456 BTC @@ -1348,7 +1330,7 @@ S&end - &Afsend + Afsend @@ -1358,12 +1340,12 @@ Confirm send coins - Bekræft afsendelse af coins + Bekræft afsendelse af bitcoins Are you sure you want to send %1? - Er du sikker på at du vil sende %1? + Er du sikker på, at du vil sende %1? @@ -1388,7 +1370,7 @@ The total exceeds your balance when the %1 transaction fee is included. - Totalen overstiger din saldo når %1 transaktionsgebyr er inkluderet. + Totalen overstiger din saldo, når %1 transaktionsgebyr er inkluderet. @@ -1398,12 +1380,12 @@ Error: Transaction creation failed! - + Fejl: Oprettelse af transaktionen mislykkedes! Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Fejl: Transaktionen blev afvist. Dette kan ske hvis nogle af dine coins i din tegnebog allerede var brugt, som hvis du brugte en kopi af wallet.dat og dine coins er blevet brugt i kopien, men ikke er markeret som brugt her. + Fejl: Transaktionen blev afvist. Dette kan ske, hvis nogle af dine bitcoins i din tegnebog allerede er brugt, som hvis du brugte en kopi af wallet.dat og dine bitcoins er blevet brugt i kopien, men ikke er markeret som brugt her. @@ -1416,28 +1398,28 @@ A&mount: - B&eløb: + Beløb: Pay &To: - Betal &Til: + Betal til: The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Bitcoin-adressen som betalingen skal sendes til (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Enter a label for this address to add it to your address book - Indtast en etiket for denne adresse for at føje den til din adressebog + Indtast en mærkat for denne adresse for at føje den til din adressebog &Label: - &Etiket: + Mærkat: @@ -1467,7 +1449,7 @@ Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Indtast en Bitcoin-adresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1475,22 +1457,22 @@ Signatures - Sign / Verify a Message - + Underskrifter - Underskriv/efterprøv en besked &Sign Message - + Underskriv besked You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - + Du kan underskrive beskeder med dine Bitcoin-adresser for at bevise, at de tilhører dig. Pas på ikke at underskrive noget vagt, da phisingangreb kan narre dig til at overdrage din identitet. Underskriv kun fuldt detaljerede udsagn, du er enig i. The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Bitcoin-adressen som beskeden skal underskrives med (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1517,90 +1499,90 @@ Enter the message you want to sign here - + Indtast beskeden, du ønsker at underskrive Signature - + Underskrift Copy the current signature to the system clipboard - + Kopier den nuværende underskrift til systemets udklipsholder Sign the message to prove you own this Bitcoin address - + Underskriv denne besked for at bevise, at Bitcoin-adressen tilhører dig Sign &Message - + Underskriv besked Reset all sign message fields - + Nulstil alle underskriv besked-indtastningsfelter Clear &All - Ryd &alle + Ryd alle &Verify Message - + Efterprøv besked Enter the signing 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. - + Indtast den underskrevne adresse, beskeden (inkluder linjeskift, mellemrum mv. nøjagtigt, som de fremgår) og underskriften for at efterprøve beskeden. Vær forsigtig med ikke at lægge mere i underskriften end besked selv, så du undgår at blive narret af et man-in-the-middle-angreb. The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Bitcoin-adressen som beskeden er underskrevet med (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Verify the message to ensure it was signed with the specified Bitcoin address - + Efterprøv beskeden for at sikre, at den er underskrevet med den angivne Bitcoin-adresse Verify &Message - + Efterprøv besked Reset all verify message fields - + Nulstil alle efterprøv besked-indtastningsfelter Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Indtast en Bitcoin-adresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Click "Sign Message" to generate signature - + Klik "Underskriv besked" for at generere underskriften Enter Bitcoin signature - + Indtast Bitcoin-underskriften The entered address is invalid. - + Den indtastede adresse er ugyldig. @@ -1608,72 +1590,85 @@ Please check the address and try again. - + Tjek venligst adressen, og forsøg igen. The entered address does not refer to a key. - + Den indtastede adresse henviser ikke til en nøgle. Wallet unlock was cancelled. - + Tegnebogsoplåsning annulleret. Private key for the entered address is not available. - + Den private nøgle for den indtastede adresse er ikke tilgængelig. Message signing failed. - + Underskrivning af besked mislykkedes. Message signed. - + Besked underskrevet. The signature could not be decoded. - + Underskriften kunne ikke afkodes. Please check the signature and try again. - + Tjek venligst underskriften, og forsøg igen. The signature did not match the message digest. - + Underskriften matcher ikke beskedens indhold. Message verification failed. - + Efterprøvelse af besked mislykkedes. Message verified. - + Besked efterprøvet. + + + + SplashScreen + + + The Bitcoin developers + Bitcoin-udviklerne + + + + [testnet] + [testnet] TransactionDesc - + Open until %1 Åben indtil %1 %1/offline - + %1/offline @@ -1693,7 +1688,7 @@ , broadcast through %n node(s) - + , transmitteret igennem %n knude(r), transmitteret igennem %n knude(r) @@ -1703,7 +1698,7 @@ Source - + Kilde @@ -1727,12 +1722,12 @@ own address - + egen adresse label - etiket + mærkat @@ -1746,7 +1741,7 @@ matures in %n more block(s) - + modner efter yderligere %n blok(ke)modner efter yderligere %n blok(ke) @@ -1784,27 +1779,27 @@ Transaction ID - + Transaktionens ID Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - Genererede coins skal vente 120 blokke, før de kan blive brugt. Da du genererede denne blok blev det transmitteret til netværket, for at blive føjet til blokkæden. Hvis det mislykkes at komme ind i kæden, vil den skifte til "ikke godkendt", og ikke blive kunne bruges. Dette kan lejlighedsvis ske, hvis en anden node genererer en blok inden for få sekunder af din. + Genererede bitcoins skal vente 120 blokke, før de kan blive brugt. Da du genererede denne blok, blev den transmitteret til netværket for at blive føjet til blokkæden. Hvis det mislykkes at komme ind i kæden, vil den skifte til "ikke godkendt" og ikke blive kunne bruges. Dette kan lejlighedsvis ske, hvis en anden knude genererer en blok inden for få sekunder af din. Debug information - + Fejlsøgningsinformation Transaction - + Transaktion Inputs - + Input @@ -1814,12 +1809,12 @@ true - + sand false - + falsk @@ -1829,7 +1824,7 @@ Open for %n more block(s) - + Åben %n blok yderligereÅben %n blokke yderligere @@ -1853,7 +1848,7 @@ TransactionTableModel - + Date Dato @@ -1875,7 +1870,7 @@ Open for %n more block(s) - + Åben %n blok(ke) yderligereÅben %n blok(ke) yderligere @@ -1900,12 +1895,12 @@ Mined balance will be available when it matures in %n more block(s) - + Udvunden saldo, som vil være tilgængelig, når den modner efter yderligere %n blok(ke)Udvunden saldo, som vil være tilgængelig, når den modner efter yderligere %n blok(ke) This block was not received by any other nodes and will probably not be accepted! - Denne blok blev ikke modtaget af nogen andre noder, og vil formentlig ikke blive accepteret! + Denne blok blev ikke modtaget af nogen andre knuder og vil formentlig ikke blive accepteret! @@ -1935,7 +1930,7 @@ Mined - Minerede + Udvundne @@ -1945,17 +1940,17 @@ Transaction status. Hover over this field to show number of confirmations. - Transactionsstatus. Hold musen over dette felt for at vise antallet af bekræftelser. + Transaktionsstatus. Hold musen over dette felt for at vise antallet af bekræftelser. Date and time that the transaction was received. - Dato og tid for at transaktionen blev modtaget. + Dato og klokkeslæt for modtagelse af transaktionen. Type of transaction. - Type af transaktion. + Transaktionstype. @@ -1971,7 +1966,7 @@ TransactionView - + All Alle @@ -2024,7 +2019,7 @@ Mined - Minerede + Udvundne @@ -2034,12 +2029,12 @@ Enter address or label to search - Indtast adresse eller etiket for at søge + Indtast adresse eller mærkat for at søge Min amount - Min. beløb + Minimumsbeløb @@ -2049,27 +2044,32 @@ Copy label - Kopier etiket + Kopier mærkat Copy amount - + Kopier beløb + + + + Copy transaction ID + Kopier transaktionens ID Edit label - Rediger etiket + Rediger mærkat Show transaction details - + Vis transaktionsdetaljer - + Export Transaction Data - Eksportér Transaktionsdata + Eksporter transaktionsdata @@ -2094,7 +2094,7 @@ Label - Etiket + Mærkat @@ -2122,7 +2122,7 @@ Kunne ikke skrive til filen %1. - + Range: Interval: @@ -2133,196 +2133,237 @@ + WalletModel + + + Send Coins + Send bitcoins + + + + WalletView + + + &Export + Eksporter + + + + Export the data in the current tab to a file + Eksportér den aktuelle visning til en fil + + + + Backup Wallet + Sikkerhedskopier tegnebog + + + + Wallet Data (*.dat) + Tegnebogsdata (*.dat) + + + + Backup Failed + Foretagelse af sikkerhedskopi fejlede + + + + There was an error trying to save the wallet data to the new location. + Der opstod en fejl i forbindelse med at gemme tegnebogsdata til det nye sted + + + + Backup Successful + Sikkerhedskopieret problemfri + + + + The wallet data was successfully saved to the new location. + Tegnebogsdata blev problemfrit gemt til det nye sted. + + + bitcoin-core - + Bitcoin version - Bitcoinversion + Bitcoin-version - + Usage: Anvendelse: - + Send command to -server or bitcoind - Send kommando til -server eller bitcoind - + Send kommando til -server eller bitcoind - + List commands - Liste over kommandoer - + Liste over kommandoer - + Get help for a command - Få hjælp til en kommando - + Få hjælp til en kommando - + Options: - Indstillinger: - + Indstillinger: - + Specify configuration file (default: bitcoin.conf) - Angiv konfigurationsfil (standard: bitcoin.conf) - + Angiv konfigurationsfil (standard: bitcoin.conf) Specify pid file (default: bitcoind.pid) - Angiv pid-fil (default: bitcoind.pid) - - - - - Generate coins - Generér coins - - - - - Don't generate coins - Generér ikke coins - + Angiv pid-fil (default: bitcoind.pid) - + Specify data directory - Angiv databibliotek - + Angiv datakatalog - + Set database cache size in megabytes (default: 25) - + Angiv databasecachestørrelse i megabytes (standard: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - Lyt til forbindelser på <port> (standard: 8333 or testnet: 18333) + Lyt til forbindelser på <port> (standard: 8333 eller testnetværk: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Oprethold højest <n> forbindelser til andre i netværket (standard: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Forbind til en knude for at modtage adresse, og afbryd - + Specify your own public address - + Angiv din egen offentlige adresse - + Threshold for disconnecting misbehaving peers (default: 100) - + Grænse for afbrydelse til dårlige forbindelser (standard: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + Antal sekunder dårlige forbindelser skal vente før reetablering (standard: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Der opstod en fejl ved angivelse af RPC-porten %u til at lytte på IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - Lyt til JSON-RPC-forbindelser på <port> (standard: 8332 or testnet: 18332) + Lyt til JSON-RPC-forbindelser på <port> (standard: 8332 eller testnetværk: 18332) - + Accept command line and JSON-RPC commands - Accepter kommandolinje- og JSON-RPC-kommandoer - + Accepter kommandolinje- og JSON-RPC-kommandoer - + Run in the background as a daemon and accept commands - Kør i baggrunden som en service, og acceptér kommandoer - + Kør i baggrunden som en service, og accepter kommandoer - + Use the test network - Brug test-netværket - + Brug testnetværket - + Accept connections from outside (default: 1 if no -proxy or -connect) - Acceptér forbindelser udefra (default: 1 if no -proxy or -connect) + Accepter forbindelser udefra (standard: 1 hvis hverken -proxy eller -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + %s, du skal angive en RPC-adgangskode i konfigurationsfilen: +%s +Det anbefales, at du bruger nedenstående, tilfældige adgangskode: +rpcuser=bitcoinrpc +rpcpassword=%s +(du behøver ikke huske denne adgangskode) +Brugernavnet og adgangskode MÅ IKKE være det samme. +Hvis filen ikke eksisterer, opret den og giv ingen andre end ejeren læserettighed. +Det anbefales også at angive alertnotify, så du påmindes om problemer; +f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + Der opstod en fejl ved angivelse af RPC-porten %u til at lytte på IPv6, falder tilbage til IPv4: %s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Tildel til den givne adresse og lyt altid på den. Brug [vært]:port-notation for IPv6 Cannot obtain a lock on data directory %s. Bitcoin is probably already running. - + Kan ikke opnå lås på datakatalog %s. Bitcoin er sandsynligvis allerede startet. - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Fejl: Transaktionen blev afvist. Dette kan ske, hvis nogle af dine bitcoins i din tegnebog allerede er brugt, som hvis du brugte en kopi af wallet.dat og dine bitcoins er blevet brugt i kopien, men ikke er markeret som brugt her. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Fejl: Denne transaktion kræver et transaktionsgebyr på minimum %s pga. dens størrelse, kompleksitet eller anvendelse af nyligt modtagne bitcoins! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Udfør kommando, når en relevant advarsel modtages (%s i kommandoen erstattes med beskeden) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Udfør kommando, når en transaktion i tegnebogen ændres (%s i kommandoen erstattes med TxID) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Angiv maksimumstørrelse for høj prioritet/lavt gebyr-transaktioner i bytes (standard: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + Dette er en foreløbig testudgivelse - brug på eget ansvar - brug ikke til udvinding eller handelsprogrammer @@ -2332,172 +2373,297 @@ Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. - + Advarsel: Viste transaktioner kan være ukorrekte! Du eller andre knuder kan have behov for at opgradere. Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. - Advarsel: Undersøg venligst at din computers dato og klokkeslet er korrekt indstillet! Hvis der er fejl i disse vil Bitcoin ikke fungere korrekt. + Advarsel: Undersøg venligst, at din computers dato og klokkeslæt er korrekt indstillet! Hvis der er fejl i disse, vil Bitcoin ikke fungere korrekt. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Advarsel: fejl under læsning af wallet.dat! Alle nøgler blev læst korrekt, men transaktionsdata eller adressebogsposter kan mangle eller være forkerte. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Advarsel: wallet.dat ødelagt, data reddet! Oprindelig wallet.net gemt som wallet.{timestamp}.bak i %s; hvis din saldo eller dine transaktioner er forkert, bør du genskabe fra en sikkerhedskopi. Attempt to recover private keys from a corrupt wallet.dat - + Forsøg at genskabe private nøgler fra ødelagt wallet.dat Block creation options: - + Blokoprettelsestilvalg: - + Connect only to the specified node(s) - Tilslut kun til den angivne node + Tilslut kun til de(n) angivne knude(r) + Corrupted block database detected + Ødelagt blokdatabase opdaget + + + Discover own IP address (default: 1 when listening and no -externalip) - + Find egen IP-adresse (standard: 1 når lytter og ingen -externalip) - + + Do you want to rebuild the block database now? + Ønsker du at genbygge blokdatabasen nu? + + + + Error initializing block database + Klargøring af blokdatabase mislykkedes + + + + Error initializing wallet database environment %s! + Klargøring af tegnebogsdatabasemiljøet %s mislykkedes! + + + Error loading block database - + Indlæsning af blokdatabase mislykkedes - + + Error opening block database + Åbning af blokdatabase mislykkedes + + + Error: Disk space is low! - + Fejl: Mangel på ledig diskplads! - Error: Transaction creation failed! - + Error: Wallet locked, unable to create transaction! + Fejl: Tegnebog låst, kan ikke oprette transaktion! - Error: Wallet locked, unable to create transaction! - + Error: system error: + Fejl: systemfejl: - + Failed to listen on any port. Use -listen=0 if you want this. - + Lytning på enhver port mislykkedes. Brug -listen=0, hvis du ønsker dette. + + + + Failed to read block info + Læsning af blokinformation mislykkedes + + + + Failed to read block + Læsning af blok mislykkedes + + + + Failed to sync block index + Synkronisering af blokindeks mislykkedes + + + + Failed to write block index + Skrivning af blokindeks mislykkedes + + + + Failed to write block info + Skrivning af blokinformation mislykkedes + + + + Failed to write block + Skrivning af blok mislykkedes + + + + Failed to write file info + Skriving af filinformation mislykkedes + + + + Failed to write to coin database + Skrivning af bitcoin-database mislykkedes + + + + Failed to write transaction index + Skrivning af transaktionsindeks mislykkedes + + + + Failed to write undo data + Skrivning af genskabelsesdata mislykkedes Find peers using DNS lookup (default: 1 unless -connect) - + Find ligeværdige ved DNS-opslag (standard: 1 hvis ikke -connect) - - How thorough the block verification is (0-4, default: 3) - + + Generate coins (default: 0) + Generer bitcoins (standard: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Antal blokke som tjekkes ved opstart (0=alle, standard: 288) - Importing blocks from block database... - + How thorough the block verification is (0-4, default: 3) + Grundighed af efterprøvning af blokke (0-4, standard: 3) + + + + Not enough file descriptors available. + For få tilgængelige fildeskriptorer. + + + + Rebuild block chain index from current blk000??.dat files + Genbyg blokkædeindeks fra nuværende blk000??.dat filer + + + + Set the number of threads to service RPC calls (default: 4) + Angiv antallet af tråde til at håndtere RPC-kald (standard: 4) + + + + Verifying blocks... + Efterprøver blokke... + Verifying wallet... + Efterprøver tegnebog... + + + Imports blocks from external blk000??.dat file - + Importerer blokke fra ekstern blk000??.dat fil - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Angiv nummeret af skriptefterprøvningstråde (op til 16, 0 = automatisk, <0 = efterlad det antal kerner tilgængelige, standard: 0) + + + Information - + Information Invalid -tor address: '%s' - Ugyldig -tor address: '%s' + Ugyldig -tor adresse: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Ugyldigt beløb til -minrelaytxfee=<beløb>:'%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Ugyldigt beløb til -mintxfee=<beløb>:'%s' + + + + Maintain a full transaction index (default: 0) + Vedligehold et komplet transaktionsindeks (standard: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) - + Maksimum for modtagelsesbuffer pr. forbindelse, <n>*1000 bytes (standard: 5000) Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) - + Maksimum for afsendelsesbuffer pr. forbindelse, <n>*1000 bytes (standard: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) - + Accepter kun blokkæde, som matcher indbyggede kontrolposter (standard: 1) Only connect to nodes in network <net> (IPv4, IPv6 or Tor) - + Tilslut kun til knuder i netværk <net> (IPv4, IPv6 eller Tor) Output extra debugging information. Implies all other -debug* options - + Skriv ekstra fejlsøgningsinformation. Indebærer alle andre -debug* tilvalg Output extra network debugging information - + Skriv ekstra netværksfejlsøgningsinformation Prepend debug output with timestamp - + Tilføj fejlsøgningsoutput med tidsstempel - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) - SSL-indstillinger: (se Bitcoin Wiki for SSL opsætningsinstruktioner) + SSL-indstillinger: (se Bitcoin Wiki for SSL-opsætningsinstruktioner) Select the version of socks proxy to use (4-5, default: 5) - + Angiv version af SOCKS-proxyen (4-5, standard: 5) Send trace/debug info to console instead of debug.log file - + Send sporings-/fejlsøgningsinformation til konsollen i stedet for debug.log filen Send trace/debug info to debugger - + Send sporings-/fejlsøgningsinformation til fejlsøgningprogrammet Set maximum block size in bytes (default: 250000) - + Angiv maksimumblokstørrelse i bytes (standard: 250000) Set minimum block size in bytes (default: 0) - + Angiv minimumsblokstørrelse i bytes (standard: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) - + Formindsk debug.log filen ved klientopstart (standard: 1 hvis ikke -debug) + + + + Signing transaction failed + Underskrift af transaktion mislykkedes @@ -2505,138 +2671,147 @@ Angiv tilslutningstimeout i millisekunder (standard: 5000) - + + System error: + Systemfejl: + + + + Transaction amount too small + Transaktionsbeløb er for lavt + + + + Transaction amounts must be positive + Transaktionsbeløb skal være positive + + + + Transaction too large + Transaktionen er for stor + + + Use UPnP to map the listening port (default: 0) - Forsøg at bruge UPnP til at kofnigurere den lyttende port (standard: 0) + Forsøg at bruge UPnP til at konfigurere den lyttende port (standard: 0) Use UPnP to map the listening port (default: 1 when listening) - Forsøg at bruge UPnP til at kofnigurere den lyttende port (standard: 1 when listening) + Forsøg at bruge UPnP til at konfigurere den lyttende port (standard: 1 når lytter) Use proxy to reach tor hidden services (default: same as -proxy) - + Brug proxy til at tilgå Tor Hidden Services (standard: som -proxy) Username for JSON-RPC connections - Brugernavn til JSON-RPC-forbindelser - + Brugernavn til JSON-RPC-forbindelser Warning - + Advarsel Warning: This version is obsolete, upgrade required! - + Advarsel: Denne version er forældet, opgradering påkrævet! + + + + You need to rebuild the databases using -reindex to change -txindex + Du skal genbygge databaserne med -reindex for at ændre -txindex wallet.dat corrupt, salvage failed - + wallet.dat ødelagt, redning af data mislykkedes - + Password for JSON-RPC connections - Password til JSON-RPC-forbindelser - + Adgangskode til JSON-RPC-forbindelser - + Allow JSON-RPC connections from specified IP address - Tillad JSON-RPC-forbindelser fra bestemt IP-adresse - + Tillad JSON-RPC-forbindelser fra bestemt IP-adresse - + Send commands to node running on <ip> (default: 127.0.0.1) - Send kommandoer til node, der kører på <ip> (standard: 127.0.0.1) - + Send kommandoer til knude, der kører på <ip> (standard: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Udfør kommando, når den bedste blok ændres (%s i kommandoen erstattes med blokhash) - + Upgrade wallet to latest format - + Opgrader tegnebog til seneste format - + Set key pool size to <n> (default: 100) - Sæt nøglepoolstørrelse til <n> (standard: 100) - + Angiv nøglepoolstørrelse til <n> (standard: 100) Rescan the block chain for missing wallet transactions - Gennemsøg blokkæden for manglende tegnebogstransaktioner - + Gennemsøg blokkæden for manglende tegnebogstransaktioner - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - Brug OpenSSL (https) for JSON-RPC-forbindelser - + Brug OpenSSL (https) for JSON-RPC-forbindelser - + Server certificate file (default: server.cert) - Servercertifikat-fil (standard: server.cert) - + Servercertifikat-fil (standard: server.cert) Server private key (default: server.pem) - Server private nøgle (standard: server.pem) - + Serverens private nøgle (standard: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - Acceptabele ciphers (standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + Acceptable ciphers (standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - Denne hjælpebesked - + Denne hjælpebesked - + Unable to bind to %s on this computer (bind returned error %d, %s) - Kunne ikke binde sig til %s på denne computer (bind returned error %d, %s) + Kunne ikke tildele %s på denne computer (bind returnerede fejl %d, %s) - + Connect through socks proxy - Tilslut via SOCKS proxy + Tilslut via SOCKS-proxy - + Allow DNS lookups for -addnode, -seednode and -connect - Tillad DNS-opslag for addnode og connect + Tillad DNS-opslag for -addnode, -seednode og -connect - + Loading addresses... Indlæser adresser... - + Error loading wallet.dat: Wallet corrupted Fejl ved indlæsning af wallet.dat: Tegnebog ødelagt @@ -2646,94 +2821,74 @@ Fejl ved indlæsning af wallet.dat: Tegnebog kræver en nyere version af Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Det var nødvendigt at genskrive tegnebogen: genstart Bitcoin for at gennemføre - + Error loading wallet.dat Fejl ved indlæsning af wallet.dat - + Invalid -proxy address: '%s' Ugyldig -proxy adresse: '%s' - + Unknown network specified in -onlynet: '%s' - + Ukendt netværk anført i -onlynet: '%s' Unknown -socks proxy version requested: %i - + Ukendt -socks proxy-version: %i - + Cannot resolve -bind address: '%s' - + Kan ikke finde -bind adressen: '%s' Cannot resolve -externalip address: '%s' - + Kan ikke finde -externalip adressen: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Ugyldigt beløb for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount Ugyldigt beløb - + Insufficient funds - Du har ikke penge nok + Manglende dækning - + Loading block index... - Indlæser blok-indeks... + Indlæser blokindeks... - + Add a node to connect to and attempt to keep the connection open - Tilføj en node til at forbinde til and attempt to keep the connection open + Tilføj en knude til at forbinde til og forsøg at holde forbindelsen åben Unable to bind to %s on this computer. Bitcoin is probably already running. - Kunne ikke binde sig til %s på denne computer. Bitcoin kører sikkert allerede. + Kunne ikke tildele %s på denne computer. Bitcoin kører sikkert allerede. - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send - Gebyr pr. kB, som skal tilføjes til transaktioner du sender + Gebyr pr. kB, som skal tilføjes til transaktioner, du sender @@ -2741,46 +2896,43 @@ Indlæser tegnebog... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + Kan ikke nedgradere tegnebog Cannot write default address - + Kan ikke skrive standardadresse - + Rescanning... Genindlæser... - + Done loading Indlæsning gennemført - + To use the %s option - + For at bruge %s mulighed - + Error - + Fejl - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. - + Du skal angive rpcpassword=<password> i konfigurationsfilen: +%s +Hvis filen ikke eksisterer, opret den og giv ingen andre end ejeren læserettighed. \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_de.ts bitcoin-0.8.5/src/qt/locale/bitcoin_de.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_de.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_de.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b>-Version - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Die Bitcoinentwickler - - - + This is experimental software. @@ -32,6 +27,16 @@ Dieses Produkt enthält Software, die vom OpenSSL-Projekt zur Verwendung im OpenSSL-Toolkit (http://www.openssl.org/) entwickelt wurde, sowie kryptographische Software geschrieben von Eric Young (eay@cryptsoft.com) und UPnP-Software geschrieben von Thomas Bernard. + + + Copyright + Copyright + + + + The Bitcoin developers + Die Bitcoinentwickler + AddressBookPage @@ -41,7 +46,7 @@ Adressbuch - + Double-click to edit address or label Doppelklicken, um die Adresse oder die Bezeichnung zu bearbeiten @@ -61,12 +66,12 @@ &Neue Adresse - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Dies sind Ihre Bitcoin-Adressen zum Empfangen von Zahlungen. Es steht Ihnen frei, jedem Absender eine Andere mitzuteilen, um einen besseren Überblick über eingehende Zahlungen zu erhalten. - + &Copy Address Adresse &kopieren @@ -91,7 +96,17 @@ Die ausgewählte Adresse aus der Liste entfernen. - + + Export the data in the current tab to a file + Daten der aktuellen Ansicht in eine Datei exportieren + + + + &Export + E&xportieren + + + Verify a message to ensure it was signed with a specified Bitcoin address Eine Nachricht verifizieren, um sicherzustellen, dass diese mit einer angegebenen Bitcoin-Adresse signiert wurde @@ -106,17 +121,27 @@ &Löschen - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Dies sind Ihre Bitcoin-Adressen zum Tätigen von Überweisungen. Bitte prüfen Sie den Betrag und die Empfangsadresse, bevor Sie Bitcoins überweisen. + + + Copy &Label &Bezeichnung kopieren - + &Edit &Editieren - + + Send &Coins + Bitcoins &überweisen + + + Export Address Book Data Adressbuch exportieren @@ -139,7 +164,7 @@ AddressTableModel - + Label Bezeichnung @@ -189,7 +214,7 @@ This operation needs your wallet passphrase to unlock the wallet. - Dieser Vorgang benötigt Ihre Passphrase um die Brieftasche zu entsperren. + Dieser Vorgang benötigt Ihre Passphrase, um die Brieftasche zu entsperren. @@ -199,7 +224,7 @@ This operation needs your wallet passphrase to decrypt the wallet. - Dieser Vorgang benötigt Ihre Passphrase um die Brieftasche zu entschlüsseln. + Dieser Vorgang benötigt Ihre Passphrase, um die Brieftasche zu entschlüsseln. @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Nachricht s&ignieren... - + Synchronizing with network... Synchronisiere mit Netzwerk... - + &Overview &Übersicht @@ -328,32 +353,17 @@ Transaktionsverlauf durchsehen - - &Address Book - &Adressbuch - - - + Edit the list of stored addresses and labels Liste der gespeicherten Zahlungsadressen und Bezeichnungen bearbeiten - - &Receive coins - Bitcoins &empfangen - - - + Show the list of addresses for receiving payments Liste der Empfangsadressen anzeigen - - &Send coins - Bitcoins &überweisen - - - + E&xit &Beenden @@ -380,10 +390,10 @@ &Options... - &Erweiterte Einstellungen... + &Konfiguration... - + &Encrypt Wallet... Brieftasche &verschlüsseln... @@ -398,7 +408,7 @@ Passphrase &ändern... - + Importing blocks from disk... Importiere Blöcke von Laufwerk... @@ -407,33 +417,18 @@ Reindexing blocks on disk... Reindiziere Blöcke auf Laufwerk... - - - ~%n block(s) remaining - ~%n Block verbleibend~%n Blöcke verbleibend - - - - &Export... - &Exportieren... - - + Send coins to a Bitcoin address Bitcoins an eine Bitcoin-Adresse überweisen Modify configuration options for Bitcoin - Erweiterte Bitcoin-Einstellungen ändern + Die Konfiguration des Clients bearbeiten - - Export the data in the current tab to a file - Daten der aktuellen Ansicht in eine Datei exportieren - - - + Backup wallet to another location Eine Sicherungskopie der Brieftasche erstellen und abspeichern @@ -443,7 +438,7 @@ Ändert die Passphrase, die für die Verschlüsselung der Brieftasche benutzt wird - + &Debug window &Debugfenster @@ -453,23 +448,38 @@ Debugging- und Diagnosekonsole öffnen - + &Verify message... Nachricht &verifizieren... - - + + Bitcoin Bitcoin - + Wallet Brieftasche - + + &Send + Überweisen + + + + &Receive + &Empfangen + + + + &Addresses + &Adressen + + + &About Bitcoin &Über Bitcoin @@ -484,7 +494,7 @@ Das Hauptfenster anzeigen oder verstecken - + Encrypt the private keys that belong to your wallet Verschlüsselt die zu Ihrer Brieftasche gehörenden privaten Schlüssel @@ -499,12 +509,12 @@ Nachrichten verifizieren, um sicherzustellen, dass diese mit den angegebenen Bitcoin-Adressen signiert wurden - + &File &Datei - + &Settings &Einstellungen @@ -519,38 +529,68 @@ Registerkartenleiste - - Actions toolbar - Aktionssymbolleiste - - - + [testnet] [Testnetz] - + Bitcoin client Bitcoin-Client - + %n active connection(s) to Bitcoin network %n aktive Verbindung zum Bitcoin-Netzwerk%n aktive Verbindungen zum Bitcoin-Netzwerk - - Processed %1 of %2 blocks of transaction history (%3% done). - %1 von %2 Blöcken des Transaktionsverlaufs verarbeitet (%3% fertig). + + No block source available... + Keine Blockquelle verfügbar... - + + Processed %1 of %2 (estimated) blocks of transaction history. + %1 von (geschätzten) %2 Blöcken des Transaktionsverlaufs verarbeitet. + + + Processed %1 blocks of transaction history. %1 Blöcke des Transaktionsverlaufs verarbeitet. + + + %n hour(s) + %n Stunde%n Stunden + + + + %n day(s) + %n Tag%n Tage + + + + %n week(s) + %n Woche%n Wochen + - + + %1 behind + %1 im Rückstand + + + + Last received block was generated %1 ago. + Der letzte empfangene Block ist %1 alt. + + + + Transactions after this will not yet be visible. + Transaktionen hiernach werden noch nicht angezeigt. + + + Error Fehler @@ -565,62 +605,27 @@ Hinweis - + 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? Die Transaktion übersteigt das Größenlimit. Sie können sie trotzdem senden, wenn Sie eine zusätzliche Transaktionsgebühr in Höhe von %1 zahlen. Diese wird an die Knoten verteilt, die Ihre Transaktion bearbeiten und unterstützt damit das Bitcoin-Netzwerk. Möchten Sie die Gebühr bezahlen? - - Backup Successful - Sicherung erfolgreich - - - - The wallet data was successfully saved to the new location. - Speichern der Brieftaschendaten an die neue Position war erfolgreich. - - - - %n second(s) ago - vor %n Sekundevor %n Sekunden - - - - %n minute(s) ago - vor %n Minutevor %n Minuten - - - - %n hour(s) ago - vor %n Stundevor %n Stunden - - - - %n day(s) ago - vor %n Tagvor %n Tagen - - - + Up to date Auf aktuellem Stand - + Catching up... Hole auf... - - Last received block was generated %1. - Der letzte empfangene Block wurde %1 generiert. - - - + Confirm transaction fee Transaktionsgebühr bestätigen - + Sent transaction Gesendete Transaktion @@ -642,14 +647,14 @@ Adresse: %4 - - + + URI handling URI Verarbeitung - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI kann nicht analysiert werden! Dies kann durch eine ungültige Bitcoin-Adresse oder fehlerhafte URI-Parameter verursacht werden. @@ -664,27 +669,7 @@ Brieftasche ist <b>verschlüsselt</b> und aktuell <b>gesperrt</b> - - Backup Wallet - Brieftasche sichern - - - - Wallet Data (*.dat) - Brieftaschendaten (*.dat) - - - - Backup Failed - Sicherung fehlgeschlagen - - - - There was an error trying to save the wallet data to the new location. - Beim Speichern der Brieftaschendaten an die neue Position ist ein Fehler aufgetreten. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Ein schwerer Fehler ist aufgetreten. Bitcoin kann nicht stabil weiter ausgeführt werden und wird beendet. @@ -692,7 +677,7 @@ ClientModel - + Network Alert Netzwerkalarm @@ -725,7 +710,7 @@ Die Adresse des Adressbucheintrags. Diese kann nur für Zahlungsadressen bearbeitet werden. - + New receiving address Neue Empfangsadresse @@ -745,17 +730,17 @@ Zahlungsadresse bearbeiten - + The entered address "%1" is already in the address book. Die eingegebene Adresse "%1" befindet sich bereits im Adressbuch. - + The entered address "%1" is not a valid Bitcoin address. Die eingegebene Adresse "%1" ist keine gültige Bitcoin-Adresse. - + Could not unlock wallet. Die Brieftasche konnte nicht entsperrt werden. @@ -768,7 +753,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -823,8 +808,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Optionale Transaktionsgebühr pro kB, die sicherstellt, dass Ihre Transaktionen schnell bearbeitet werden. Die meisten Transaktionen sind 1 kB groß. Eine Gebühr von 0.01 BTC wird empfohlen. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Optionale Transaktionsgebühr pro KB, die sicherstellt, dass Ihre Transaktionen schnell bearbeitet werden. Die meisten Transaktionen sind 1 kB groß. @@ -844,12 +829,12 @@ Reset all client options to default. - Setzt alle Einstellungen des Clients auf Standardwerte. + Setzt die Clientkonfiguration auf Standardwerte zurück. &Reset Options - Einstellungen &zurücksetzen + Konfiguration &zurücksetzen @@ -982,19 +967,19 @@ &Übernehmen - + default Standard Confirm options reset - Zurücksetzen der Einstellungen bestätigen + Zurücksetzen der Konfiguration bestätigen Some settings may require a client restart to take effect. - Einige Einstellung benötigen möglicherweise einen Clientneustart, um aktiv zu werden. + Einige Einstellungen benötigen möglicherweise einen Clientneustart, um aktiv zu werden. @@ -1027,23 +1012,18 @@ Formular - - + + 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. Die angezeigten Informationen sind möglicherweise nicht mehr aktuell. Ihre Brieftasche wird automatisch synchronisiert, nachdem eine Verbindung zum Bitcoin-Netzwerk hergestellt wurde. Dieser Prozess ist jedoch derzeit noch nicht abgeschlossen. - + Balance: Kontostand: - - Number of transactions: - Anzahl der Transaktionen: - - - + Unconfirmed: Unbestätigt: @@ -1053,7 +1033,7 @@ Brieftasche - + Immature: Unreif: @@ -1068,7 +1048,7 @@ <b>Letzte Transaktionen</b> - + Your current balance Ihr aktueller Kontostand @@ -1078,18 +1058,21 @@ Betrag aus unbestätigten Transaktionen, der noch nicht im aktuellen Kontostand enthalten ist - - Total number of transactions in wallet - Anzahl aller Transaktionen in der Brieftasche - - - + out of sync nicht synchron + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + "bitcoin: Klicken-zum-Bezahlen"-Handler konnte nicht gestartet werden + + + QRCodeDialog @@ -1152,7 +1135,7 @@ Client name - Client Name + Clientname @@ -1164,14 +1147,14 @@ - + N/A n.v. Client version - Client Version + Clientversion @@ -1428,7 +1411,7 @@ - + Enter a label for this address to add it to your address book Adressbezeichnung eingeben (diese wird zusammen mit der Adresse dem Adressbuch hinzugefügt) @@ -1662,9 +1645,22 @@ + SplashScreen + + + The Bitcoin developers + Die Bitcoinentwickler + + + + [testnet] + [Testnetz] + + + TransactionDesc - + Open until %1 Offen bis %1 @@ -1851,7 +1847,7 @@ TransactionTableModel - + Date Datum @@ -1969,7 +1965,7 @@ TransactionView - + All Alle @@ -2056,6 +2052,11 @@ + Copy transaction ID + Transaktions-ID kopieren + + + Edit label Bezeichnung bearbeiten @@ -2065,7 +2066,7 @@ Transaktionsdetails anzeigen - + Export Transaction Data Transaktionen exportieren @@ -2120,7 +2121,7 @@ Konnte nicht in Datei %1 schreiben. - + Range: Zeitraum: @@ -2131,39 +2132,90 @@ + WalletModel + + + Send Coins + Bitcoins überweisen + + + + WalletView + + + &Export + E&xportieren + + + + Export the data in the current tab to a file + Daten der aktuellen Ansicht in eine Datei exportieren + + + + Backup Wallet + Brieftasche sichern + + + + Wallet Data (*.dat) + Brieftaschendaten (*.dat) + + + + Backup Failed + Sicherung fehlgeschlagen + + + + There was an error trying to save the wallet data to the new location. + Beim Speichern der Brieftaschendaten an die neue Position ist ein Fehler aufgetreten. + + + + Backup Successful + Sicherung erfolgreich + + + + The wallet data was successfully saved to the new location. + Speichern der Brieftaschendaten an die neue Position war erfolgreich. + + + bitcoin-core - + Bitcoin version Bitcoin-Version - + Usage: Benutzung: - + Send command to -server or bitcoind Befehl an -server oder bitcoind senden - + List commands Befehle auflisten - + Get help for a command Hilfe zu einem Befehl erhalten - + Options: Optionen: - + Specify configuration file (default: bitcoin.conf) Konfigurationsdatei festlegen (Standard: bitcoin.conf) @@ -2173,106 +2225,102 @@ PID-Datei festlegen (Standard: bitcoind.pid) - - Generate coins - Bitcoins generieren - - - - Don't generate coins - Keine Bitcoins generieren - - - + Specify data directory Datenverzeichnis festlegen - + Set database cache size in megabytes (default: 25) Größe des Datenbankcaches in MB festlegen (Standard: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) <port> nach Verbindungen abhören (Standard: 8333 oder Testnetz: 18333) - + Maintain at most <n> connections to peers (default: 125) Maximal <n> Verbindungen zu Gegenstellen aufrechterhalten (Standard: 125) - + Connect to a node to retrieve peer addresses, and disconnect Mit dem Knoten verbinden um Adressen von Gegenstellen abzufragen, danach trennen - + Specify your own public address Die eigene öffentliche Adresse angeben - + Threshold for disconnecting misbehaving peers (default: 100) Schwellenwert, um Verbindungen zu sich nicht konform verhaltenden Gegenstellen zu beenden (Standard: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Anzahl Sekunden, während denen sich nicht konform verhaltenden Gegenstellen die Wiederverbindung verweigert wird (Standard: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Beim Einrichten des abzuhörenden RPC-Ports %u für IPv4 ist ein Fehler aufgetreten: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) <port> nach JSON-RPC-Verbindungen abhören (Standard: 8332 oder Testnetz: 18332) - + Accept command line and JSON-RPC commands Kommandozeilenbefehle und JSON-RPC-Befehle annehmen - + Run in the background as a daemon and accept commands Als Hintergrunddienst starten und Befehle annehmen - + Use the test network Das Testnetz verwenden - + Accept connections from outside (default: 1 if no -proxy or -connect) Eingehende Verbindungen annehmen (Standard: 1, wenn nicht -proxy oder -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - %s, Sie müssen den Wert rpcpasswort in der Konfigurationsdatei %s angeben + %s, Sie müssen den Wert rpcpasswort in dieser Konfigurationsdatei angeben: +%s Es wird empfohlen das folgende Zufallspasswort zu verwenden: rpcuser=bitcoinrpc rpcpassword=%s (Sie müssen sich dieses Passwort nicht merken!) -Der Benutzername und das Passwort dürfen nicht identisch sein. -Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer. +Der Benutzername und das Passwort dürfen NICHT identisch sein. +Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer. +Es wird ebenfalls empfohlen alertnotify anzugeben, um im Problemfall benachrichtig zu werden; +zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Beim Einrichten des abzuhörenden RPC-Ports %u für IPv6 ist ein Fehler aufgetreten, es wird auf IPv4 zurückgegriffen: %s @@ -2288,16 +2336,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Beschädigte Blockdatenbank erkannt. Bitte starten Sie den Client mit -reindex neu. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Fehler beim initialisieren der Datenbankumgebung %s! Zur Wiederherstellung, sichern Sie dieses Verzeichnis und löschen darin dann alles, außer wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Fehler: Die Transaktion wurde abgelehnt! Dies kann passieren, wenn einige Bitcoins aus Ihrer Brieftasche bereits ausgegeben wurden. Beispielsweise weil Sie eine Kopie Ihrer wallet.dat genutzt, die Bitcoins dort ausgegeben haben und dies daher in der derzeit aktiven Brieftasche nicht vermerkt ist. @@ -2307,12 +2345,22 @@ Fehler: Diese Transaktion benötigt aufgrund ihres Betrags, ihrer Komplexität oder der Nutzung kürzlich erhaltener Zahlungen eine Transaktionsgebühr in Höhe von mindestens %s! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Kommando ausführen wenn ein relevanter Alarm empfangen wird (%s im Kommando wird durch die Nachricht ersetzt) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Kommando ausführen wenn sich eine Transaktion der Briefrasche verändert (%s im Kommando wird durch die TxID ersetzt) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Maximale Größe von "high-priority/low-fee"-Transaktionen in Byte festlegen (Standard: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Dies ist eine Vorab-Testversion - Verwendung auf eigene Gefahr - nicht für Mining- oder Handelsanwendungen nutzen! @@ -2352,62 +2400,172 @@ Blockerzeugungsoptionen: - + Connect only to the specified node(s) Nur mit dem/den angegebenen Knoten verbinden + Corrupted block database detected + Beschädigte Blockdatenbank erkannt + + + Discover own IP address (default: 1 when listening and no -externalip) Eigene IP-Adresse erkennen (Standard: 1, wenn abgehört wird und nicht -externalip) - + + Do you want to rebuild the block database now? + Möchten Sie die Blockdatenbank nun neu aufbauen? + + + + Error initializing block database + Fehler beim Initialisieren der Blockdatenbank + + + + Error initializing wallet database environment %s! + Fehler beim Initialisieren der Brieftaschen-Datenbankumgebung %s! + + + Error loading block database Fehler beim Laden der Blockdatenbank - + + Error opening block database + Fehler beim Öffnen der Blockdatenbank + + + Error: Disk space is low! Fehler: Zu wenig freier Laufwerksspeicherplatz! - Error: Transaction creation failed! - Fehler: Transaktionserstellung fehlgeschlagen! + Error: Wallet locked, unable to create transaction! + Fehler: Brieftasche gesperrt, Transaktion kann nicht erstellt werden! - Error: Wallet locked, unable to create transaction! - Fehler: Brieftasche gesperrt, Transaktion kann nicht erstellt werden! + Error: system error: + Fehler: Systemfehler: - + Failed to listen on any port. Use -listen=0 if you want this. Fehler, es konnte kein Port abgehört werden. Wenn dies so gewünscht wird -listen=0 verwenden. + + Failed to read block info + Lesen der Blockinformationen fehlgeschlagen + + + + Failed to read block + Lesen des Blocks fehlgeschlagen + + + + Failed to sync block index + Synchronisation des Blockindex fehlgeschlagen + + + + Failed to write block index + Schreiben des Blockindex fehlgeschlagen + + + + Failed to write block info + Schreiben der Blockinformationen fehlgeschlagen + + + + Failed to write block + Schreiben des Blocks fehlgeschlagen + + + + Failed to write file info + Schreiben der Dateiinformationen fehlgeschlagen + + + + Failed to write to coin database + Schreiben in die Münzendatenbank fehlgeschlagen + + + + Failed to write transaction index + Schreiben des Transaktionsindex fehlgeschlagen + + + + Failed to write undo data + Schreiben der Rücksetzdaten fehlgeschlagen + + Find peers using DNS lookup (default: 1 unless -connect) Gegenstellen via DNS-Namensauflösung finden (Standard: 1, außer bei -connect) - + + Generate coins (default: 0) + Bitcoins generieren (Standard: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Wieviele Blöcke sollen beim Starten geprüft werden (Standard: 288, 0 = alle) + + + How thorough the block verification is (0-4, default: 3) Wie gründlich soll die Blockprüfung sein (0-4, Standard: 3) - - Importing blocks from block database... - Importiere Blöcke aus Blockdatenbank... + + Not enough file descriptors available. + Nicht genügend File-Deskriptoren verfügbar. + + + + Rebuild block chain index from current blk000??.dat files + Blockkettenindex aus aktuellen Dateien blk000??.dat wiederaufbauen + + + + Set the number of threads to service RPC calls (default: 4) + Maximale Anzahl an Threads zur Verarbeitung von RPC-Anfragen festlegen (Standard: 4) + + + + Verifying blocks... + Verifiziere Blöcke... + Verifying wallet... + Verifiziere Brieftasche... + + + Imports blocks from external blk000??.dat file Blöcke aus externer Datei blk000??.dat importieren - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Maximale Anzahl an Skript-Verifizierungs-Threads festlegen (bis zu 16, 0 = automatisch, <0 = soviele Kerne frei lassen, Standard: 0) + + + Information Hinweis @@ -2417,7 +2575,22 @@ Ungültige Adresse in -tor: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Ungültiger Betrag für -minrelaytxfee=<amount>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Ungültiger Betrag für -mintxfee=<amount>: '%s' + + + + Maintain a full transaction index (default: 0) + Einen vollständigen Transaktionsindex pflegen (Standard: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Maximale Größe, <n> * 1000 Byte, des Empfangspuffers pro Verbindung (Standard: 5000) @@ -2427,9 +2600,9 @@ Maximale Größe, <n> * 1000 Byte, des Sendepuffers pro Verbindung (Standard: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) - Blockkette nur akzeptieren, wenn sie mit den integrierten Prüfpunkten zusammenpasst (Standard: 1) + Blockkette nur akzeptieren, wenn sie mit den integrierten Prüfpunkten übereinstimmt (Standard: 1) @@ -2439,7 +2612,7 @@ Output extra debugging information. Implies all other -debug* options - Ausgabe zusätzlicher Debugginginformationen. Beinhaltet alle anderen -debug* Parameter + Ausgabe zusätzlicher Debugginginformationen. Beinhaltet alle anderen "-debug*"-Parameter @@ -2452,12 +2625,7 @@ Der Debugausgabe einen Zeitstempel voranstellen - - Rebuild blockchain index from current blk000??.dat files - Blockkettenindex aus aktuellen Dateien blk000??.dat wiederaufbauen - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL-Optionen: (siehe Bitcoin-Wiki für SSL-Installationsanweisungen) @@ -2487,17 +2655,42 @@ Minimale Blockgröße in Byte festlegen (Standard: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Verkleinere Datei debug.log beim Start des Clients (Standard: 1, wenn kein -debug) + + Signing transaction failed + Signierung der Transaktion fehlgeschlagen + + Specify connection timeout in milliseconds (default: 5000) Verbindungstimeout in Millisekunden festlegen (Standard: 5000) - + + System error: + Systemfehler: + + + + Transaction amount too small + Transaktionsbetrag zu gering + + + + Transaction amounts must be positive + Transaktionsbeträge müssen positiv sein + + + + Transaction too large + Transaktion zu groß + + + Use UPnP to map the listening port (default: 0) UPnP verwenden, um die Portweiterleitung einzurichten (Standard: 0) @@ -2528,36 +2721,41 @@ + You need to rebuild the databases using -reindex to change -txindex + Sie müssen die Datenbank mit Hilfe von -reindex neu aufbauen, um -txindex zu verändern. + + + wallet.dat corrupt, salvage failed wallet.dat beschädigt, Rettung fehlgeschlagen - + Password for JSON-RPC connections Passwort für JSON-RPC-Verbindungen - + Allow JSON-RPC connections from specified IP address JSON-RPC-Verbindungen von der angegebenen IP-Adresse erlauben - + Send commands to node running on <ip> (default: 127.0.0.1) Sende Befehle an Knoten <ip> (Standard: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Kommando ausführen wenn der beste Block wechselt (%s im Kommando wird durch den Hash des Blocks ersetzt) - + Upgrade wallet to latest format Brieftasche auf das neueste Format aktualisieren - + Set key pool size to <n> (default: 100) Größe des Schlüsselpools festlegen auf <n> (Standard: 100) @@ -2567,17 +2765,12 @@ Blockkette erneut nach fehlenden Transaktionen der Brieftasche durchsuchen - - How many blocks to check at startup (default: 2500, 0 = all) - Wieviele Blöcke sollen beim Starten geprüft werden (Standard: 2500, 0 = alle) - - - + Use OpenSSL (https) for JSON-RPC connections OpenSSL (https) für JSON-RPC-Verbindungen verwenden - + Server certificate file (default: server.cert) Serverzertifikat (Standard: server.cert) @@ -2587,37 +2780,37 @@ Privater Serverschlüssel (Standard: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Akzeptierte Chiffren (Standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Dieser Hilfetext - + Unable to bind to %s on this computer (bind returned error %d, %s) Kann auf diesem Computer nicht an %s binden (von bind zurückgegebener Fehler %d, %s) - + Connect through socks proxy Verbindung über SOCKS-Proxy herstellen - + Allow DNS lookups for -addnode, -seednode and -connect Erlaube DNS-Namensauflösung für -addnode, -seednode und -connect - + Loading addresses... Lade Adressen... - + Error loading wallet.dat: Wallet corrupted Fehler beim Laden von wallet.dat: Brieftasche beschädigt @@ -2627,32 +2820,22 @@ Fehler beim Laden von wallet.dat: Brieftasche benötigt neuere Version von Bitcoin - - Verifying block database integrity... - Verifiziere Integrität der Blockdatenbank... - - - - Verifying wallet integrity... - Verifiziere Integrität der Brieftasche... - - - + Wallet needed to be rewritten: restart Bitcoin to complete - Brieftasche muss neu geschrieben werden: Starten Sie Bitcoin zur Fertigstellung neu + Brieftasche musste neu geschrieben werden: Starten Sie Bitcoin zur Fertigstellung neu - + Error loading wallet.dat Fehler beim Laden von wallet.dat (Brieftasche) - + Invalid -proxy address: '%s' Ungültige Adresse in -proxy: '%s' - + Unknown network specified in -onlynet: '%s' Unbekannter Netztyp in -onlynet angegeben: '%s' @@ -2662,7 +2845,7 @@ Unbekannte Proxyversion in -socks angefordert: %i - + Cannot resolve -bind address: '%s' Kann Adresse in -bind nicht auflösen: '%s' @@ -2672,32 +2855,27 @@ Kann Adresse in -externalip nicht auflösen: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' - Falscher Betrag für -paytxfee=<Betrag>: '%s' + Ungültiger Betrag für -paytxfee=<amount>: '%s' - - Error: could not start node - Fehler: Knoten konnte nicht gestartet weden - - - + Invalid amount - Ungültige Angabe + Ungültiger Betrag - + Insufficient funds Unzureichender Kontostand - + Loading block index... Lade Blockindex... - + Add a node to connect to and attempt to keep the connection open Mit dem Knoten verbinden und versuchen die Verbindung aufrecht zu halten @@ -2707,12 +2885,7 @@ Kann auf diesem Computer nicht an %s binden. Evtl. wurde Bitcoin bereits gestartet. - - Find peers using internet relay chat (default: 0) - Gegenstellen via Internet Relay Chat finden (Standard: 0) - - - + Fee per KB to add to transactions you send Gebühr pro KB, die gesendeten Transaktionen hinzugefügt wird @@ -2722,42 +2895,37 @@ Lade Brieftasche... - + Cannot downgrade wallet Brieftasche kann nicht auf eine ältere Version herabgestuft werden - - Cannot initialize keypool - Schlüsselpool kann nicht initialisiert werden - - Cannot write default address Standardadresse kann nicht geschrieben werden - + Rescanning... Durchsuche erneut... - + Done loading Laden abgeschlossen - + To use the %s option Zur Nutzung der %s Option - + Error Fehler - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_el_GR.ts bitcoin-0.8.5/src/qt/locale/bitcoin_el_GR.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_el_GR.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_el_GR.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,27 +5,37 @@ About Bitcoin - Σχετικα:Bitcoin + Σχετικά με το Bitcoin <b>Bitcoin</b> version - <b>Bitcoin</b>έκδοση - - - - Copyright © 2009-2012 The Bitcoin developers - + Έκδοση Bitcoin - + This is experimental software. Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. - + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + Copyright + Πνευματική ιδιοκτησία + + + + The Bitcoin developers + Οι Bitcoin προγραμματιστές @@ -36,7 +46,7 @@ Βιβλίο Διευθύνσεων - + Double-click to edit address or label Διπλό-κλικ για επεξεργασία της διεύθυνσης ή της ετικέτας @@ -53,15 +63,15 @@ &New Address - + &Νέα διεύθυνση - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Αυτές είναι οι Bitcoin διευθύνσεις σας για να λαμβάνετε πληρωμές. Δίνοντας μία ξεχωριστή διεύθυνση σε κάθε αποστολέα, θα μπορείτε να ελέγχετε ποιος σας πληρώνει. - + &Copy Address &Αντιγραφή διεύθυνσης @@ -83,17 +93,27 @@ Delete the currently selected address from the list - + Αντιγραφη της επιλεγμενης διεύθυνσης στο πρόχειρο του συστηματος - + + Export the data in the current tab to a file + Εξαγωγή δεδομένων καρτέλας σε αρχείο + + + + &Export + &Εξαγωγή + + + Verify a message to ensure it was signed with a specified Bitcoin address - + Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως ανήκει μια συγκεκριμένη διεύθυνση Bitcoin &Verify Message - + &Επιβεβαίωση μηνύματος @@ -101,17 +121,27 @@ &Διαγραφή - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Αυτές είναι οι Bitcoin διευθύνσεις σας για να λαμβάνετε πληρωμές. Δίνοντας μία ξεχωριστή διεύθυνση σε κάθε αποστολέα, θα μπορείτε να ελέγχετε ποιος σας πληρώνει. + + + Copy &Label Αντιγραφή &επιγραφής - + &Edit &Επεξεργασία - + + Send &Coins + Αποστολή νομισμάτων + + + Export Address Book Data Εξαγωγή Δεδομενων Βιβλίου Διευθύνσεων @@ -128,13 +158,13 @@ Could not write to file %1. - Δεν μπόρεσα να γράψω στο αρχείο %1. + Αδυναμία εγγραφής στο αρχείο %1. AddressTableModel - + Label Ετικέτα @@ -154,7 +184,7 @@ Passphrase Dialog - + Φράση πρόσβασης @@ -219,23 +249,24 @@ Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - + Προσοχη: Εαν κρυπτογραφησεις το πορτοφολι σου και χάσεις τον κωδικο σου θα χάσεις <b> ΟΛΑ ΣΟΥ ΤΑ BITCOINS</b>! +Είσαι σίγουρος ότι θέλεις να κρυπτογραφησεις το πορτοφολι; Are you sure you wish to encrypt your wallet? - + Είστε σίγουροι ότι θέλετε να κρυπτογραφήσετε το πορτοφόλι σας; 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. - + ΣΗΜΑΝΤΙΚΟ: Τα προηγούμενα αντίγραφα ασφαλείας που έχετε κάνει από το αρχείο του πορτοφόλιου σας θα πρέπει να αντικατασταθουν με το νέο που δημιουργείται, κρυπτογραφημένο αρχείο πορτοφόλιου. Για λόγους ασφαλείας, τα προηγούμενα αντίγραφα ασφαλείας του μη κρυπτογραφημένου αρχείου πορτοφόλιου θα καταστουν άχρηστα μόλις αρχίσετε να χρησιμοποιείτε το νέο κρυπτογραφημένο πορτοφόλι. Warning: The Caps Lock key is on! - + Προσοχη: το πλήκτρο Caps Lock είναι ενεργο. @@ -287,23 +318,23 @@ Wallet passphrase was successfully changed. - + Ο κωδικος του πορτοφολιού άλλαξε με επιτυχία. BitcoinGUI - + Sign &message... Υπογραφή &Μηνύματος... - + Synchronizing with network... Συγχρονισμός με το δίκτυο... - + &Overview &Επισκόπηση @@ -323,32 +354,17 @@ Περιήγηση στο ιστορικο συνναλαγων - - &Address Book - &Βιβλίο Διευθύνσεων - - - + Edit the list of stored addresses and labels Εξεργασια της λιστας των αποθηκευμενων διευθύνσεων και ετικετων - - &Receive coins - &Παραλαβή νομισματων - - - + Show the list of addresses for receiving payments Εμφάνισε την λίστα των διευθύνσεων για την παραλαβή πληρωμων - - &Send coins - &Αποστολη νομισματων - - - + E&xit Έ&ξοδος @@ -378,7 +394,7 @@ &Επιλογές... - + &Encrypt Wallet... &Κρυπτογράφησε το πορτοφόλι @@ -393,42 +409,27 @@ &Άλλαξε κωδικο πρόσβασης - + Importing blocks from disk... - + Εισαγωγή μπλοκ από τον σκληρο δίσκο ... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - ~%n μπλοκ απέμεινε~%n μπλοκ απέμειναν + Φόρτωση ευρετηρίου μπλοκ στον σκληρο δισκο... - - &Export... - &Εξαγωγή - - - + Send coins to a Bitcoin address - + Στείλε νομισματα σε μια διεύθυνση bitcoin Modify configuration options for Bitcoin - - - - - Export the data in the current tab to a file - Εξαγωγή δεδομένων καρτέλας σε αρχείο + Επεργασία ρυθμισεων επιλογών για το Bitcoin - + Backup wallet to another location Δημιουργία αντιγράφου ασφαλείας πορτοφολιού σε άλλη τοποθεσία @@ -438,33 +439,48 @@ Αλλαγή του κωδικού κρυπτογράφησης του πορτοφολιού - + &Debug window - + &Παράθυρο αποσφαλμάτωσης Open debugging and diagnostic console - + Άνοιγμα κονσόλας αποσφαλμάτωσης και διαγνωστικών - + &Verify message... - + &Επιβεβαίωση μηνύματος - - + + Bitcoin Bitcoin - + Wallet Πορτοφόλι - + + &Send + &Αποστολή + + + + &Receive + &Παραλαβή + + + + &Addresses + &Διεύθυνσεις + + + &About Bitcoin &Σχετικα:Bitcoin @@ -476,30 +492,30 @@ Show or hide the main Window - + Εμφάνιση ή αποκρύψη του κεντρικου παράθυρου - + Encrypt the private keys that belong to your wallet - + Κρυπτογραφήστε τα ιδιωτικά κλειδιά που ανήκουν στο πορτοφόλι σας Sign messages with your Bitcoin addresses to prove you own them - + Υπογράψτε ένα μήνυμα για να βεβαιώσετε πως είστε ο κάτοχος αυτής της διεύθυνσης Verify messages to ensure they were signed with specified Bitcoin addresses - + Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως ανήκει μια συγκεκριμένη διεύθυνση Bitcoin - + &File &Αρχείο - + &Settings &Ρυθμίσεις @@ -514,108 +530,105 @@ Εργαλειοθήκη καρτελών - - Actions toolbar - Εργαλειοθήκη ενεργειών - - - + [testnet] [testnet] - + Bitcoin client Πελάτης Bitcoin - + %n active connection(s) to Bitcoin network %n ενεργή σύνδεση στο δίκτυο Bitcoin%n ενεργές συνδέσεις στο δίκτυο Βitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). - + + No block source available... + Η πηγή του μπλοκ δεν ειναι διαθέσιμη... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Μεταποιημένα %1 απο % 2 (κατ 'εκτίμηση) μπλοκ της ιστορίας της συναλλαγής. + + + Processed %1 blocks of transaction history. - + Έγινε λήψη %1 μπλοκ ιστορικού συναλλαγών + + + + %n hour(s) + %n ώρες %n ώρες + + + + %n day(s) + %n ημέρες %n ημέρες + + + + %n week(s) + %n εβδομαδες%n εβδομαδες - + + %1 behind + %1 πίσω + + + + Last received block was generated %1 ago. + Το τελευταίο μπλοκ που ελήφθη δημιουργήθηκε %1 πριν. + + + + Transactions after this will not yet be visible. + Οι συναλλαγές μετά από αυτό δεν θα είναι ακόμη ορατες. + + + Error - + Σφάλμα Warning - + Προειδοποίηση Information - + Πληροφορία - + 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? - - - - - Backup Successful - - - - - The wallet data was successfully saved to the new location. - - - - - %n second(s) ago - %n δευτερόλεπτο πριν%n δευτερόλεπτα πριν - - - - %n minute(s) ago - %n λεπτό πριν%n λεπτά πριν - - - - %n hour(s) ago - %n ώρα πριν%n ώρες πριν - - - - %n day(s) ago - %n ημέρα πριν%n ημέρες πριν + Η συναλλαγή ξεπερνάει το όριο. +Μπορεί να ολοκληρωθεί με μια αμοιβή των %1, η οποία αποδίδεται στους κόμβους που επεξεργάζονται τις συναλλαγές και βοηθούν στην υποστήριξη του δικτύου. +Θέλετε να συνεχίσετε; - + Up to date Ενημερωμένο - + Catching up... Ενημέρωση... - - Last received block was generated %1. - Το τελευταίο μπλοκ που ελήφθη %1. - - - + Confirm transaction fee Επιβεβαίωση αμοιβής συναλλαγής - + Sent transaction Η συναλλαγή απεστάλη @@ -638,16 +651,16 @@ - - + + URI handling - + Χειρισμός URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - + Το URI δεν μπορεί να αναλυθεί! Αυτό μπορεί να προκληθεί από μια μη έγκυρη διεύθυνση Bitcoin ή ακατάλληλη παραμέτρο URI. @@ -660,37 +673,17 @@ Το πορτοφόλι είναι <b>κρυπτογραφημένο</b> και <b>κλειδωμένο</b> - - Backup Wallet - Αντίγραφο ασφαλείας του πορτοφολιού - - - - Wallet Data (*.dat) - Αρχεία δεδομένων πορτοφολιού (*.dat) - - - - Backup Failed - Αποτυχία κατά τη δημιουργία αντιγράφου - - - - There was an error trying to save the wallet data to the new location. - Παρουσιάστηκε σφάλμα κατά την αποθήκευση των δεδομένων πορτοφολιού στη νέα τοποθεσία. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. - + Παρουσιάστηκε ανεπανόρθωτο σφάλμα. Το Bitcoin δεν μπορεί πλέον να συνεχίσει με ασφάλεια και θα τερματισθει. ClientModel - + Network Alert - + Ειδοποίηση Δικτύου @@ -721,7 +714,7 @@ Η διεύθυνση που σχετίζεται με αυτή την καταχώρηση του βιβλίου διευθύνσεων. Μπορεί να τροποποιηθεί μόνο για τις διευθύνσεις αποστολής. - + New receiving address Νέα διεύθυνση λήψης @@ -741,17 +734,17 @@ Επεξεργασία διεύθυνσης αποστολής - + The entered address "%1" is already in the address book. Η διεύθυνση "%1" βρίσκεται ήδη στο βιβλίο διευθύνσεων. - + The entered address "%1" is not a valid Bitcoin address. - + Η διεύθυνση "%1" δεν είναι έγκυρη Bitcoin διεύθυνση. - + Could not unlock wallet. Δεν είναι δυνατό το ξεκλείδωμα του πορτοφολιού. @@ -764,10 +757,10 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt - + bitcoin-qt @@ -815,12 +808,12 @@ &Main - + &Κύριο - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Η προαιρετική αμοιβή για κάθε kB επισπεύδει την επεξεργασία των συναλλαγών σας. Οι περισσότερες συναλλαγές είναι 1 kB. Προτείνεται αμοιβή 0.01. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Η προαιρετική αμοιβή για κάθε kB επισπεύδει την επεξεργασία των συναλλαγών σας. Οι περισσότερες συναλλαγές είναι 1 kB. @@ -835,17 +828,17 @@ &Start Bitcoin on system login - + &Έναρξη του Βιtcoin κατά την εκκίνηση του συστήματος Reset all client options to default. - + Επαναφορα όλων των επιλογων του πελάτη σε default. &Reset Options - + Επαναφορα ρυθμίσεων @@ -865,7 +858,7 @@ Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). - + Σύνδεση στο Bitcoin δίκτυο μέσω διαμεσολαβητή SOCKS4 (π.χ. για σύνδεση μέσω Tor) @@ -875,7 +868,7 @@ Proxy &IP: - + &IP διαμεσολαβητή: @@ -885,7 +878,7 @@ &Port: - + &Θύρα: @@ -900,17 +893,17 @@ SOCKS version of the proxy (e.g. 5) - + SOCKS εκδοση του διαμεσολαβητη (e.g. 5) &Window - + &Παράθυρο Show only a tray icon after minimizing the window. - + Εμφάνιση μόνο εικονιδίου στην περιοχή ειδοποιήσεων κατά την ελαχιστοποίηση @@ -925,17 +918,17 @@ M&inimize on close - + Ε&λαχιστοποίηση κατά το κλείσιμο &Display - + %Απεικόνιση User Interface &language: - + Γλώσσα περιβάλλοντος εργασίας: @@ -945,7 +938,7 @@ &Unit to show amounts in: - + &Μονάδα μέτρησης: @@ -960,42 +953,42 @@ &Display addresses in transaction list - + Εμφάνιση διευθύνσεων στη λίστα συναλλαγών &OK - + &ΟΚ &Cancel - + &Ακύρωση &Apply - + &Εφαρμογή - + default - + προεπιλογή Confirm options reset - + Επιβεβαιώση των επιλογων επαναφοράς Some settings may require a client restart to take effect. - + Για ορισμένες ρυθμίσεις πρεπει η επανεκκίνηση να τεθεί σε ισχύ. Do you want to proceed? - + Θέλετε να προχωρήσετε; @@ -1023,23 +1016,18 @@ Φόρμα - - + + 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. - + Οι πληροφορίες που εμφανίζονται μπορεί να είναι ξεπερασμένες. Το πορτοφόλι σας συγχρονίζεται αυτόματα με το δίκτυο Bitcoin μετά από μια σύνδεση, αλλά αυτή η διαδικασία δεν έχει ακόμη ολοκληρωθεί. - + Balance: Υπόλοιπο - - Number of transactions: - Αριθμός συναλλαγών - - - + Unconfirmed: Ανεπιβεβαίωτες @@ -1049,14 +1037,14 @@ Πορτοφόλι - + Immature: - + Ανώριμος Mined balance that has not yet matured - + Εξορυγμενο υπόλοιπο που δεν έχει ακόμα ωριμάσει @@ -1064,7 +1052,7 @@ <b>Πρόσφατες συναλλαγές</b> - + Your current balance Το τρέχον υπόλοιπο @@ -1074,15 +1062,18 @@ Το άθροισμα των συναλλαγών που δεν έχουν ακόμα επιβεβαιωθεί και δεν προσμετρώνται στο τρέχον υπόλοιπό σας - - Total number of transactions in wallet - Σύνολο συναλλαγών στο πορτοφόλι - - - + out of sync - + εκτός συγχρονισμού + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Δεν είναι δυνατή η εκκίνηση του Bitcoin: click-to-pay handler @@ -1090,7 +1081,7 @@ QR Code Dialog - + Κώδικας QR @@ -1125,7 +1116,7 @@ The entered amount is invalid, please check. - + Το αναγραφόμενο ποσό δεν είναι έγκυρο, παρακαλούμε να το ελέγξετε. @@ -1148,7 +1139,7 @@ Client name - + Όνομα Πελάτη @@ -1160,29 +1151,29 @@ - + N/A - + Μη διαθέσιμο Client version - + Έκδοση Πελάτη &Information - + &Πληροφορία Using OpenSSL version - + Χρησιμοποιηση της OpenSSL εκδοσης Startup time - + Χρόνος εκκίνησης @@ -1197,12 +1188,12 @@ On testnet - + Στο testnet Block chain - + αλυσίδα εμποδισμού @@ -1222,7 +1213,7 @@ &Open - + &Άνοιγμα @@ -1232,42 +1223,42 @@ Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Εμφανιση του Bitcoin-Qt μήνυματος βοήθειας για να πάρετε μια λίστα με τις πιθανές επιλογές Bitcoin γραμμής εντολών. &Show - + &Εμφάνιση &Console - + &Κονσόλα Build date - + Ημερομηνία κατασκευής Bitcoin - Debug window - + Bitcoin - Παράθυρο αποσφαλμάτωσης Bitcoin Core - + Bitcoin Core Debug log file - + Αρχείο καταγραφής εντοπισμού σφαλμάτων Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - + Ανοίξτε το αρχείο καταγραφής εντοπισμού σφαλμάτων από τον τρέχοντα κατάλογο δεδομένων. Αυτό μπορεί να πάρει μερικά δευτερόλεπτα για τα μεγάλα αρχεία καταγραφής. @@ -1277,17 +1268,17 @@ Welcome to the Bitcoin RPC console. - + Καλώς ήρθατε στην Bitcoin RPC κονσόλα. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Χρησιμοποιήστε το πάνω και κάτω βέλος για να περιηγηθείτε στο ιστορικο, και <b>Ctrl-L</b> για εκκαθαριση οθονης. Type <b>help</b> for an overview of available commands. - + Γράψτε <b>βοήθεια</b> για μια επισκόπηση των διαθέσιμων εντολών @@ -1312,7 +1303,7 @@ Add &Recipient - + &Προσθήκη αποδέκτη @@ -1322,7 +1313,7 @@ Clear &All - + Καθαρισμός &Όλων @@ -1342,7 +1333,7 @@ S&end - + Αποστολη @@ -1367,7 +1358,7 @@ The recipient address is not valid, please recheck. - + Η διεύθυνση του αποδέκτη δεν είναι σωστή. Παρακαλώ ελέγξτε ξανά. @@ -1382,17 +1373,17 @@ The total exceeds your balance when the %1 transaction fee is included. - + Το σύνολο υπερβαίνει το υπόλοιπό σας όταν συμπεριληφθεί και η αμοιβή %1 Duplicate address found, can only send to each address once per send operation. - + Βρέθηκε η ίδια διεύθυνση δύο φορές. Επιτρέπεται μία μόνο εγγραφή για κάθε διεύθυνση, σε κάθε διαδικασία αποστολής. Error: Transaction creation failed! - + Σφάλμα: Η δημιουργία της συναλλαγής απέτυχε @@ -1420,11 +1411,11 @@ The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Διεύθυνση αποστολής της πληρωμής (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Enter a label for this address to add it to your address book Εισάγετε μια επιγραφή για αυτή τη διεύθυνση ώστε να καταχωρηθεί στο βιβλίο διευθύνσεων @@ -1469,7 +1460,7 @@ Signatures - Sign / Verify a Message - + Υπογραφές - Είσοδος / Επαλήθευση μήνυματος @@ -1516,12 +1507,12 @@ Signature - + Υπογραφή Copy the current signature to the system clipboard - + Αντέγραφη της επιλεγμενης διεύθυνσης στο πρόχειρο του συστηματος @@ -1531,28 +1522,28 @@ Sign &Message - + Υπογραφη μήνυματος Reset all sign message fields - + Επαναφορά όλων των πεδίων μήνυματος Clear &All - + Καθαρισμός &Όλων &Verify Message - + &Επιβεβαίωση μηνύματος Enter the signing 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. - + Πληκτρολογήστε την υπογραφή διεύθυνσης, μήνυμα (βεβαιωθείτε ότι έχετε αντιγράψει τις αλλαγές γραμμής, κενά, tabs, κ.λπ. ακριβώς) και την υπογραφή παρακάτω, για να ελέγξει το μήνυμα. Να είστε προσεκτικοί για να μην διαβάσετε περισσότερα στην υπογραφή ό, τι είναι στην υπογραφή ίδιο το μήνυμα , για να μην εξαπατηθούν από έναν άνθρωπο -in - the-middle επίθεση. @@ -1562,17 +1553,17 @@ Verify the message to ensure it was signed with the specified Bitcoin address - + Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως υπογραφθηκε απο μια συγκεκριμένη διεύθυνση Bitcoin Verify &Message - + Επιβεβαίωση μηνύματος Reset all verify message fields - + Επαναφορά όλων επαλήθευμενων πεδίων μήνυματος @@ -1583,18 +1574,18 @@ Click "Sign Message" to generate signature - + Κάντε κλικ στο "Υπογραφή Μηνύματος" για να λάβετε την υπογραφή Enter Bitcoin signature - + Εισαγωγή υπογραφής Bitcoin The entered address is invalid. - + Η διεύθυνση που εισήχθη είναι λάθος. @@ -1602,72 +1593,85 @@ Please check the address and try again. - + Παρακαλούμε ελέγξτε την διεύθυνση και δοκιμάστε ξανά. The entered address does not refer to a key. - + Η διεύθυνση που έχει εισαχθεί δεν αναφέρεται σε ένα πλήκτρο. Wallet unlock was cancelled. - + το ξεκλείδωμα του πορτοφολιού απέτυχε Private key for the entered address is not available. - + Το προσωπικό κλειδί εισαγμενης διευθυνσης δεν είναι διαθέσιμο. Message signing failed. - + Η υπογραφή του μηνύματος απέτυχε. Message signed. - + Μήνυμα υπεγράφη. The signature could not be decoded. - + Η υπογραφή δεν μπόρεσε να αποκρυπτογραφηθεί. Please check the signature and try again. - + Παρακαλούμε ελέγξτε την υπογραφή και δοκιμάστε ξανά. The signature did not match the message digest. - + Η υπογραφή δεν ταιριάζει με το μήνυμα. Message verification failed. - + Η επιβεβαίωση του μηνύματος απέτυχε Message verified. - + Μήνυμα επιβεβαιώθηκε. + + + + SplashScreen + + + The Bitcoin developers + Οι Bitcoin προγραμματιστές + + + + [testnet] + [testnet] TransactionDesc - + Open until %1 Ανοιχτό μέχρι %1 %1/offline - + %1/χωρίς σύνδεση; @@ -1682,12 +1686,12 @@ Status - + Κατάσταση , broadcast through %n node(s) - + , έχει μεταδοθεί μέσω %n κόμβων, έχει μεταδοθεί μέσω %n κόμβων @@ -1697,31 +1701,31 @@ Source - + Πηγή Generated - + Δημιουργία From - + Από To - + Προς own address - + δική σας διεύθυνση @@ -1735,17 +1739,17 @@ Credit - + Πίστωση matures in %n more block(s) - + ωρίμανση σε %n επιπλέον μπλοκωρίμανση σε %n επιπλέον μπλοκ not accepted - + μη αποδεκτό @@ -1753,17 +1757,17 @@ Debit - + Debit Transaction fee - + Τέλος συναλλαγής Net amount - + Καθαρό ποσό @@ -1773,32 +1777,32 @@ Comment - + Σχόλιο: Transaction ID - + ID Συναλλαγής: Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - + Πρέπει να περιμένετε 120 μπλοκ πριν μπορέσετε να χρησιμοποιήσετε τα νομίσματα που έχετε δημιουργήσει. Το μπλοκ που δημιουργήσατε μεταδόθηκε στο δίκτυο για να συμπεριληφθεί στην αλυσίδα των μπλοκ. Αν δεν μπει σε αυτή θα μετατραπεί σε "μη αποδεκτό" και δε θα μπορεί να καταναλωθεί. Αυτό συμβαίνει σπάνια όταν κάποιος άλλος κόμβος δημιουργήσει ένα μπλοκ λίγα δευτερόλεπτα πριν από εσάς. Debug information - + Πληροφορίες αποσφαλμάτωσης Transaction - + Συναλλαγή Inputs - + εισροές @@ -1808,12 +1812,12 @@ true - + αληθής false - + αναληθής @@ -1823,7 +1827,7 @@ Open for %n more block(s) - + Ανοιχτό για %n μπλοκΑνοιχτό για %n μπλοκ @@ -1847,7 +1851,7 @@ TransactionTableModel - + Date Ημερομηνία @@ -1869,7 +1873,7 @@ Open for %n more block(s) - + Ανοιχτό για %n μπλοκΑνοιχτό για %n μπλοκ @@ -1894,7 +1898,7 @@ Mined balance will be available when it matures in %n more block(s) - + Το υπόλοιπο από την εξόρυξη θα είναι διαθέσιμο μετά από %n μπλοκΤο υπόλοιπο από την εξόρυξη θα είναι διαθέσιμο μετά από %n μπλοκ @@ -1965,7 +1969,7 @@ TransactionView - + All Όλα @@ -2052,6 +2056,11 @@ + Copy transaction ID + Αντιγραφη του ID Συναλλαγής + + + Edit label Επεξεργασία επιγραφής @@ -2061,7 +2070,7 @@ Εμφάνιση λεπτομερειών συναλλαγής - + Export Transaction Data Εξαγωγή Στοιχείων Συναλλαγών @@ -2116,7 +2125,7 @@ Αδυναμία εγγραφής στο αρχείο %1. - + Range: Έκταση: @@ -2127,39 +2136,90 @@ + WalletModel + + + Send Coins + Αποστολή νομισμάτων + + + + WalletView + + + &Export + &Εξαγωγή + + + + Export the data in the current tab to a file + Εξαγωγή δεδομένων καρτέλας σε αρχείο + + + + Backup Wallet + Αντίγραφο ασφαλείας του πορτοφολιού + + + + Wallet Data (*.dat) + Αρχεία δεδομένων πορτοφολιού (*.dat) + + + + Backup Failed + Αποτυχία κατά τη δημιουργία αντιγράφου + + + + There was an error trying to save the wallet data to the new location. + Παρουσιάστηκε σφάλμα κατά την αποθήκευση των δεδομένων πορτοφολιού στη νέα τοποθεσία. + + + + Backup Successful + Η δημιουργια αντιγραφου ασφαλειας πετυχε + + + + The wallet data was successfully saved to the new location. + Τα δεδομένα πορτοφόλιου αποθηκεύτηκαν με επιτυχία στη νέα θέση. + + + bitcoin-core - + Bitcoin version Έκδοση Bitcoin - + Usage: Χρήση: - + Send command to -server or bitcoind Αποστολή εντολής στον εξυπηρετητή ή στο bitcoind - + List commands Λίστα εντολών - + Get help for a command Επεξήγηση εντολής - + Options: Επιλογές: - + Specify configuration file (default: bitcoin.conf) Ορίστε αρχείο ρυθμίσεων (προεπιλογή: bitcoin.conf) @@ -2169,272 +2229,400 @@ Ορίστε αρχείο pid (προεπιλογή: bitcoind.pid) - - Generate coins - Δημιουργία νομισμάτων - - - - Don't generate coins - Άρνηση δημιουργίας νομισμάτων - - - + Specify data directory Ορισμός φακέλου δεδομένων - + Set database cache size in megabytes (default: 25) Όρισε το μέγεθος της βάσης προσωρινής αποθήκευσης σε megabytes(προεπιλογή:25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Εισερχόμενες συνδέσεις στη θύρα <port> (προεπιλογή: 8333 ή στο testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Μέγιστες αριθμός συνδέσεων με τους peers <n> (προεπιλογή: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Σύνδεση σε έναν κόμβο για την ανάκτηση διευθύνσεων από ομοτίμους, και αποσυνδέσh - + Specify your own public address - + Διευκρινίστε τη δικιά σας δημόσια διεύθυνση. - + Threshold for disconnecting misbehaving peers (default: 100) Όριο αποσύνδεσης προβληματικών peers (προεπιλογή: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Δευτερόλεπτα πριν επιτραπεί ξανά η σύνδεση των προβληματικών peers (προεπιλογή: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Ένα σφάλμα συνέβη καθώς προετοιμαζόταν η πόρτα RPC %u για αναμονή IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Εισερχόμενες συνδέσεις JSON-RPC στη θύρα <port> (προεπιλογή: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Αποδοχή εντολών κονσόλας και JSON-RPC - + Run in the background as a daemon and accept commands Εκτέλεση στο παρασκήνιο κι αποδοχή εντολών - + Use the test network Χρήση του δοκιμαστικού δικτύου - + Accept connections from outside (default: 1 if no -proxy or -connect) - + Να δέχεσαι συνδέσεις από έξω(προεπιλογή:1) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + Ένα σφάλμα συνέβη καθώς προετοιμαζόταν η υποδοχη RPC %u για αναμονη του IPv6, επεσε πισω στο IPv4:%s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Αποθηκευση σε συγκεκριμένη διεύθυνση. Χρησιμοποιήστε τα πλήκτρα [Host] : συμβολισμός θύρα για IPv6 Cannot obtain a lock on data directory %s. Bitcoin is probably already running. - + Αδυναμία κλειδώματος του φακέλου δεδομένων %s. Πιθανώς το Bitcoin να είναι ήδη ενεργό. - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Σφάλμα: Η συναλλαγή απορρίφθηκε. +Αυτό ίσως οφείλεται στο ότι τα νομίσματά σας έχουν ήδη ξοδευτεί, π.χ. με την αντιγραφή του wallet.dat σε άλλο σύστημα και την χρήση τους εκεί, χωρίς η συναλλαγή να έχει καταγραφεί στο παρόν σύστημα. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Σφάλμα: Αυτή η συναλλαγή απαιτεί αμοιβή συναλλαγής τουλάχιστον %s λόγω του μεγέθους, πολυπλοκότητας ή της χρήσης πρόσφατης παραλαβής κεφαλαίου - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Εκτέλεση της εντολής όταν το καλύτερο μπλοκ αλλάξει(%s στην εντολή αντικαθίσταται από το hash του μπλοκ) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Εκτέλεσε την εντολή όταν το καλύτερο μπλοκ αλλάξει(%s στην εντολή αντικαθίσταται από το hash του μπλοκ) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Ορίστε το μέγιστο μέγεθος των high-priority/low-fee συναλλαγων σε bytes (προεπιλογή: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + Αυτό είναι ένα προ-τεστ κυκλοφορίας - χρησιμοποιήστε το με δική σας ευθύνη - δεν χρησιμοποιείτε για εξόρυξη ή για αλλες εφαρμογές Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - + Προειδοποίηση: Η παράμετρος -paytxfee είναι πολύ υψηλή. Πρόκειται για την αμοιβή που θα πληρώνετε για κάθε συναλλαγή που θα στέλνετε. Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. - + Προειδοποίηση: Εμφανίσεις συναλλαγων δεν μπορεί να είναι σωστες! Μπορεί να χρειαστεί να αναβαθμίσετε, ή άλλοι κόμβοι μπορεί να χρειαστεί να αναβαθμίστουν. Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. - + Προειδοποίηση: Παρακαλώ βεβαιωθείτε πως η ημερομηνία κι ώρα του συστήματός σας είναι σωστές. Αν το ρολόι του υπολογιστή σας πάει λάθος, ενδέχεται να μη λειτουργεί σωστά το Bitcoin. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Προειδοποίηση : Σφάλμα wallet.dat κατα την ανάγνωση ! Όλα τα κλειδιά αναγνωρισθηκαν σωστά, αλλά τα δεδομένα των συναλλαγών ή καταχωρήσεις στο βιβλίο διευθύνσεων μπορεί να είναι ελλιπείς ή λανθασμένα. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Προειδοποίηση : το αρχειο wallet.dat ειναι διεφθαρμένο, τα δεδομένα σώζονται ! Original wallet.dat αποθηκεύονται ως πορτοφόλι { timestamp } bak στο % s ? . . Αν το υπόλοιπο του ή τις συναλλαγές σας, είναι λάθος θα πρέπει να επαναφέρετε από ένα αντίγραφο ασφαλείας Attempt to recover private keys from a corrupt wallet.dat - + Προσπάθεια για ανακτησει ιδιωτικων κλειδιων από ενα διεφθαρμένο αρχειο wallet.dat Block creation options: - + Αποκλεισμός επιλογων δημιουργίας: - + Connect only to the specified node(s) Σύνδεση μόνο με ορισμένους κόμβους + Corrupted block database detected + Εντοπισθηκε διεφθαρμενη βαση δεδομενων των μπλοκ + + + Discover own IP address (default: 1 when listening and no -externalip) - + Ανακαλύψτε την δικη σας IP διεύθυνση (προεπιλογή: 1 όταν ακούει και δεν - externalip) - + + Do you want to rebuild the block database now? + Θελετε να δημιουργηθει τωρα η βαση δεδομενων του μπλοκ? + + + + Error initializing block database + Σφάλμα κατά την ενεργοποίηση της βάσης δεδομένων μπλοκ + + + + Error initializing wallet database environment %s! + Σφάλμα κατά την ενεργοποίηση της βάσης δεδομένων πορτοφόλιου %s! + + + Error loading block database - + Σφάλμα φορτωσης της βασης δεδομενων των μπλοκ - + + Error opening block database + Σφάλμα φορτωσης της βασης δεδομενων των μπλοκ + + + Error: Disk space is low! - + Προειδοποίηση: Χαμηλός χώρος στο δίσκο - Error: Transaction creation failed! - + Error: Wallet locked, unable to create transaction! + Σφάλμα: το πορτοφόλι είναι κλειδωμένο, δεν μπορεί να δημιουργηθεί συναλλαγή - Error: Wallet locked, unable to create transaction! - + Error: system error: + Λάθος: λάθος συστήματος: - + Failed to listen on any port. Use -listen=0 if you want this. - + ταλαιπωρηθειτε για να ακούσετε σε οποιαδήποτε θύρα. Χρήση - ακούστε = 0 , αν θέλετε αυτό. + + + + Failed to read block info + Αποτυχία αναγνωσης των block πληροφοριων + + + + Failed to read block + Η αναγνωση του μπλοκ απετυχε + + + + Failed to sync block index + Ο συγχρονισμος του μπλοκ ευρετηριου απετυχε + + + + Failed to write block index + Η δημιουργια του μπλοκ ευρετηριου απετυχε + + + + Failed to write block info + Η δημιουργια των μπλοκ πληροφοριων απετυχε + + + + Failed to write block + Η δημιουργια του μπλοκ απετυχε + + + + Failed to write file info + Αδυναμία εγγραφής πληροφοριων αρχειου + + + + Failed to write to coin database + Αποτυχία εγγραφής στη βάση δεδομένων νομίσματος + + + + Failed to write transaction index + Αποτυχία εγγραφής δείκτη συναλλαγών + + + + Failed to write undo data + Αποτυχία εγγραφής αναίρεσης δεδομένων Find peers using DNS lookup (default: 1 unless -connect) - + Βρες ομότιμους υπολογιστές χρησιμοποιώντας αναζήτηση DNS(προεπιλογή:1) - - How thorough the block verification is (0-4, default: 3) - + + Generate coins (default: 0) + Δημιουργία νομισμάτων (προκαθορισμος: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Πόσα μπλοκ να ελέγχθουν κατά την εκκίνηση (προεπιλογή:288,0=όλα) - Importing blocks from block database... - + How thorough the block verification is (0-4, default: 3) + Πόσο εξονυχιστική να είναι η επιβεβαίωση του μπλοκ(0-4, προεπιλογή:3) + + + + Not enough file descriptors available. + Δεν ειναι αρκετες περιγραφες αρχείων διαθέσιμες. + + + + Rebuild block chain index from current blk000??.dat files + Εισαγωγή μπλοκ από εξωτερικό αρχείο blk000?.dat + + + + Set the number of threads to service RPC calls (default: 4) + Ορίσμος του αριθμόυ θεματων στην υπηρεσία κλήσεων RPC (προεπιλογή: 4) + + + + Verifying blocks... + Επαλήθευση των μπλοκ... + Verifying wallet... + Επαλήθευση πορτοφολιου... + + + Imports blocks from external blk000??.dat file - + Εισαγωγή μπλοκ από εξωτερικό αρχείο blk000?.dat - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Ορίσμος του αριθμό των νημάτων ελέγχου σεναρίου (μέχρι 16, 0 = auto, <0 = αφήνουν τους πολλους πυρήνες δωρεάν, default: 0) + + + Information - + Πληροφορία Invalid -tor address: '%s' - + Δεν είναι έγκυρη η διεύθυνση διαμεσολαβητή: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s' + + + + Maintain a full transaction index (default: 0) + Διατηρήση ένος πλήρες ευρετήριου συναλλαγών (προεπιλογή: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) - + Μέγιστος buffer λήψης ανά σύνδεση, <n>*1000 bytes (προεπιλογή: 5000) Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) - + Μέγιστος buffer αποστολής ανά σύνδεση, <n>*1000 bytes (προεπιλογή: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) - + Μονο αποδοχη αλυσίδας μπλοκ που ταιριάζει με τα ενσωματωμένα σημεία ελέγχου (προεπιλογή: 1) Only connect to nodes in network <net> (IPv4, IPv6 or Tor) - + Συνδέση μόνο σε κόμβους του δικτύου <net> (IPv4, IPv6 ή Tor) Output extra debugging information. Implies all other -debug* options - + Έξοδος επιπλέον πληροφοριών εντοπισμού σφαλμάτων Output extra network debugging information - + Έξοδος επιπλέον πληροφοριών εντοπισμού σφαλμάτων @@ -2442,19 +2630,14 @@ Χρονοσφραγίδα πληροφοριών εντοπισμού σφαλμάτων - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) - + Ρυθμίσεις SSL: (ανατρέξτε στο Bitcoin Wiki για οδηγίες ρυθμίσεων SSL) Select the version of socks proxy to use (4-5, default: 5) - + Επιλέξτε την έκδοση του διαμεσολαβητη για να χρησιμοποιήσετε (4-5 , προεπιλογή: 5) @@ -2469,17 +2652,22 @@ Set maximum block size in bytes (default: 250000) - + Ορίσμος του μέγιστου μέγεθος block σε bytes (προεπιλογή: 250000) Set minimum block size in bytes (default: 0) - + Ορίστε το μέγιστο μέγεθος block σε bytes (προεπιλογή: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) - + Συρρίκνωση του αρχείο debug.log κατα την εκκίνηση του πελάτη (προεπιλογή: 1 όταν δεν-debug) + + + + Signing transaction failed + Η υπογραφή συναλλαγής απέτυχε @@ -2487,19 +2675,39 @@ Ορισμός λήξης χρονικού ορίου σε χιλιοστά του δευτερολέπτου(προεπιλογή:5000) - + + System error: + Λάθος Συστήματος: + + + + Transaction amount too small + Το ποσό της συναλλαγής είναι πολύ μικρο + + + + Transaction amounts must be positive + Τα ποσά των συναλλαγών πρέπει να είναι θετικα + + + + Transaction too large + Η συναλλαγή ειναι πολύ μεγάλη + + + Use UPnP to map the listening port (default: 0) - + Χρησιμοποίηση του UPnP για την χρήση της πόρτας αναμονής (προεπιλογή:0) Use UPnP to map the listening port (default: 1 when listening) - + Χρησιμοποίηση του UPnP για την χρήση της πόρτας αναμονής (προεπιλογή:1) Use proxy to reach tor hidden services (default: same as -proxy) - + Χρήση διακομιστή μεσολάβησης για την επίτευξη των Tor κρυμμένων υπηρεσιων (προεπιλογή: ίδιο με το-proxy) @@ -2509,45 +2717,50 @@ Warning - + Προειδοποίηση Warning: This version is obsolete, upgrade required! - + Προειδοποίηση: Αυτή η έκδοση είναι ξεπερασμένη, απαιτείται αναβάθμιση + + + + You need to rebuild the databases using -reindex to change -txindex + Θα πρέπει να ξαναχτίστουν οι βάσεις δεδομένων που χρησιμοποιούντε-Αναδημιουργία αλλάγων-txindex wallet.dat corrupt, salvage failed - + Το αρχειο wallet.dat ειναι διεφθαρμένο, η διάσωση απέτυχε - + Password for JSON-RPC connections Κωδικός για τις συνδέσεις JSON-RPC - + Allow JSON-RPC connections from specified IP address Αποδοχή συνδέσεων JSON-RPC από συγκεκριμένη διεύθυνση IP - + Send commands to node running on <ip> (default: 127.0.0.1) Αποστολή εντολών στον κόμβο <ip> (προεπιλογή: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Εκτέλεσε την εντολή όταν το καλύτερο μπλοκ αλλάξει(%s στην εντολή αντικαθίσταται από το hash του μπλοκ) - + Upgrade wallet to latest format Αναβάθμισε το πορτοφόλι στην τελευταία έκδοση - + Set key pool size to <n> (default: 100) Όριο πλήθους κλειδιών pool <n> (προεπιλογή: 100) @@ -2557,17 +2770,12 @@ Επανέλεγχος της αλυσίδας μπλοκ για απούσες συναλλαγές - - How many blocks to check at startup (default: 2500, 0 = all) - Πόσα μπλοκ να ελέγχω κατά την εκκίνηση (προεπιλογή:2500,0=όλα) - - - + Use OpenSSL (https) for JSON-RPC connections Χρήση του OpenSSL (https) για συνδέσεις JSON-RPC - + Server certificate file (default: server.cert) Αρχείο πιστοποιητικού του διακομιστή (προεπιλογή: server.cert) @@ -2577,37 +2785,37 @@ Προσωπικό κλειδί του διακομιστή (προεπιλογή: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Αποδεκτά κρυπτογραφήματα (προεπιλογή: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Αυτό το κείμενο βοήθειας - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Αδύνατη η σύνδεση με τη θύρα %s αυτού του υπολογιστή (bind returned error %d, %s) - + Connect through socks proxy Σύνδεση μέσω διαμεσολαβητή socks - + Allow DNS lookups for -addnode, -seednode and -connect - + Να επιτρέπονται οι έλεγχοι DNS για προσθήκη και σύνδεση κόμβων - + Loading addresses... Φόρτωση διευθύνσεων... - + Error loading wallet.dat: Wallet corrupted Σφάλμα φόρτωσης wallet.dat: Κατεστραμμένο Πορτοφόλι @@ -2617,92 +2825,72 @@ Σφάλμα φόρτωσης wallet.dat: Το Πορτοφόλι απαιτεί μια νεότερη έκδοση του Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Απαιτείται η επανεγγραφή του Πορτοφολιού, η οποία θα ολοκληρωθεί στην επανεκκίνηση του Bitcoin - + Error loading wallet.dat Σφάλμα φόρτωσης αρχείου wallet.dat - + Invalid -proxy address: '%s' Δεν είναι έγκυρη η διεύθυνση διαμεσολαβητή: '%s' - + Unknown network specified in -onlynet: '%s' - + Άγνωστo δίκτυο ορίζεται σε onlynet: '%s' Unknown -socks proxy version requested: %i - + Άγνωστo δίκτυο ορίζεται: %i - + Cannot resolve -bind address: '%s' - + Δεν μπορώ να γράψω την προεπιλεγμένη διεύθυνση: '%s' Cannot resolve -externalip address: '%s' - + Δεν μπορώ να γράψω την προεπιλεγμένη διεύθυνση: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' - + Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount Λάθος ποσότητα - + Insufficient funds Ανεπαρκές κεφάλαιο - + Loading block index... Φόρτωση ευρετηρίου μπλοκ... - + Add a node to connect to and attempt to keep the connection open Προσέθεσε ένα κόμβο για σύνδεση και προσπάθησε να κρατήσεις την σύνδεση ανοιχτή Unable to bind to %s on this computer. Bitcoin is probably already running. - + Αδύνατη η σύνδεση με τη θύρα %s αυτού του υπολογιστή. Το Bitcoin είναι πιθανώς ήδη ενεργό. - - Find peers using internet relay chat (default: 0) - Βρες ομότιμους υπολογιστές χρησιμοποιώντας internet relay chat(Προεπιλογή:0) - - - + Fee per KB to add to transactions you send Αμοιβή ανά KB που θα προστίθεται στις συναλλαγές που στέλνεις @@ -2712,42 +2900,37 @@ Φόρτωση πορτοφολιού... - + Cannot downgrade wallet Δεν μπορώ να υποβαθμίσω το πορτοφόλι - - Cannot initialize keypool - Δεν μπορώ αν αρχικοποιήσω την λίστα κλειδιών - - Cannot write default address Δεν μπορώ να γράψω την προεπιλεγμένη διεύθυνση - + Rescanning... Ανίχνευση... - + Done loading Η φόρτωση ολοκληρώθηκε - + To use the %s option Χρήση της %s επιλογής - + Error Σφάλμα - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_en.ts bitcoin-0.8.5/src/qt/locale/bitcoin_en.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_en.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_en.ts 2013-09-12 03:35:18.000000000 +0000 @@ -30,14 +30,14 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. - + Copyright Copyright - 2009-%1 The Bitcoin developers - 2009-%1 The Bitcoin developers + The Bitcoin developers + The Bitcoin developers @@ -48,7 +48,7 @@ Address Book - + Double-click to edit address or label Double-click to edit address or label @@ -68,12 +68,12 @@ &New Address - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + &Copy Address &Copy Address @@ -98,7 +98,17 @@ Delete the currently selected address from the list - + + Export the data in the current tab to a file + Export the data in the current tab to a file + + + + &Export + &Export + + + Verify a message to ensure it was signed with a specified Bitcoin address Verify a message to ensure it was signed with a specified Bitcoin address @@ -113,7 +123,12 @@ &Delete - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + Copy &Label Copy &Label @@ -123,7 +138,12 @@ &Edit - + + Send &Coins + Send &Coins + + + Export Address Book Data Export Address Book Data @@ -305,17 +325,17 @@ BitcoinGUI - + Sign &message... Sign &message... - + Synchronizing with network... Synchronizing with network... - + &Overview &Overview @@ -335,32 +355,17 @@ Browse transaction history - - &Address Book - &Address Book - - - + Edit the list of stored addresses and labels Edit the list of stored addresses and labels - - &Receive coins - &Receive coins - - - + Show the list of addresses for receiving payments Show the list of addresses for receiving payments - - &Send coins - &Send coins - - - + E&xit E&xit @@ -390,7 +395,7 @@ &Options... - + &Encrypt Wallet... &Encrypt Wallet... @@ -405,7 +410,7 @@ &Change Passphrase... - + Importing blocks from disk... Importing blocks from disk... @@ -414,21 +419,8 @@ Reindexing blocks on disk... Reindexing blocks on disk... - - - ~%n block(s) remaining - - ~%n block remaining - ~%n blocks remaining - - - - - &Export... - &Export... - - + Send coins to a Bitcoin address Send coins to a Bitcoin address @@ -438,12 +430,7 @@ Modify configuration options for Bitcoin - - Export the data in the current tab to a file - Export the data in the current tab to a file - - - + Backup wallet to another location Backup wallet to another location @@ -453,7 +440,7 @@ Change the passphrase used for wallet encryption - + &Debug window &Debug window @@ -463,23 +450,38 @@ Open debugging and diagnostic console - + &Verify message... &Verify message... - - + + Bitcoin Bitcoin - + Wallet Wallet - + + &Send + &Send + + + + &Receive + &Receive + + + + &Addresses + &Addresses + + + &About Bitcoin &About Bitcoin @@ -494,7 +496,7 @@ Show or hide the main Window - + Encrypt the private keys that belong to your wallet Encrypt the private keys that belong to your wallet @@ -509,12 +511,12 @@ Verify messages to ensure they were signed with specified Bitcoin addresses - + &File &File - + &Settings &Settings @@ -529,23 +531,18 @@ Tabs toolbar - - Actions toolbar - Actions toolbar - - - + [testnet] [testnet] - + Bitcoin client Bitcoin client - + %n active connection(s) to Bitcoin network %n active connection to Bitcoin network @@ -553,17 +550,61 @@ - - Processed %1 of %2 blocks of transaction history (%3% done). - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... + No block source available... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Processed %1 of %2 (estimated) blocks of transaction history. + + + Processed %1 blocks of transaction history. Processed %1 blocks of transaction history. + + + %n hour(s) + + %n hour + %n hours + + + + + %n day(s) + + %n day + %n days + + + + + %n week(s) + + %n week + %n weeks + + - + + %1 behind + %1 behind + + + + Last received block was generated %1 ago. + Last received block was generated %1 ago. + + + + Transactions after this will not yet be visible. + Transactions after this will not yet be visible. + + + Error Error @@ -578,74 +619,27 @@ Information - + 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? 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? - - Backup Successful - Backup Successful - - - - The wallet data was successfully saved to the new location. - The wallet data was successfully saved to the new location. - - - - %n second(s) ago - - %n second ago - %n seconds ago - - - - - %n minute(s) ago - - %n minute ago - %n minutes ago - - - - - %n hour(s) ago - - %n hour ago - %n hours ago - - - - - %n day(s) ago - - %n day ago - %n days ago - - - - + Up to date Up to date - + Catching up... Catching up... - - Last received block was generated %1. - Last received block was generated %1. - - - + Confirm transaction fee Confirm transaction fee - + Sent transaction Sent transaction @@ -668,14 +662,14 @@ - - + + URI handling URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -690,27 +684,7 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> - - Backup Wallet - Backup Wallet - - - - Wallet Data (*.dat) - Wallet Data (*.dat) - - - - Backup Failed - Backup Failed - - - - There was an error trying to save the wallet data to the new location. - There was an error trying to save the wallet data to the new location. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -718,7 +692,7 @@ ClientModel - + Network Alert Network Alert @@ -751,7 +725,7 @@ The address associated with this address book entry. This can only be modified for sending addresses. - + New receiving address New receiving address @@ -794,7 +768,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -849,8 +823,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -1008,7 +982,7 @@ &Apply - + default default @@ -1053,23 +1027,18 @@ Form - - + + 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. 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. - + Balance: Balance: - - Number of transactions: - Number of transactions: - - - + Unconfirmed: Unconfirmed: @@ -1079,7 +1048,7 @@ Wallet - + Immature: Immature: @@ -1094,7 +1063,7 @@ <b>Recent transactions</b> - + Your current balance Your current balance @@ -1104,18 +1073,21 @@ Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - - Total number of transactions in wallet - Total number of transactions in wallet - - - + out of sync out of sync + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Cannot start bitcoin: click-to-pay handler + + + QRCodeDialog @@ -1190,7 +1162,7 @@ - + N/A N/A @@ -1454,7 +1426,7 @@ - + Enter a label for this address to add it to your address book Enter a label for this address to add it to your address book @@ -1688,9 +1660,22 @@ + SplashScreen + + + The Bitcoin developers + The Bitcoin developers + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Open until %1 @@ -1886,7 +1871,7 @@ TransactionTableModel - + Date Date @@ -2010,7 +1995,7 @@ TransactionView - + All All @@ -2097,6 +2082,11 @@ + Copy transaction ID + Copy transaction ID + + + Edit label Edit label @@ -2106,7 +2096,7 @@ Show transaction details - + Export Transaction Data Export Transaction Data @@ -2161,7 +2151,7 @@ Could not write to file %1. - + Range: Range: @@ -2172,39 +2162,90 @@ + WalletModel + + + Send Coins + Send Coins + + + + WalletView + + + &Export + &Export + + + + Export the data in the current tab to a file + Export the data in the current tab to a file + + + + Backup Wallet + Backup Wallet + + + + Wallet Data (*.dat) + Wallet Data (*.dat) + + + + Backup Failed + Backup Failed + + + + There was an error trying to save the wallet data to the new location. + There was an error trying to save the wallet data to the new location. + + + + Backup Successful + Backup Successful + + + + The wallet data was successfully saved to the new location. + The wallet data was successfully saved to the new location. + + + bitcoin-core - + Bitcoin version Bitcoin version - + Usage: Usage: - + Send command to -server or bitcoind Send command to -server or bitcoind - + List commands List commands - + Get help for a command Get help for a command - + Options: Options: - + Specify configuration file (default: bitcoin.conf) Specify configuration file (default: bitcoin.conf) @@ -2214,27 +2255,17 @@ Specify pid file (default: bitcoind.pid) - - Generate coins - Generate coins - - - - Don't generate coins - Don't generate coins - - - + Specify data directory Specify data directory - + Set database cache size in megabytes (default: 25) Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Listen for connections on <port> (default: 8333 or testnet: 18333) @@ -2244,12 +2275,12 @@ Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address Specify your own public address @@ -2259,62 +2290,67 @@ Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands Run in the background as a daemon and accept commands - + Use the test network Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) 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 "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2330,16 +2366,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Corrupted block database detected. Please restart the client with -reindex. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. @@ -2349,17 +2375,22 @@ Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - - Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Execute command when a relevant alert is received (%s in cmd is replaced by message) - Set the number of script verification threads (1-16, 0=auto, default: 0) - Set the number of script verification threads (1-16, 0=auto, default: 0) + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) - + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2399,34 +2430,49 @@ Block creation options: - + Connect only to the specified node(s) Connect only to the specified node(s) + Corrupted block database detected + Corrupted block database detected + + + Discover own IP address (default: 1 when listening and no -externalip) Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + Do you want to rebuild the block database now? + + + Error initializing block database Error initializing block database + Error initializing wallet database environment %s! + Error initializing wallet database environment %s! + + + Error loading block database Error loading block database - - Error: Disk space is low! - Error: Disk space is low! + + Error opening block database + Error opening block database - - Error: Transaction creation failed! - Error: Transaction creation failed! + + Error: Disk space is low! + Error: Disk space is low! @@ -2434,7 +2480,7 @@ Error: Wallet locked, unable to create transaction! - + Error: system error: Error: system error: @@ -2499,7 +2545,12 @@ Find peers using DNS lookup (default: 1 unless -connect) - + + Generate coins (default: 0) + Generate coins (default: 0) + + + How many blocks to check at startup (default: 288, 0 = all) How many blocks to check at startup (default: 288, 0 = all) @@ -2509,17 +2560,42 @@ How thorough the block verification is (0-4, default: 3) - - Importing blocks from block database... - Importing blocks from block database... + + Not enough file descriptors available. + Not enough file descriptors available. + + + + Rebuild block chain index from current blk000??.dat files + Rebuild block chain index from current blk000??.dat files + + + + Set the number of threads to service RPC calls (default: 4) + Set the number of threads to service RPC calls (default: 4) + + + + Verifying blocks... + Verifying blocks... + Verifying wallet... + Verifying wallet... + + + Imports blocks from external blk000??.dat file Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + Information Information @@ -2529,6 +2605,16 @@ Invalid -tor address: '%s' + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Invalid amount for -mintxfee=<amount>: '%s' + + Maintain a full transaction index (default: 0) Maintain a full transaction index (default: 0) @@ -2544,7 +2630,7 @@ Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) Only accept block chain matching built-in checkpoints (default: 1) @@ -2569,12 +2655,7 @@ Prepend debug output with timestamp - - Rebuild blockchain index from current blk000??.dat files - Rebuild blockchain index from current blk000??.dat files - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2604,11 +2685,16 @@ Set minimum block size in bytes (default: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + Signing transaction failed + + Specify connection timeout in milliseconds (default: 5000) Specify connection timeout in milliseconds (default: 5000) @@ -2619,7 +2705,22 @@ System error: - + + Transaction amount too small + Transaction amount too small + + + + Transaction amounts must be positive + Transaction amounts must be positive + + + + Transaction too large + Transaction too large + + + Use UPnP to map the listening port (default: 0) Use UPnP to map the listening port (default: 0) @@ -2659,32 +2760,32 @@ wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) Set key pool size to <n> (default: 100) @@ -2694,12 +2795,12 @@ Rescan the block chain for missing wallet transactions - + Use OpenSSL (https) for JSON-RPC connections Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) Server certificate file (default: server.cert) @@ -2709,27 +2810,27 @@ Server private key (default: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message This help message - + Unable to bind to %s on this computer (bind returned error %d, %s) Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect Allow DNS lookups for -addnode, -seednode and -connect @@ -2739,7 +2840,7 @@ Loading addresses... - + Error loading wallet.dat: Wallet corrupted Error loading wallet.dat: Wallet corrupted @@ -2749,32 +2850,22 @@ Error loading wallet.dat: Wallet requires newer version of Bitcoin - - Verifying block database integrity... - Verifying block database integrity... - - - - Verifying wallet integrity... - Verifying wallet integrity... - - - + Wallet needed to be rewritten: restart Bitcoin to complete Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat Error loading wallet.dat - + Invalid -proxy address: '%s' Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' Unknown network specified in -onlynet: '%s' @@ -2784,7 +2875,7 @@ Unknown -socks proxy version requested: %i - + Cannot resolve -bind address: '%s' Cannot resolve -bind address: '%s' @@ -2794,27 +2885,22 @@ Cannot resolve -externalip address: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - Error: could not start node - - - + Invalid amount Invalid amount - + Insufficient funds Insufficient funds - + Loading block index... Loading block index... @@ -2829,12 +2915,7 @@ Unable to bind to %s on this computer. Bitcoin is probably already running. - - Find peers using internet relay chat (default: 0) - Find peers using internet relay chat (default: 0) - - - + Fee per KB to add to transactions you send Fee per KB to add to transactions you send @@ -2849,37 +2930,32 @@ Cannot downgrade wallet - - Cannot initialize keypool - Cannot initialize keypool - - Cannot write default address Cannot write default address - + Rescanning... Rescanning... - + Done loading Done loading - + To use the %s option To use the %s option - + Error Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_eo.ts bitcoin-0.8.5/src/qt/locale/bitcoin_eo.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_eo.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_eo.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2917 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + Pri Bitcoin + + + + <b>Bitcoin</b> version + <b>Bitcoin</b>-a versio + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + + Copyright + + + + + The Bitcoin developers + + + + + AddressBookPage + + + Address Book + Adresaro + + + + Double-click to edit address or label + Duoble-klaku por redakti adreson aŭ etikedon + + + + Create a new address + Kreu novan adreson + + + + Copy the currently selected address to the system clipboard + Kopiu elektitan adreson al la tondejo + + + + &New Address + &Nova Adreso + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + + + + + &Copy Address + &Kopiu Adreson + + + + Show &QR Code + + + + + Sign a message to prove you own a Bitcoin address + + + + + Sign &Message + + + + + Delete the currently selected address from the list + + + + + Export the data in the current tab to a file + + + + + &Export + + + + + Verify a message to ensure it was signed with a specified Bitcoin address + + + + + &Verify Message + + + + + &Delete + &Forviŝu + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + + Copy &Label + Kopiu &Etikedon + + + + &Edit + &Redaktu + + + + Send &Coins + + + + + Export Address Book Data + Eksportu Adresarajn Datumojn + + + + Comma separated file (*.csv) + Diskoma dosiero (*.csv) + + + + Error exporting + Eraro dum eksportado + + + + Could not write to file %1. + Ne eblis skribi al dosiero %1. + + + + AddressTableModel + + + Label + Etikedo + + + + Address + Adreso + + + + (no label) + (ne etikedo) + + + + AskPassphraseDialog + + + Passphrase Dialog + + + + + Enter passphrase + Enigu pasfrazon + + + + New passphrase + Nova pasfrazo + + + + Repeat new passphrase + Ripetu novan pasfrazon + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + Enigu novan pasfrazon por la monujo.<br/>Bonvolu, uzu pasfrazon kun <b>10 aŭ pli hazardaj signoj</b>, aŭ <b>ok aŭ pli vortoj</b>. + + + + Encrypt wallet + Ĉifru monujon + + + + This operation needs your wallet passphrase to unlock the wallet. + Ĉi tiu operacio devas vian monujan pasfrazon, por malŝlosi la monujon. + + + + Unlock wallet + Malŝlosu monujon + + + + This operation needs your wallet passphrase to decrypt the wallet. + Ĉi tiu operacio devas vian monujan pasfrazon, por malĉifri la monujon. + + + + Decrypt wallet + Malĉifru monujon + + + + Change passphrase + Anstataŭigu pasfrazon + + + + Enter the old and new passphrase to the wallet. + Enigu la malnovan kaj novan monujan pasfrazon. + + + + Confirm wallet encryption + Konfirmu ĉifrado de monujo + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + + + + + Are you sure you wish to encrypt your wallet? + + + + + 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. + + + + + + Warning: The Caps Lock key is on! + + + + + + Wallet encrypted + Monujo ĉifrita + + + + Bitcoin 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. + + + + + + + + Wallet encryption failed + Monujo ĉifrado fiaskis + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + Ĉifrado de monujo fiaskis, kaŭze de interna eraro. Via monujo ne ĉifritas. + + + + + The supplied passphrases do not match. + La pasfrazoj enigitaj ne samas. + + + + Wallet unlock failed + Monujo malŝlosado fiaskis + + + + + + The passphrase entered for the wallet decryption was incorrect. + La pasfrazo enigita por ĉifrado de monujo ne konformas. + + + + Wallet decryption failed + Monujo malĉifrado fiaskis + + + + Wallet passphrase was successfully changed. + + + + + BitcoinGUI + + + Sign &message... + Subskribu &mesaĝon... + + + + Synchronizing with network... + Sinkronigante kun reto... + + + + &Overview + &Superrigardo + + + + Show general overview of wallet + + + + + &Transactions + &Transakcioj + + + + Browse transaction history + Esploru historion de transakcioj + + + + Edit the list of stored addresses and labels + + + + + Show the list of addresses for receiving payments + + + + + E&xit + &Eliru + + + + Quit application + Eliru de aplikaĵo + + + + Show information about Bitcoin + Vidigu informaĵon pri Bitmono + + + + About &Qt + Pri &QT + + + + Show information about Qt + Vidigu informaĵon pri Qt + + + + &Options... + &Opcioj... + + + + &Encrypt Wallet... + &Ĉifru Monujon... + + + + &Backup Wallet... + + + + + &Change Passphrase... + &Anstataŭigu pasfrazon... + + + + Importing blocks from disk... + + + + + Reindexing blocks on disk... + + + + + Send coins to a Bitcoin address + + + + + Modify configuration options for Bitcoin + + + + + Backup wallet to another location + + + + + Change the passphrase used for wallet encryption + + + + + &Debug window + + + + + Open debugging and diagnostic console + + + + + &Verify message... + &Kontrolu mesaĝon... + + + + + Bitcoin + + + + + Wallet + Monujo + + + + &Send + + + + + &Receive + + + + + &Addresses + + + + + &About Bitcoin + + + + + &Show / Hide + + + + + Show or hide the main Window + + + + + Encrypt the private keys that belong to your wallet + + + + + Sign messages with your Bitcoin addresses to prove you own them + + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + + + + + &File + &Dosiero + + + + &Settings + &Agordoj + + + + &Help + &Helpo + + + + Tabs toolbar + + + + + + [testnet] + + + + + Bitcoin client + + + + + %n active connection(s) to Bitcoin network + + + + + No block source available... + + + + + Processed %1 of %2 (estimated) blocks of transaction history. + + + + + Processed %1 blocks of transaction history. + + + + + %n hour(s) + %n horo%n horoj + + + + %n day(s) + %n tago%n tagoj + + + + %n week(s) + %n semajno%n semajnoj + + + + %1 behind + + + + + Last received block was generated %1 ago. + + + + + Transactions after this will not yet be visible. + + + + + Error + Eraro + + + + Warning + + + + + Information + + + + + 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? + + + + + Up to date + Ĝisdata + + + + Catching up... + Ĝisdatigante... + + + + Confirm transaction fee + + + + + Sent transaction + Sendita transakcio + + + + Incoming transaction + Envenanta transakcio + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + + + + + + URI handling + + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + Monujo estas <b>ĉifrita</b> kaj nun <b>malŝlosita</b> + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + Monujo estas <b>ĉifrita</b> kaj nun <b>ŝlosita</b> + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + + + + + ClientModel + + + Network Alert + Reta Averto + + + + EditAddressDialog + + + Edit Address + Redaktu Adreson + + + + &Label + &Etikedo + + + + The label associated with this address book entry + La etikedo interrilatita kun ĉi tiun adreso + + + + &Address + &Adreso + + + + The address associated with this address book entry. This can only be modified for sending addresses. + + + + + New receiving address + + + + + New sending address + + + + + Edit receiving address + + + + + Edit sending address + + + + + The entered address "%1" is already in the address book. + La adreso enigita "%1" jam ekzistas en la adresaro. + + + + The entered address "%1" is not a valid Bitcoin address. + + + + + Could not unlock wallet. + Ne eblis malŝlosi monujon + + + + New key generation failed. + + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + Bitcoin-Qt + + + + version + versio + + + + Usage: + + + + + command-line options + + + + + UI options + + + + + Set language, for example "de_DE" (default: system locale) + + + + + Start minimized + + + + + Show splash screen on startup (default: 1) + + + + + OptionsDialog + + + Options + Opcioj + + + + &Main + + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + + + + + Pay transaction &fee + + + + + Automatically start Bitcoin after logging in to the system. + + + + + &Start Bitcoin on system login + + + + + Reset all client options to default. + + + + + &Reset Options + + + + + &Network + + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + + + + + Map port using &UPnP + + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + + + + + &Connect through SOCKS proxy: + + + + + Proxy &IP: + + + + + IP address of the proxy (e.g. 127.0.0.1) + + + + + &Port: + + + + + Port of the proxy (e.g. 9050) + + + + + SOCKS &Version: + + + + + SOCKS version of the proxy (e.g. 5) + + + + + &Window + + + + + Show only a tray icon after minimizing the window. + + + + + &Minimize to the tray instead of the taskbar + + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + + + + + M&inimize on close + + + + + &Display + + + + + User Interface &language: + + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + + + + + &Unit to show amounts in: + + + + + Choose the default subdivision unit to show in the interface and when sending coins. + + + + + Whether to show Bitcoin addresses in the transaction list or not. + + + + + &Display addresses in transaction list + + + + + &OK + &OK + + + + &Cancel + &Nuligu + + + + &Apply + &Apliku + + + + default + + + + + Confirm options reset + + + + + Some settings may require a client restart to take effect. + + + + + Do you want to proceed? + + + + + + Warning + + + + + + This setting will take effect after restarting Bitcoin. + + + + + The supplied proxy address is invalid. + + + + + OverviewPage + + + Form + + + + + + 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. + + + + + Balance: + + + + + Unconfirmed: + Nekonfirmita: + + + + Wallet + Monujo + + + + Immature: + + + + + Mined balance that has not yet matured + + + + + <b>Recent transactions</b> + <b>Lastaj transakcioj</b> + + + + Your current balance + + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + + + + + + out of sync + + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + + QRCodeDialog + + + QR Code Dialog + + + + + Request Payment + + + + + Amount: + + + + + Label: + Etikedo: + + + + Message: + + + + + &Save As... + + + + + Error encoding URI into QR Code. + + + + + The entered amount is invalid, please check. + + + + + Resulting URI too long, try to reduce the text for label / message. + + + + + Save QR Code + + + + + PNG Images (*.png) + + + + + RPCConsole + + + Client name + + + + + + + + + + + + + + N/A + + + + + Client version + + + + + &Information + + + + + Using OpenSSL version + + + + + Startup time + + + + + Network + Reto + + + + Number of connections + + + + + On testnet + + + + + Block chain + + + + + Current number of blocks + + + + + Estimated total blocks + + + + + Last block time + + + + + &Open + &Malfermu + + + + Command-line options + + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + + + + + &Show + + + + + &Console + + + + + Build date + + + + + Bitcoin - Debug window + + + + + Bitcoin Core + + + + + Debug log file + + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + + + + + Clear console + + + + + Welcome to the Bitcoin RPC console. + + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + + + + + Type <b>help</b> for an overview of available commands. + + + + + SendCoinsDialog + + + + + + + + + + Send Coins + Sendu Monojn + + + + Send to multiple recipients at once + Sendu samtempe al multaj ricevantoj + + + + Add &Recipient + + + + + Remove all transaction fields + + + + + Clear &All + + + + + Balance: + + + + + 123.456 BTC + 123,456 BTC + + + + Confirm the send action + + + + + S&end + + + + + <b>%1</b> to %2 (%3) + <b>%1</b> al %2 (%3) + + + + Confirm send coins + + + + + Are you sure you want to send %1? + Ĉu vi vere volas sendi %1? + + + + and + kaj + + + + The recipient address is not valid, please recheck. + + + + + The amount to pay must be larger than 0. + + + + + The amount exceeds your balance. + + + + + The total exceeds your balance when the %1 transaction fee is included. + + + + + Duplicate address found, can only send to each address once per send operation. + + + + + Error: Transaction creation failed! + + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + SendCoinsEntry + + + Form + + + + + A&mount: + + + + + Pay &To: + + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Enter a label for this address to add it to your address book + + + + + &Label: + &Etikedo: + + + + Choose address from address book + Elektu adreson el adresaro + + + + Alt+A + Alt+A + + + + Paste address from clipboard + Algluu adreson de tondejo + + + + Alt+P + Alt+P + + + + Remove this recipient + Forigu ĉi tiun ricevanton + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + + + + + &Sign Message + + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Choose an address from the address book + + + + + + Alt+A + Alt+A + + + + Paste address from clipboard + Algluu adreson de tondejo + + + + Alt+P + Alt+P + + + + Enter the message you want to sign here + + + + + Signature + + + + + Copy the current signature to the system clipboard + + + + + Sign the message to prove you own this Bitcoin address + + + + + Sign &Message + + + + + Reset all sign message fields + + + + + + Clear &All + + + + + &Verify Message + + + + + Enter the signing 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. + + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Verify the message to ensure it was signed with the specified Bitcoin address + + + + + Verify &Message + + + + + Reset all verify message fields + + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Click "Sign Message" to generate signature + + + + + Enter Bitcoin signature + + + + + + The entered address is invalid. + + + + + + + + Please check the address and try again. + + + + + + The entered address does not refer to a key. + + + + + Wallet unlock was cancelled. + + + + + Private key for the entered address is not available. + + + + + Message signing failed. + + + + + Message signed. + + + + + The signature could not be decoded. + + + + + + Please check the signature and try again. + + + + + The signature did not match the message digest. + + + + + Message verification failed. + + + + + Message verified. + + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + + TransactionDesc + + + Open until %1 + + + + + %1/offline + + + + + %1/unconfirmed + %1/nekonfirmita + + + + %1 confirmations + %1 konfirmoj + + + + Status + + + + + , broadcast through %n node(s) + + + + + Date + Dato + + + + Source + + + + + Generated + + + + + + From + + + + + + + To + + + + + + own address + + + + + label + + + + + + + + + Credit + + + + + matures in %n more block(s) + + + + + not accepted + + + + + + + + Debit + + + + + Transaction fee + + + + + Net amount + + + + + Message + + + + + Comment + + + + + Transaction ID + + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + + + Debug information + + + + + Transaction + + + + + Inputs + + + + + Amount + Sumo + + + + true + + + + + false + + + + + , has not been successfully broadcast yet + , ankoraŭ ne elsendita sukcese + + + + Open for %n more block(s) + + + + + unknown + nekonata + + + + TransactionDescDialog + + + Transaction details + Transakciaj detaloj + + + + This pane shows a detailed description of the transaction + + + + + TransactionTableModel + + + Date + Dato + + + + Type + Tipo + + + + Address + Adreso + + + + Amount + Sumo + + + + Open for %n more block(s) + + + + + Open until %1 + + + + + Offline (%1 confirmations) + + + + + Unconfirmed (%1 of %2 confirmations) + + + + + Confirmed (%1 confirmations) + + + + + Mined balance will be available when it matures in %n more block(s) + + + + + This block was not received by any other nodes and will probably not be accepted! + + + + + Generated but not accepted + + + + + Received with + Ricevita kun + + + + Received from + Ricevita de + + + + Sent to + Sendita al + + + + Payment to yourself + Pago al vi mem + + + + Mined + Minita + + + + (n/a) + + + + + Transaction status. Hover over this field to show number of confirmations. + + + + + Date and time that the transaction was received. + + + + + Type of transaction. + Transakcia tipo. + + + + Destination address of transaction. + + + + + Amount removed from or added to balance. + + + + + TransactionView + + + + All + Ĉiuj + + + + Today + Hodiaŭ + + + + This week + + + + + This month + + + + + Last month + + + + + This year + + + + + Range... + + + + + Received with + Ricevita kun + + + + Sent to + Sendita al + + + + To yourself + Al vi mem + + + + Mined + Minita + + + + Other + + + + + Enter address or label to search + + + + + Min amount + + + + + Copy address + Kopiu adreson + + + + Copy label + + + + + Copy amount + + + + + Copy transaction ID + + + + + Edit label + Redaktu etikedon + + + + Show transaction details + + + + + Export Transaction Data + + + + + Comma separated file (*.csv) + Diskoma dosiero (*.csv) + + + + Confirmed + Konfirmita + + + + Date + Dato + + + + Type + Tipo + + + + Label + Etikedo + + + + Address + Adreso + + + + Amount + Sumo + + + + ID + + + + + Error exporting + Eraro dum eksportado + + + + Could not write to file %1. + Ne eblis skribi al dosiero %1. + + + + Range: + + + + + to + + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + Bitcoin-a versio + + + + Usage: + + + + + Send command to -server or bitcoind + + + + + List commands + Listigu instrukciojn + + + + Get help for a command + + + + + Options: + Opcioj: + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + + Specify data directory + + + + + Set database cache size in megabytes (default: 25) + + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + + + + + Maintain at most <n> connections to peers (default: 125) + + + + + Connect to a node to retrieve peer addresses, and disconnect + + + + + Specify your own public address + + + + + Threshold for disconnecting misbehaving peers (default: 100) + + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + + + + + Accept command line and JSON-RPC commands + + + + + Run in the background as a daemon and accept commands + + + + + Use the test network + + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + + + Attempt to recover private keys from a corrupt wallet.dat + + + + + Block creation options: + + + + + Connect only to the specified node(s) + + + + + Corrupted block database detected + + + + + Discover own IP address (default: 1 when listening and no -externalip) + + + + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + + Error loading block database + + + + + Error opening block database + + + + + Error: Disk space is low! + + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + + + + + Failed to listen on any port. Use -listen=0 if you want this. + + + + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + + + Find peers using DNS lookup (default: 1 unless -connect) + + + + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) + + + + + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + + + + + Verifying wallet... + + + + + Imports blocks from external blk000??.dat file + + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + + Information + + + + + Invalid -tor address: '%s' + + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + + + + + Only accept block chain matching built-in checkpoints (default: 1) + + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + + + + + Output extra debugging information. Implies all other -debug* options + + + + + Output extra network debugging information + + + + + Prepend debug output with timestamp + + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + + + + Select the version of socks proxy to use (4-5, default: 5) + + + + + Send trace/debug info to console instead of debug.log file + + + + + Send trace/debug info to debugger + + + + + Set maximum block size in bytes (default: 250000) + + + + + Set minimum block size in bytes (default: 0) + + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + + + + + Signing transaction failed + + + + + Specify connection timeout in milliseconds (default: 5000) + + + + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + + + + + Use UPnP to map the listening port (default: 1 when listening) + + + + + Use proxy to reach tor hidden services (default: same as -proxy) + + + + + Username for JSON-RPC connections + + + + + Warning + + + + + Warning: This version is obsolete, upgrade required! + + + + + You need to rebuild the databases using -reindex to change -txindex + + + + + wallet.dat corrupt, salvage failed + + + + + Password for JSON-RPC connections + + + + + Allow JSON-RPC connections from specified IP address + + + + + Send commands to node running on <ip> (default: 127.0.0.1) + + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + + + + + Upgrade wallet to latest format + + + + + Set key pool size to <n> (default: 100) + + + + + Rescan the block chain for missing wallet transactions + + + + + Use OpenSSL (https) for JSON-RPC connections + + + + + Server certificate file (default: server.cert) + + + + + Server private key (default: server.pem) + + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + + This help message + + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + + + + + Connect through socks proxy + + + + + Allow DNS lookups for -addnode, -seednode and -connect + + + + + Loading addresses... + Ŝarĝante adresojn... + + + + Error loading wallet.dat: Wallet corrupted + + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + + + + + Wallet needed to be rewritten: restart Bitcoin to complete + + + + + Error loading wallet.dat + + + + + Invalid -proxy address: '%s' + + + + + Unknown network specified in -onlynet: '%s' + + + + + Unknown -socks proxy version requested: %i + + + + + Cannot resolve -bind address: '%s' + + + + + Cannot resolve -externalip address: '%s' + + + + + Invalid amount for -paytxfee=<amount>: '%s' + + + + + Invalid amount + + + + + Insufficient funds + + + + + Loading block index... + Ŝarĝante blok-indekson... + + + + Add a node to connect to and attempt to keep the connection open + + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + + + + + Fee per KB to add to transactions you send + + + + + Loading wallet... + Ŝarĝante monujon... + + + + Cannot downgrade wallet + + + + + Cannot write default address + + + + + Rescanning... + + + + + Done loading + Ŝarĝado finitas + + + + To use the %s option + Por uzi la opcion %s + + + + Error + Eraro + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_es.ts bitcoin-0.8.5/src/qt/locale/bitcoin_es.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_es.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_es.ts 2013-09-12 03:35:18.000000000 +0000 @@ -10,15 +10,10 @@ <b>Bitcoin</b> version - <b>Bitcoin</b> versión + Versión de <b>Bitcoin</b> - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Los desarrolladores de Bitcoin - - - + This is experimental software. @@ -35,6 +30,16 @@ el OpenSSL Toolkit (http://www.openssl.org/) y software criptográfico escrito por Eric Young (eay@cryptsoft.com) y el software UPnP escrito por Thomas Bernard. + + + Copyright + Copyright + + + + The Bitcoin developers + Los programadores Bitcoin + AddressBookPage @@ -44,7 +49,7 @@ Libreta de direcciones - + Double-click to edit address or label Haga doble clic para editar una dirección o etiqueta @@ -56,7 +61,7 @@ Copy the currently selected address to the system clipboard - Copiar la dirección seleccionada al portapapeles + Copiar la dirección seleccionada al portapapeles del sistema @@ -64,12 +69,12 @@ &Añadir dirección - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - Estas son tus direcciones Bitcoin para recibir pagos. Puedes utilizar una diferente por cada persona emisora para saber quien te está pagando. + Estas son sus direcciones Bitcoin para recibir pagos. Puede utilizar una diferente por cada persona emisora para saber quién le está pagando. - + &Copy Address &Copiar dirección @@ -94,7 +99,17 @@ Borrar de la lista la dirección seleccionada - + + Export the data in the current tab to a file + Exportar a un archivo los datos de esta pestaña + + + + &Export + &Exportar + + + Verify a message to ensure it was signed with a specified Bitcoin address Verificar un mensaje para comprobar que fue firmado con la dirección Bitcoin indicada @@ -106,20 +121,30 @@ &Delete - &Borrar + &Eliminar + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Estas son sus direcciones Bitcoin para enviar pagos. Compruebe siempre la cantidad y la dirección receptora antes de transferir monedas. - + Copy &Label Copiar &etiqueta - + &Edit &Editar - + + Send &Coins + Enviar &monedas + + + Export Address Book Data Exportar datos de la libreta de direcciones @@ -142,7 +167,7 @@ AddressTableModel - + Label Etiqueta @@ -167,7 +192,7 @@ Enter passphrase - Contraseña actual + Introducir contraseña @@ -192,7 +217,7 @@ This operation needs your wallet passphrase to unlock the wallet. - Para desbloquear el monedero esta operación necesita de su contraseña. + Esta operación requiere su contraseña para desbloquear el monedero. @@ -202,12 +227,12 @@ This operation needs your wallet passphrase to decrypt the wallet. - Para descifrar el monedero esta operación necesita de su contraseña. + Esta operación requiere su contraseña para descifrar el monedero. Decrypt wallet - Descifrar monedero + Descifrar el monedero @@ -237,7 +262,7 @@ 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. - IMPORTANTE: Cualquier copia de seguridad que haya realizado previamente de su fichero de billetera debe reemplazarse con el fichero de billetera encriptado recientemente creado. Por razones de seguridad, las copias de seguridad previas del fichero de billetera que no estaban encriptadas pasarán a estar inservibles en cuanto comience a usar la nueva billetera encriptada. + IMPORTANTE: Cualquier copia de seguridad que haya realizado previamente de su archivo de monedero debe reemplazarse con el nuevo archivo de monedero cifrado. Por razones de seguridad, las copias de seguridad previas del archivo de monedero no cifradas serán inservibles en cuanto comience a usar el nuevo monedero cifrado. @@ -301,17 +326,17 @@ BitcoinGUI - + Sign &message... Firmar &mensaje... - + Synchronizing with network... Sincronizando con la red… - + &Overview &Vista general @@ -331,32 +356,17 @@ Examinar el historial de transacciones - - &Address Book - &Libreta de direcciones - - - + Edit the list of stored addresses and labels Editar la lista de las direcciones y etiquetas almacenadas - - &Receive coins - &Recibir monedas - - - + Show the list of addresses for receiving payments Mostrar la lista de direcciones utilizadas para recibir pagos - - &Send coins - &Enviar monedas - - - + E&xit &Salir @@ -386,7 +396,7 @@ &Opciones... - + &Encrypt Wallet... &Cifrar monedero… @@ -401,7 +411,7 @@ &Cambiar la contraseña… - + Importing blocks from disk... Importando bloques de disco... @@ -410,18 +420,8 @@ Reindexing blocks on disk... Reindexando bloques en disco... - - - ~%n block(s) remaining - ~%n bloque restante~%n bloques restantes - - - - &Export... - &Exportar… - - + Send coins to a Bitcoin address Enviar monedas a una dirección Bitcoin @@ -431,12 +431,7 @@ Modificar las opciones de configuración de Bitcoin - - Export the data in the current tab to a file - Exportar a un archivo los datos de esta pestaña - - - + Backup wallet to another location Copia de seguridad del monedero en otra ubicación @@ -446,7 +441,7 @@ Cambiar la contraseña utilizada para el cifrado del monedero - + &Debug window Ventana de &depuración @@ -456,23 +451,38 @@ Abrir la consola de depuración y diagnóstico - + &Verify message... &Verificar mensaje... - - + + Bitcoin Bitcoin - + Wallet Monedero - + + &Send + &Enviar + + + + &Receive + &Recibir + + + + &Addresses + &Direcciones + + + &About Bitcoin &Acerca de Bitcoin @@ -487,14 +497,14 @@ Mostrar u ocultar la ventana principal - + Encrypt the private keys that belong to your wallet Cifrar las claves privadas de su monedero Sign messages with your Bitcoin addresses to prove you own them - Firmar mensajes con sus direcciones Bitcoin para probar la propiedad + Firmar mensajes con sus direcciones Bitcoin para demostrar la propiedad @@ -502,12 +512,12 @@ Verificar mensajes comprobando que están firmados con direcciones Bitcoin concretas - + &File &Archivo - + &Settings &Configuración @@ -522,38 +532,68 @@ Barra de pestañas - - Actions toolbar - Barra de acciones - - - + [testnet] [testnet] - + Bitcoin client Cliente Bitcoin - + %n active connection(s) to Bitcoin network %n conexión activa hacia la red Bitcoin%n conexiones activas hacia la red Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). - Procesados %1 de %2 bloques del historial de transacciones (%3% completo). + + No block source available... + Ninguna fuente de bloques disponible ... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Se han procesado %1 de %2 bloques (estimados) del historial de transacciones. + + + Processed %1 blocks of transaction history. Procesados %1 bloques del historial de transacciones. + + + %n hour(s) + %n hora%n horas + + + + %n day(s) + %n día%n días + + + + %n week(s) + %n semana%n semanas + - + + %1 behind + %1 atrás + + + + Last received block was generated %1 ago. + El último bloque recibido fue generado hace %1. + + + + Transactions after this will not yet be visible. + Las transacciones posteriores a esta aún no están visibles. + + + Error Error @@ -568,62 +608,27 @@ Información - + 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? Esta transacción supera el límite de tamaño. Puede enviarla con una comisión de %1, destinada a los nodos que procesen su transacción para contribuir al mantenimiento de la red. ¿Desea pagar esta comisión? - - Backup Successful - Se ha completado con éxito la copia de respaldo - - - - The wallet data was successfully saved to the new location. - Los datos del monedero se han guardado con éxito en la nueva ubicación. - - - - %n second(s) ago - hace %n segundohace %n segundos - - - - %n minute(s) ago - hace %n minutohace %n minutos - - - - %n hour(s) ago - hace %n horahace %n horas - - - - %n day(s) ago - hace %n díahace %n días - - - + Up to date Actualizado - + Catching up... - Recuperando... - - - - Last received block was generated %1. - El último bloque recibido fue generado %1. + Actualizando... - + Confirm transaction fee Confirme la tarifa de la transacción - + Sent transaction Transacción enviada @@ -646,14 +651,14 @@ - - + + URI handling Gestión de URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. ¡No se puede interpretar la URI! Esto puede deberse a una dirección Bitcoin inválida o a parámetros de URI mal formados. @@ -668,27 +673,7 @@ El monedero está <b>cifrado</b> y actualmente <b>bloqueado</b> - - Backup Wallet - Copia de seguridad del monedero - - - - Wallet Data (*.dat) - Datos del monedero (*.dat) - - - - Backup Failed - La copia de seguridad ha fallado - - - - There was an error trying to save the wallet data to the new location. - Ha habido un error al intentar guardar los datos del monedero en la nueva ubicación. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Ha ocurrido un error crítico. Bitcoin ya no puede continuar con seguridad y se cerrará. @@ -696,7 +681,7 @@ ClientModel - + Network Alert Alerta de red @@ -729,7 +714,7 @@ La dirección asociada con esta entrada en la guía. Solo puede ser modificada para direcciones de envío. - + New receiving address Nueva dirección para recibir @@ -749,17 +734,17 @@ Editar dirección de envío - + The entered address "%1" is already in the address book. La dirección introducida "%1" ya está presente en la libreta de direcciones. - + The entered address "%1" is not a valid Bitcoin address. La dirección introducida "%1" no es una dirección Bitcoin válida. - + Could not unlock wallet. No se pudo desbloquear el monedero. @@ -772,7 +757,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -827,8 +812,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Tarifa de transacción por KB opcional que ayuda a asegurarse de que sus transacciones se procesan rápidamente. La mayoría de las transacciones son de 1 KB. Tarifa de 0,01 recomendada. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Tarifa de transacción opcional por kB que ayuda a asegurar que sus transacciones sean procesadas rápidamente. La mayoría de transacciones son de 1kB. @@ -986,7 +971,7 @@ &Aplicar - + default predeterminado @@ -1031,23 +1016,18 @@ Desde - - + + 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. La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red Bitcoin después de que se haya establecido una conexión , pero este proceso aún no se ha completado. - + Balance: Saldo: - - Number of transactions: - Número de movimientos: - - - + Unconfirmed: No confirmado(s): @@ -1057,7 +1037,7 @@ Monedero - + Immature: No disponible: @@ -1072,9 +1052,9 @@ <b>Movimientos recientes</b> - + Your current balance - Saldo actual + Su saldo actual @@ -1082,18 +1062,21 @@ Total de las transacciones que faltan por confirmar y que no contribuyen al saldo actual - - Total number of transactions in wallet - Número total de movimientos en el monedero - - - + out of sync desincronizado + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + No se pudo iniciar bitcoin: manejador de pago-al-clic + + + QRCodeDialog @@ -1168,7 +1151,7 @@ - + N/A N/D @@ -1432,7 +1415,7 @@ - + Enter a label for this address to add it to your address book Etiquete esta dirección para añadirla a la libreta @@ -1666,9 +1649,22 @@ + SplashScreen + + + The Bitcoin developers + Los programadores Bitcoin + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Abierto hasta %1 @@ -1826,7 +1822,7 @@ , has not been successfully broadcast yet - , no ha sido emitido satisfactoriamente todavía + , todavía no se ha sido difundido satisfactoriamente @@ -1855,7 +1851,7 @@ TransactionTableModel - + Date Fecha @@ -1907,7 +1903,7 @@ This block was not received by any other nodes and will probably not be accepted! - Este bloque no ha sido recibido por otros nodos y ¡probablemente no sea aceptado! + Este bloque no ha sido recibido por otros nodos y probablemente no sea aceptado! @@ -1973,7 +1969,7 @@ TransactionView - + All Todo @@ -2060,6 +2056,11 @@ + Copy transaction ID + Copiar identificador de transacción + + + Edit label Editar etiqueta @@ -2069,7 +2070,7 @@ Mostrar detalles de la transacción - + Export Transaction Data Exportar datos de la transacción @@ -2124,7 +2125,7 @@ No se pudo escribir en el archivo %1. - + Range: Rango: @@ -2135,42 +2136,93 @@ + WalletModel + + + Send Coins + Enviar monedas + + + + WalletView + + + &Export + &Exportar + + + + Export the data in the current tab to a file + Exportar a un archivo los datos de esta pestaña + + + + Backup Wallet + Respaldo de monedero + + + + Wallet Data (*.dat) + Datos de monedero (*.dat) + + + + Backup Failed + Ha fallado el respaldo + + + + There was an error trying to save the wallet data to the new location. + Se ha producido un error al intentar guardar los datos del monedero en la nueva ubicación. + + + + Backup Successful + Se ha completado con éxito la copia de respaldo + + + + The wallet data was successfully saved to the new location. + Los datos del monedero se han guardado con éxito en la nueva ubicación. + + + bitcoin-core - + Bitcoin version Versión de Bitcoin - + Usage: Uso: - + Send command to -server or bitcoind Envíar comando a -server o bitcoind - + List commands Muestra comandos - + Get help for a command Recibir ayuda para un comando - + Options: Opciones: - + Specify configuration file (default: bitcoin.conf) Especificar archivo de configuración (predeterminado: bitcoin.conf) @@ -2182,110 +2234,105 @@ - - Generate coins - Generar monedas - - - - Don't generate coins - No generar monedas - - - + Specify data directory Especificar directorio para los datos - + Set database cache size in megabytes (default: 25) Establecer el tamaño de caché de la base de datos en megabytes (predeterminado: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Escuchar conexiones en <puerto> (predeterminado: 8333 o testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Mantener como máximo <n> conexiones a pares (predeterminado: 125) - + Connect to a node to retrieve peer addresses, and disconnect Conectar a un nodo para obtener direcciones de pares y desconectar - + Specify your own public address Especifique su propia dirección pública - + Threshold for disconnecting misbehaving peers (default: 100) Umbral para la desconexión de pares con mal comportamiento (predeterminado: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Número de segundos en que se evita la reconexión de pares con mal comportamiento (predeterminado: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Ha ocurrido un error al configurar el puerto RPC %u para escucha en IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Escuchar conexiones JSON-RPC en <puerto> (predeterminado: 8332 o testnet:18332) - + Accept command line and JSON-RPC commands Aceptar comandos consola y JSON-RPC - + Run in the background as a daemon and accept commands Correr como demonio y aceptar comandos - + Use the test network Usar la red de pruebas - + Accept connections from outside (default: 1 if no -proxy or -connect) Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - %s, debe asignar un valor a rpcpassword en el archivo de configuración: - %s -Se recomienda que utilice la siguiente contraseña aleatoria: + %s, debe establecer un valor rpcpassword en el archivo de configuración: +%s +Se recomienda utilizar la siguiente contraseña aleatoria: rpcuser=bitcoinrpc rpcpassword=%s -(no necesita recordar esta contraseña) -El nombre de usuario y la contraseña NO DEBEN ser iguales. -Si el archivo no existe, créelo con permisos owner-readable-only. +(no es necesario recordar esta contraseña) +El nombre de usuario y la contraseña DEBEN NO ser iguales. +Si el archivo no existe, créelo con permisos de archivo de solo lectura. +Se recomienda también establecer alertnotify para recibir notificaciones de problemas. +Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Ha ocurrido un error al configurar el puerto RPC %u para escuchar mediante IPv6. Recurriendo a IPv4: %s @@ -2301,16 +2348,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Detectada base de datos de bloques corrupta. Reinicie el cliente con -reindex. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - ¡Error al inicializar el entorno de base de datos %s! Para restaurarlo, HAGA UNA COPIA DE SEGURIDAD DEL DIRECTORIO y borre todos sus contenidos excepto wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. ¡Error: se ha rechazado la transacción! Esto puede ocurrir si ya se han gastado algunas de las monedas del monedero, como ocurriría si hubiera hecho una copia de wallet.dat y se hubieran gastado monedas a partir de la copia, con lo que no se habrían marcado aquí como gastadas. @@ -2320,14 +2357,24 @@ ¡Error: Esta transacción requiere una comisión de al menos %s debido a su monto, complejidad, o al uso de fondos recién recibidos! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Ejecutar orden cuando se reciba un aviso relevante (%s en cmd se reemplazará por el mensaje) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Ejecutar comando cuando una transacción del monedero cambia (%s en cmd se remplazará por TxID) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Establecer el tamaño máximo de las transacciones de alta prioridad/comisión baja en bytes (predeterminado:27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - Esta es una versión de prueba pre-release - utilícela bajo su propio riesgo. No la utilice para usos comerciales o de minería. + Esta es una versión de pre-prueba - utilícela bajo su propio riesgo. No la utilice para usos comerciales o de minería. @@ -2352,7 +2399,7 @@ Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - Aviso: ¿Recuperados datos de wallet.dat corrupto! El wallet.dat original se ha guardado como wallet.{timestamp}.bak en %s; si hubiera errores en su saldo o transacciones, deberá restaurar una copia de respaldo. + Aviso: ¡Recuperados datos de wallet.dat corrupto! El wallet.dat original se ha guardado como wallet.{timestamp}.bak en %s; si hubiera errores en su saldo o transacciones, deberá restaurar una copia de seguridad. @@ -2365,62 +2412,172 @@ Opciones de creación de bloques: - + Connect only to the specified node(s) Conectar sólo a los nodos (o nodo) especificados + Corrupted block database detected + Corrupción de base de datos de bloques detectada. + + + Discover own IP address (default: 1 when listening and no -externalip) Descubrir dirección IP propia (predeterminado: 1 al escuchar sin -externalip) - + + Do you want to rebuild the block database now? + ¿Quieres reconstruir la base de datos de bloques ahora? + + + + Error initializing block database + Error al inicializar la base de datos de bloques + + + + Error initializing wallet database environment %s! + Error al inicializar el entorno de la base de datos del monedero %s + + + Error loading block database Error cargando base de datos de bloques - + + Error opening block database + Error al abrir base de datos de bloques. + + + Error: Disk space is low! Error: ¡Espacio en disco bajo! - Error: Transaction creation failed! - Error: ¡Ha fallado la creación de la transacción! + Error: Wallet locked, unable to create transaction! + Error: ¡El monedero está bloqueado; no se puede crear la transacción! - Error: Wallet locked, unable to create transaction! - Error: ¡El monedero está bloqueado; no se puede crear la transacción! + Error: system error: + Error: error de sistema: - + Failed to listen on any port. Use -listen=0 if you want this. Ha fallado la escucha en todos los puertos. Use -listen=0 si desea esto. + + Failed to read block info + No se ha podido leer la información de bloque + + + + Failed to read block + No se ha podido leer el bloque + + + + Failed to sync block index + No se ha podido sincronizar el índice de bloques + + + + Failed to write block index + No se ha podido escribir en el índice de bloques + + + + Failed to write block info + No se ha podido escribir la información de bloques + + + + Failed to write block + No se ha podido escribir el bloque + + + + Failed to write file info + No se ha podido escribir la información de archivo + + + + Failed to write to coin database + No se ha podido escribir en la base de datos de monedas + + + + Failed to write transaction index + No se ha podido escribir en el índice de transacciones + + + + Failed to write undo data + No se han podido escribir los datos de deshacer + + Find peers using DNS lookup (default: 1 unless -connect) Encontrar pares mediante búsqueda de DNS (predeterminado: 1 salvo con -connect) - - How thorough the block verification is (0-4, default: 3) - Como es de exhaustiva la verificació de bloques (0-4, por defecto 3) + + Generate coins (default: 0) + Generar monedas (por defecto: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Cuántos bloques comprobar al iniciar (predeterminado: 288, 0 = todos) - Importing blocks from block database... - Importando bloques de la base de datos de bloques... + How thorough the block verification is (0-4, default: 3) + Como es de exhaustiva la verificación de bloques (0-4, por defecto 3) + + + + Not enough file descriptors available. + No hay suficientes descriptores de archivo disponibles. + + + + Rebuild block chain index from current blk000??.dat files + Reconstruir el índice de la cadena de bloques a partir de los archivos blk000??.dat actuales + + + + Set the number of threads to service RPC calls (default: 4) + Establecer el número de hilos para atender las llamadas RPC (predeterminado: 4) + + + + Verifying blocks... + Verificando bloques... + Verifying wallet... + Verificando monedero... + + + Imports blocks from external blk000??.dat file Importa los bloques desde un archivo blk000??.dat externo - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Configura el número de hilos para el script de verificación (hasta 16, 0 = auto, <0 = leave that many cores free, por fecto: 0) + + + Information Información @@ -2430,7 +2587,22 @@ Dirección -tor inválida: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Inválido por el monto -minrelaytxfee=<amount>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Inválido por el monto -mintxfee=<amount>: '%s' + + + + Maintain a full transaction index (default: 0) + Mantener índice de transacciones completo (predeterminado: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Búfer de recepción máximo por conexión, <n>*1000 bytes (predeterminado: 5000) @@ -2440,7 +2612,7 @@ Búfer de recepción máximo por conexión, , <n>*1000 bytes (predeterminado: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) Aceptar solamente cadena de bloques que concuerde con los puntos de control internos (predeterminado: 1) @@ -2452,7 +2624,7 @@ Output extra debugging information. Implies all other -debug* options - Mostrar información de depuración adicional. Abarca todas las demás opciones -debug* + Mostrar información de depuración adicional. Implica todos los demás opciones -debug* @@ -2465,19 +2637,14 @@ Anteponer marca temporal a la información de depuración - - Rebuild blockchain index from current blk000??.dat files - Reconstruir el índice de la cadena de bloques a partir de los archivos blk000??.dat actuales - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opciones SSL: (ver la Bitcoin Wiki para instrucciones de configuración SSL) Select the version of socks proxy to use (4-5, default: 5) - Elija la versión del proxy socks a usar (4-5, predetermiando: 5) + Elija la versión del proxy socks a usar (4-5, predeterminado: 5) @@ -2500,17 +2667,42 @@ Establecer tamaño mínimo de bloque en bytes (predeterminado: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Reducir el archivo debug.log al iniciar el cliente (predeterminado: 1 sin -debug) + + Signing transaction failed + Transacción falló + + Specify connection timeout in milliseconds (default: 5000) Especificar el tiempo máximo de conexión en milisegundos (predeterminado: 5000) - + + System error: + Error de sistema: + + + + Transaction amount too small + Monto de la transacción muy pequeño + + + + Transaction amounts must be positive + Montos de transacciones deben ser positivos + + + + Transaction too large + Transacción demasiado grande + + + Use UPnP to map the listening port (default: 0) Usar UPnP para asignar el puerto de escucha (predeterminado: 0) @@ -2522,7 +2714,7 @@ Use proxy to reach tor hidden services (default: same as -proxy) - Utilizar proxy para conectar a servicios ocultos (predeterminado: igual que -proxy) + Utilizar proxy para conectar a Tor servicios ocultos (predeterminado: igual que -proxy) @@ -2538,7 +2730,12 @@ Warning: This version is obsolete, upgrade required! - Aviso: Esta versión es obsoleta, ¡actualización necesaria! + Aviso: Esta versión es obsoleta, actualización necesaria! + + + + You need to rebuild the databases using -reindex to change -txindex + Necesita reconstruir las bases de datos con la opción -reindex para modificar -txindex @@ -2546,35 +2743,35 @@ wallet.dat corrupto. Ha fallado la recuperación. - + Password for JSON-RPC connections Contraseña para las conexiones JSON-RPC - + Allow JSON-RPC connections from specified IP address Permitir conexiones JSON-RPC desde la dirección IP especificada - + Send commands to node running on <ip> (default: 127.0.0.1) Enviar comando al nodo situado en <ip> (predeterminado: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Ejecutar un comando cuando cambia el mejor bloque (%s en cmd se sustituye por el hash de bloque) - + Upgrade wallet to latest format Actualizar el monedero al último formato - + Set key pool size to <n> (default: 100) Ajustar el número de claves en reserva <n> (predeterminado: 100) @@ -2585,18 +2782,13 @@ Volver a examinar la cadena de bloques en busca de transacciones del monedero perdidas - - How many blocks to check at startup (default: 2500, 0 = all) - Cuántos bloques comprobar al iniciar (predeterminado: 2500, 0 = todos) - - - + Use OpenSSL (https) for JSON-RPC connections Usar OpenSSL (https) para las conexiones JSON-RPC - + Server certificate file (default: server.cert) Certificado del servidor (predeterminado: server.cert) @@ -2608,39 +2800,39 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Cifrados aceptados (predeterminado: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Este mensaje de ayuda - + Unable to bind to %s on this computer (bind returned error %d, %s) No es posible conectar con %s en este sistema (bind ha dado el error %d, %s) - + Connect through socks proxy Conectar mediante proxy socks - + Allow DNS lookups for -addnode, -seednode and -connect Permitir búsquedas DNS para -addnode, -seednode y -connect - + Loading addresses... Cargando direcciones... - + Error loading wallet.dat: Wallet corrupted Error al cargar wallet.dat: el monedero está dañado @@ -2650,32 +2842,22 @@ Error al cargar wallet.dat: El monedero requiere una versión más reciente de Bitcoin - - Verifying block database integrity... - Verificando la integridad de la base de datos de bloques... - - - - Verifying wallet integrity... - Verificando la integridad del monedero... - - - + Wallet needed to be rewritten: restart Bitcoin to complete El monedero ha necesitado ser reescrito. Reinicie Bitcoin para completar el proceso - + Error loading wallet.dat Error al cargar wallet.dat - + Invalid -proxy address: '%s' Dirección -proxy inválida: '%s' - + Unknown network specified in -onlynet: '%s' La red especificada en -onlynet '%s' es desconocida @@ -2685,7 +2867,7 @@ Solicitada versión de proxy -socks desconocida: %i - + Cannot resolve -bind address: '%s' No se puede resolver la dirección de -bind: '%s' @@ -2695,32 +2877,27 @@ No se puede resolver la dirección de -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Cantidad inválida para -paytxfee=<amount>: '%s' - - Error: could not start node - Error: no se ha podido iniciar el nodo - - - + Invalid amount Cuantía no válida - + Insufficient funds Fondos insuficientes - + Loading block index... Cargando el índice de bloques... - + Add a node to connect to and attempt to keep the connection open Añadir un nodo al que conectarse y tratar de mantener la conexión abierta @@ -2730,12 +2907,7 @@ No es posible conectar con %s en este sistema. Probablemente Bitcoin ya está ejecutándose. - - Find peers using internet relay chat (default: 0) - Encontrar los pares utilizando Internet Relay Chat (predeterminado: 0) - - - + Fee per KB to add to transactions you send Tarifa por KB que añadir a las transacciones que envíe @@ -2745,42 +2917,37 @@ Cargando monedero... - + Cannot downgrade wallet No se puede rebajar el monedero - - Cannot initialize keypool - No se puede inicializar la reserva de claves - - Cannot write default address No se puede escribir la dirección predeterminada - + Rescanning... - Rescaneando... + Reexplorando... - + Done loading Generado pero no aceptado - + To use the %s option Para utilizar la opción %s - + Error Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_es_CL.ts bitcoin-0.8.5/src/qt/locale/bitcoin_es_CL.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_es_CL.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_es_CL.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> - versión - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -35,6 +30,16 @@ el OpenSSL Toolkit (http://www.openssl.org/), software criptográfico escrito por Eric Young (eay@cryptsoft.com) y UPnP software escrito por Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -44,7 +49,7 @@ Guia de direcciones - + Double-click to edit address or label Haz doble clic para editar una dirección o etiqueta @@ -64,12 +69,12 @@ &Nueva dirección - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Estas son tus direcciones Bitcoin para recibir pagos. Puedes utilizar una diferente por cada persona emisora para saber quien te está pagando. - + &Copy Address &Copia dirección @@ -94,7 +99,17 @@ - + + Export the data in the current tab to a file + Exportar los datos de la pestaña actual a un archivo + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -109,17 +124,27 @@ &Borrar - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Copia &etiqueta - + &Edit &Editar - + + Send &Coins + + + + Export Address Book Data Exporta datos de la guia de direcciones @@ -142,7 +167,7 @@ AddressTableModel - + Label Etiqueta @@ -301,17 +326,17 @@ BitcoinGUI - + Sign &message... Firmar &Mensaje... - + Synchronizing with network... Sincronizando con la red... - + &Overview &Vista general @@ -331,32 +356,17 @@ Explora el historial de transacciónes - - &Address Book - &Guia de direcciónes - - - + Edit the list of stored addresses and labels Edita la lista de direcciones y etiquetas almacenadas - - &Receive coins - &Recibir monedas - - - + Show the list of addresses for receiving payments Muestra la lista de direcciónes utilizadas para recibir pagos - - &Send coins - &Envíar monedas - - - + E&xit &Salir @@ -386,7 +396,7 @@ &Opciones - + &Encrypt Wallet... &Codificar la billetera... @@ -401,7 +411,7 @@ &Cambiar la contraseña... - + Importing blocks from disk... @@ -410,18 +420,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - %n bloque restante%n bloques restantes - - - - &Export... - &Exportar... - - + Send coins to a Bitcoin address Enviar monedas a una dirección bitcoin @@ -431,12 +431,7 @@ Modifica las opciones de configuración de bitcoin - - Export the data in the current tab to a file - Exportar los datos de la pestaña actual a un archivo - - - + Backup wallet to another location Respaldar billetera en otra ubicación @@ -446,7 +441,7 @@ Cambiar la contraseña utilizada para la codificación de la billetera - + &Debug window @@ -456,23 +451,38 @@ - + &Verify message... - - + + Bitcoin Bitcoin - + Wallet Cartera - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &Sobre Bitcoin @@ -487,7 +497,7 @@ - + Encrypt the private keys that belong to your wallet @@ -502,12 +512,12 @@ - + &File &Archivo - + &Settings &Configuración @@ -522,108 +532,103 @@ Barra de pestañas - - Actions toolbar - Barra de acciónes - - - + [testnet] [red-de-pruebas] - + Bitcoin client Cliente Bitcoin - + %n active connection(s) to Bitcoin network %n conexión activa hacia la red Bitcoin%n conexiones activas hacia la red Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - Hace %n segundoHace %n segundos - - - - %n minute(s) ago - Hace %n minutoHace %n minutos - - - - %n hour(s) ago - Hace %n horaHace %n horas + + + Information + - - - %n day(s) ago - Hace %n díaHace %n días + + + 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? + - + Up to date Actualizado - + Catching up... Recuperando... - - Last received block was generated %1. - El ultimo bloque recibido fue generado %1. - - - + Confirm transaction fee - + Sent transaction Transacción enviada @@ -645,14 +650,14 @@ Dirección: %4 - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -667,27 +672,7 @@ La billetera esta <b>codificada</b> y actualmente <b>bloqueda</b> - - Backup Wallet - Respaldar billetera - - - - Wallet Data (*.dat) - Datos de billetera (*.dat) - - - - Backup Failed - Ha fallado el respaldo - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -695,7 +680,7 @@ ClientModel - + Network Alert @@ -728,7 +713,7 @@ La dirección asociada con esta entrada en la libreta de direcciones. Solo puede ser modificada para direcciónes de envío. - + New receiving address Nueva dirección para recibir @@ -748,17 +733,17 @@ Editar dirección de envio - + The entered address "%1" is already in the address book. La dirección introducida "%1" ya esta guardada en la libreta de direcciones. - + The entered address "%1" is not a valid Bitcoin address. La dirección introducida "%1" no es una dirección Bitcoin valida. - + Could not unlock wallet. No se pudo desbloquear la billetera. @@ -771,7 +756,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -827,8 +812,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Comisión opcional por kB que ayuda a asegurar que sus transacciones son procesadas rápidamente. La mayoria de transacciones son de 1 KB. Se recomienda comisión de 0.01 + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -986,7 +971,7 @@ - + default @@ -1031,23 +1016,18 @@ Formulario - - + + 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. - + Balance: Saldo: - - Number of transactions: - Numero de transacciones: - - - + Unconfirmed: No confirmados: @@ -1057,7 +1037,7 @@ Cartera - + Immature: @@ -1072,7 +1052,7 @@ <b>Transacciones recientes</b> - + Your current balance Tu saldo actual @@ -1082,18 +1062,21 @@ Total de transacciones que no han sido confirmadas aun, y que no cuentan para el saldo actual. - - Total number of transactions in wallet - Número total de transacciones en la billetera - - - + out of sync + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1168,7 +1151,7 @@ - + N/A @@ -1432,7 +1415,7 @@ - + Enter a label for this address to add it to your address book Introduce una etiqueta a esta dirección para añadirla a tu guia @@ -1666,9 +1649,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [red-de-pruebas] + + + TransactionDesc - + Open until %1 Abierto hasta %1 @@ -1855,7 +1851,7 @@ TransactionTableModel - + Date Fecha @@ -1973,7 +1969,7 @@ TransactionView - + All Todo @@ -2060,6 +2056,11 @@ + Copy transaction ID + + + + Edit label Edita etiqueta @@ -2069,7 +2070,7 @@ - + Export Transaction Data Exportar datos de transacción @@ -2124,7 +2125,7 @@ No se pudo escribir en el archivo %1. - + Range: Rango: @@ -2135,43 +2136,94 @@ + WalletModel + + + Send Coins + Enviar monedas + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + Exportar los datos de la pestaña actual a un archivo + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version Versión Bitcoin - + Usage: Uso: - + Send command to -server or bitcoind Envia comando a bitcoin lanzado con -server u bitcoind - + List commands Muestra comandos - + Get help for a command Recibir ayuda para un comando - + Options: Opciones: - + Specify configuration file (default: bitcoin.conf) Especifica archivo de configuración (predeterminado: bitcoin.conf) @@ -2183,106 +2235,96 @@ - - Generate coins - Genera monedas - - - - - Don't generate coins - No generar monedas - - - - + Specify data directory Especifica directorio para los datos - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Escuchar por conecciones en <puerto> (Por defecto: 8333 o red de prueba: 18333) - + Maintain at most <n> connections to peers (default: 125) Mantener al menos <n> conecciones por cliente (por defecto: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) Umbral de desconección de clientes con mal comportamiento (por defecto: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Escucha conexiones JSON-RPC en el puerto <port> (predeterminado: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Aceptar comandos consola y JSON-RPC - + Run in the background as a daemon and accept commands Correr como demonio y acepta comandos - + Use the test network Usa la red de pruebas - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2298,22 +2340,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2322,7 +2364,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2362,63 +2404,173 @@ - + Connect only to the specified node(s) Conecta solo al nodo especificado + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2428,7 +2580,22 @@ Dirección -tor invalida: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2438,7 +2605,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2463,12 +2630,7 @@ Anteponer salida de depuracion con marca de tiempo - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opciones SSL: (ver la Bitcoin Wiki para instrucciones de configuración SSL) @@ -2498,17 +2660,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) Especifica tiempo de espera para conexion en milisegundos (predeterminado: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) Intenta usar UPnP para mapear el puerto de escucha (default: 0) @@ -2540,39 +2727,44 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Contraseña para las conexiones JSON-RPC - + Allow JSON-RPC connections from specified IP address Permite conexiones JSON-RPC desde la dirección IP especificada - + Send commands to node running on <ip> (default: 127.0.0.1) Envia comando al nodo situado en <ip> (predeterminado: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format Actualizar billetera al formato actual - + Set key pool size to <n> (default: 100) Ajusta el numero de claves en reserva <n> (predeterminado: 100) @@ -2584,18 +2776,13 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections Usa OpenSSL (https) para las conexiones JSON-RPC - + Server certificate file (default: server.cert) Certificado del servidor (Predeterminado: server.cert) @@ -2607,40 +2794,40 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Cifrados aceptados (Predeterminado: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Este mensaje de ayuda - + Unable to bind to %s on this computer (bind returned error %d, %s) No es posible escuchar en el %s en este ordenador (bind returned error %d, %s) - + Connect through socks proxy Conecta mediante proxy socks - + Allow DNS lookups for -addnode, -seednode and -connect Permite búsqueda DNS para addnode y connect - + Loading addresses... Cargando direcciónes... - + Error loading wallet.dat: Wallet corrupted Error cargando wallet.dat: Billetera corrupta @@ -2650,32 +2837,22 @@ Error cargando wallet.dat: Billetera necesita una vercion reciente de Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete La billetera necesita ser reescrita: reinicie Bitcoin para completar - + Error loading wallet.dat Error cargando wallet.dat - + Invalid -proxy address: '%s' Dirección -proxy invalida: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2685,7 +2862,7 @@ - + Cannot resolve -bind address: '%s' @@ -2695,32 +2872,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' Cantidad inválida para -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount Cantidad inválida - + Insufficient funds Fondos insuficientes - + Loading block index... Cargando el index de bloques... - + Add a node to connect to and attempt to keep the connection open Agrega un nodo para conectarse and attempt to keep the connection open @@ -2730,12 +2902,7 @@ No es posible escuchar en el %s en este ordenador. Probablemente Bitcoin ya se está ejecutando. - - Find peers using internet relay chat (default: 0) - Buscar pares usando 'internet relay chat (IRC)' (predeterminado: 0) - - - + Fee per KB to add to transactions you send Comisión por kB para adicionarla a las transacciones enviadas @@ -2745,42 +2912,37 @@ Cargando cartera... - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... Rescaneando... - + Done loading Carga completa - + To use the %s option - + Error Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_et.ts bitcoin-0.8.5/src/qt/locale/bitcoin_et.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_et.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_et.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,26 +5,36 @@ About Bitcoin - + Bitcoinist <b>Bitcoin</b> version - - - - - Copyright © 2009-2012 The Bitcoin developers - + <b>Bitcoini</b> versioon - + This is experimental software. Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + ⏎ +See on eksperimentaalne tarkvara.⏎ +⏎ +Levitatud MIT/X11 tarkvara litsentsi all, vaata kaasasolevat faili COPYING või http://www.opensource.org/licenses/mit-license.php⏎ +⏎ +Toode sisaldab OpenSSL Projekti all toodetud tarkvara, mis on kasutamiseks OpenSSL Toolkitis (http://www.openssl.org/) ja Eric Young'i poolt loodud krüptograafilist tarkvara (eay@cryptsoft.com) ning Thomas Bernard'i loodud UPnP tarkvara. + + + + Copyright + Autoriõigus + + + + The Bitcoin developers @@ -36,9 +46,9 @@ Aadressiraamat - + Double-click to edit address or label - + Topeltklõps aadressi või märgise muutmiseks @@ -48,52 +58,62 @@ Copy the currently selected address to the system clipboard - + Kopeeri märgistatud aadress vahemällu &New Address - + &Uus aadress - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + Maksete saamiseks kasutatavad Bitcoini aadressid. Maksjate paremaks jälgimiseks võib igaühele anda erineva. - + &Copy Address - + &Aadressi kopeerimine Show &QR Code - + Kuva %QR kood Sign a message to prove you own a Bitcoin address - + Allkirjasta sõnum, et tõestada Bitconi aadressi olemasolu. Sign &Message - + Allkirjasta &Sõnum Delete the currently selected address from the list + Kustuta märgistatud aadress loetelust + + + + Export the data in the current tab to a file - - Verify a message to ensure it was signed with a specified Bitcoin address + + &Export + + Verify a message to ensure it was signed with a specified Bitcoin address + Kinnita sõnum tõestamaks selle allkirjastatust määratud Bitcoini aadressiga. + + &Verify Message - + &Kinnita Sõnum @@ -101,24 +121,34 @@ &Kustuta - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Need on sinu Bitcoini aadressid maksete saatmiseks. Müntide saatmisel kontrolli alati summat ning saaja aadressi. + + + Copy &Label - + &Märgise kopeerimine - + &Edit - + &Muuda + + + + Send &Coins + Saada &Münte - + Export Address Book Data - + Ekspordi Aadressiraamat Comma separated file (*.csv) - + Komaeraldatud fail (*.csv) @@ -128,13 +158,13 @@ Could not write to file %1. - + Tõrge faili kirjutamisel %1. AddressTableModel - + Label Silt @@ -154,99 +184,99 @@ Passphrase Dialog - + Salafraasi dialoog Enter passphrase - + Sisesta salafraas New passphrase - + Uus salafraas Repeat new passphrase - + Korda salafraasi Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - + Sisesta rahakotile uus salafraas.<br/>Palun kasuta salafraasina <b>vähemalt 10 tähte/numbrit/sümbolit</b>, või <b>vähemalt 8 sõna</b>. Encrypt wallet - + Krüpteeri rahakott This operation needs your wallet passphrase to unlock the wallet. - + See toiming nõuab sinu rahakoti salafraasi. Unlock wallet - + Tee rahakott lukust lahti. This operation needs your wallet passphrase to decrypt the wallet. - + See toiming nõuab sinu rahakoti salafraasi. Decrypt wallet - + Dekrüpteeri rahakott. Change passphrase - + Muuda salafraasi Enter the old and new passphrase to the wallet. - + Sisesta rahakoti vana ning uus salafraas. Confirm wallet encryption - + Kinnita rahakoti krüpteering Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - + Hoiatus: Kui sa kaotad oma, rahakoti krüpteerimisel kasutatud, salafraasi, siis <b>KAOTAD KA KÕIK OMA BITCOINID</b>! Are you sure you wish to encrypt your wallet? - + Kas soovid oma rahakoti krüpteerida? 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. - + TÄHTIS: Kõik varasemad rahakoti varundfailid tuleks üle kirjutada äsja loodud krüpteeritud rahakoti failiga. Turvakaalutlustel tühistatakse krüpteerimata rahakoti failid alates uue, krüpteeritud rahakoti, kasutusele võtust. Warning: The Caps Lock key is on! - + Hoiatus: Caps Lock on sisse lülitatud! Wallet encrypted - + Rahakott krüpteeritud Bitcoin 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. - + Bitcoin sulgub krüpteeringu lõpetamiseks. Pea meeles, et rahakoti krüpteerimine ei välista bitcoinide vargust, kui sinu arvuti on nakatunud pahavaraga. @@ -254,63 +284,63 @@ Wallet encryption failed - + Tõrge rahakoti krüpteerimisel Wallet encryption failed due to an internal error. Your wallet was not encrypted. - + Rahakoti krüpteering ebaõnnestus tõrke tõttu. Sinu rahakotti ei krüpteeritud. The supplied passphrases do not match. - + Salafraasid ei kattu. Wallet unlock failed - + Rahakoti avamine ebaõnnestus The passphrase entered for the wallet decryption was incorrect. - + Rahakoti salafraas ei ole õige. Wallet decryption failed - + Rahakoti dekrüpteerimine ei õnnestunud Wallet passphrase was successfully changed. - + Rahakoti salafraasi muutmine õnnestus. BitcoinGUI - + Sign &message... - + Signeeri &sõnum - + Synchronizing with network... - + Võrgusünkimine... - + &Overview &Ülevaade Show general overview of wallet - + Kuva rahakoti üld-ülevaade @@ -323,54 +353,39 @@ Sirvi tehingute ajalugu - - &Address Book - &Aadressiraamat - - - + Edit the list of stored addresses and labels - - - - - &Receive coins - + Salvestatud aadresside ja märgiste loetelu muutmine - + Show the list of addresses for receiving payments - - - - - &Send coins - + Kuva saadud maksete aadresside loetelu - + E&xit - + V&älju Quit application - + Väljumine Show information about Bitcoin - + Kuva info Bitcoini kohta About &Qt - + Teave &Qt kohta Show information about Qt - + Kuva Qt kohta käiv info @@ -378,251 +393,246 @@ &Valikud... - + &Encrypt Wallet... - + &Krüpteeri Rahakott &Backup Wallet... - + &Varunda Rahakott &Change Passphrase... - + &Salafraasi muutmine - + Importing blocks from disk... - + Impordi blokid kettalt... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - - - - - &Export... - &Ekspordi... + Kettal olevate blokkide re-indekseerimine... - + Send coins to a Bitcoin address - + Saada münte Bitcoini aadressile Modify configuration options for Bitcoin - - - - - Export the data in the current tab to a file - + Muuda Bitcoini seadeid - + Backup wallet to another location - + Varunda rahakott teise asukohta Change the passphrase used for wallet encryption - + Rahakoti krüpteerimise salafraasi muutmine - + &Debug window - + &Debugimise aken Open debugging and diagnostic console - + Ava debugimise ja diagnostika konsool - + &Verify message... - + &Kontrolli sõnumit... - - + + Bitcoin - + Bitcoin - + Wallet - + Rahakott + + + + &Send + &Saada + + + + &Receive + &Saama + + + + &Addresses + &Aadressid - + &About Bitcoin - + %Bitcoinist &Show / Hide - + &Näita / Peida Show or hide the main Window - + Näita või peida peaaken - + Encrypt the private keys that belong to your wallet - + Krüpteeri oma rahakoti privaatvõtmed Sign messages with your Bitcoin addresses to prove you own them - + Omandi tõestamiseks allkirjasta sõnumid oma Bitcoini aadressiga Verify messages to ensure they were signed with specified Bitcoin addresses - + Kinnita sõnumid kindlustamaks et need allkirjastati määratud Bitcoini aadressiga - + &File &Fail - + &Settings &Seaded &Help - &Abiinfo + &Abi Tabs toolbar - - - - - Actions toolbar - + Vahelehe tööriistariba - + [testnet] - + [testnet] - + Bitcoin client - + Bitcoini klient - + %n active connection(s) to Bitcoin network - + %n aktiivne ühendus Bitcoini võrku%n aktiivset ühendust Bitcoini võrku - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Protsessitud %1 (arvutuslikult) tehingu ajaloo blokki %2-st. + + + Processed %1 blocks of transaction history. - + Protsessitud %1 tehingute ajaloo blokki. + + + + %n hour(s) + %n tund%n tundi + + + + %n day(s) + %n päev%n päeva + + + + %n week(s) + %n nädal%n nädalat - + + %1 behind + %1 maas + + + + Last received block was generated %1 ago. + Viimane saabunud blokk loodi %1 tagasi. + + + + Transactions after this will not yet be visible. + Peale seda ei ole tehingud veel nähtavad. + + + Error - + Tõrge Warning - + Hoiatus Information - + Informatsioon - + 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? - - - - - Backup Successful - - - - - The wallet data was successfully saved to the new location. - - - - - %n second(s) ago - - - - - %n minute(s) ago - - - - - %n hour(s) ago - - - - - %n day(s) ago - + See tehing ületab mahupiirangu. Saatmine on võimalik %1, node'idele ning võrgustiku toetuseks, makstava lisatasu eest. Kas nõustud lisatasuga? - + Up to date - + Ajakohane - + Catching up... - - - - - Last received block was generated %1. - + Jõuan... - + Confirm transaction fee - + Kinnita tehingu tasu - + Sent transaction - + Saadetud tehing Incoming transaction - + Sisenev tehing @@ -631,66 +641,49 @@ Type: %3 Address: %4 - + Kuupäev: %1⏎ +Summa: %2⏎ +Tüüp: %3⏎ +Aadress: %4⏎ - - + + URI handling - + URI käsitsemine - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - + URI ei suudeta parsida. Põhjuseks võib olla kehtetu Bitcoini aadress või vigased URI parameetrid. Wallet is <b>encrypted</b> and currently <b>unlocked</b> - + Rahakott on <b>krüpteeritud</b> ning hetkel <b>avatud</b> Wallet is <b>encrypted</b> and currently <b>locked</b> - + Rahakott on <b>krüpteeritud</b> ning hetkel <b>suletud</b> - - Backup Wallet - + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + Ilmnes kriitiline tõrge. Bitcoin suletakse turvakaalutluste tõttu. + + + ClientModel - - Wallet Data (*.dat) - + + Network Alert + Võrgu Häire - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - - A fatal error occurred. Bitcoin can no longer continue safely and will quit. - - - - - ClientModel - - - Network Alert - - - - - EditAddressDialog + + + EditAddressDialog Edit Address @@ -699,106 +692,106 @@ &Label - Si&lt + &Märgis The label associated with this address book entry - + Selle aadressiraamatu kirjega seotud märgis &Address - + &Aadress The address associated with this address book entry. This can only be modified for sending addresses. - + Selle aadressiraamatu kirjega seotud aadress. Võimalik muuta ainult aadresside saatmiseks. - + New receiving address - + Uus sissetulev aadress New sending address - + Uus väljaminev aadress Edit receiving address - + Sissetulevate aadresside muutmine Edit sending address - + Väljaminevate aadresside muutmine - + The entered address "%1" is already in the address book. - + Selline aadress on juba olemas: "%1" - + The entered address "%1" is not a valid Bitcoin address. - + Sisestatud aadress "%1" ei ole Bitcoinis kehtiv. - + Could not unlock wallet. - + Rahakotti ei avatud New key generation failed. - + Tõrge uue võtme loomisel. GUIUtil::HelpMessageBox - + Bitcoin-Qt - + Bitcoini-Qt version - + versioon Usage: - + Kasutus: command-line options - + käsurea valikud UI options - + UI valikud Set language, for example "de_DE" (default: system locale) - + Keele valik, nt "ee_ET" (vaikeväärtus: system locale) Start minimized - + Käivitu tegumiribale Show splash screen on startup (default: 1) - + Käivitamisel teabeakna kuvamine (vaikeväärtus: 1) @@ -806,209 +799,209 @@ Options - + Valikud &Main - + %Peamine - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Pay transaction &fee - + Tasu tehingu &fee Automatically start Bitcoin after logging in to the system. - + Käivita Bitcoin süsteemi logimisel. &Start Bitcoin on system login - + &Start Bitcoin sisselogimisel Reset all client options to default. - + Taasta kõik klientprogrammi seadete vaikeväärtused. &Reset Options - + &Lähtesta valikud &Network - + &Võrk Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. - + Bitcoini kliendi pordi automaatne avamine ruuteris. Toimib, kui sinu ruuter aktsepteerib UPnP ühendust. Map port using &UPnP - + Suuna port &UPnP kaudu Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). - + Kasuta Bitcoini võrgustikku ühendumiseks SOCKS turva proxy't (nt Tor'i kasutamisel). &Connect through SOCKS proxy: - + %Connect läbi turva proxi: Proxy &IP: - + Proxi &IP: IP address of the proxy (e.g. 127.0.0.1) - + Proxi IP (nt 127.0.0.1) &Port: - + &Port: Port of the proxy (e.g. 9050) - + Proxi port (nt 9050) SOCKS &Version: - + Turva proxi SOCKS &Version: SOCKS version of the proxy (e.g. 5) - + Turva proxi SOCKS versioon (nt 5) &Window - + &Aken Show only a tray icon after minimizing the window. - + Minimeeri systray alale. &Minimize to the tray instead of the taskbar - + &Minimeeri systray alale Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. - + Sulgemise asemel minimeeri aken. Selle valiku tegemisel suletakse programm Menüüst "Välju" käsuga. M&inimize on close - + M&inimeeri sulgemisel &Display - + &Kuva User Interface &language: - + Kasutajaliidese &keel: The user interface language can be set here. This setting will take effect after restarting Bitcoin. - + Kasutajaliidese keele valimise koht. Valik rakendub Bitcoini käivitamisel. &Unit to show amounts in: - + Summade kuvamise &Unit: Choose the default subdivision unit to show in the interface and when sending coins. - + Vali liideses ning müntide saatmisel kuvatav vaikimisi alajaotus. Whether to show Bitcoin addresses in the transaction list or not. - + Kuvada Bitcoini aadress tehingute loetelus või mitte. &Display addresses in transaction list - + Tehingute loetelu &Display aadress &OK - + &OK &Cancel - + &Katkesta &Apply - + &Rakenda - + default - + vaikeväärtus Confirm options reset - + Kinnita valikute algseadistamine Some settings may require a client restart to take effect. - + Mõned seadete muudatused rakenduvad programmi käivitumisel. Do you want to proceed? - + Kas soovid jätkata? Warning - + Hoiatus This setting will take effect after restarting Bitcoin. - + Tehtud valik rakendub Bitcoini käivitamisel. The supplied proxy address is invalid. - + Sisestatud kehtetu proxy aadress. @@ -1016,69 +1009,67 @@ Form - + Vorm - - + + 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. - + Kuvatav info ei pruugi olla ajakohane. Ühenduse loomisel süngitakse sinu rahakott automaatselt Bitconi võrgustikuga, kuid see toiming on hetkel lõpetamata. - + Balance: - - - - - Number of transactions: - + Jääk: - + Unconfirmed: - + Kinnitamata: Wallet - + Rahakott - + Immature: - + Ebaküps: Mined balance that has not yet matured - + Mitte aegunud mine'itud jääk <b>Recent transactions</b> - + <b>Uuesti saadetud tehingud</b> - + Your current balance - + Sinu jääk hetkel Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - - - - - Total number of transactions in wallet - + Kinnitamata tehingud kokku. Ei kajastu hetke jäägis - + out of sync - + sünkimata + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Bitcoin ei käivitu: vajuta-maksa toiming @@ -1086,22 +1077,22 @@ QR Code Dialog - + QR koodi dialoog Request Payment - + Makse taotlus Amount: - + Summa: Label: - + Märgis: @@ -1111,32 +1102,32 @@ &Save As... - + &Salvesta nimega... Error encoding URI into QR Code. - + Tõrge URI'st QR koodi loomisel The entered amount is invalid, please check. - + Sisestatud summa on vale, palun kontrolli. Resulting URI too long, try to reduce the text for label / message. - + Tulemuseks on liiga pikk URL, püüa lühendada märgise/teate teksti. Save QR Code - + Salvesta QR kood PNG Images (*.png) - + PNG pildifail (*.png) @@ -1144,7 +1135,7 @@ Client name - + Kliendi nimi @@ -1156,134 +1147,134 @@ - + N/A - + N/A Client version - + Kliendi versioon &Information - + &Informatsioon Using OpenSSL version - + Kasutan OpenSSL versiooni Startup time - + Käivitamise hetk Network - + Võrgustik Number of connections - + Ühenduste arv On testnet - + Testnetis Block chain - + Ploki jada Current number of blocks - + Plokkide hetkearv Estimated total blocks - + Ligikaudne plokkide kogus Last block time - + Viimane ploki aeg &Open - + &Ava Command-line options - + Käsurea valikud Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Näita kehtivate käsurea valikute kuvamiseks Bitcoini-Qt abiteksti &Show - + &Kuva &Console - + &Konsool Build date - + Valmistusaeg Bitcoin - Debug window - + Bitcoin - debugimise aken Bitcoin Core - + Bitcoini tuumik Debug log file - + Debugimise logifail Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - + Ava Bitcoini logifail praegusest andmekaustast. Toiminguks võib kuluda kuni mõni sekund. Clear console - + Puhasta konsool Welcome to the Bitcoin RPC console. - + Teretulemast Bitcoini RPC konsooli. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Ajaloo sirvimiseks kasuta üles ja alla nooli, ekraani puhastamiseks <b>Ctrl-L</b>. Type <b>help</b> for an overview of available commands. - + Ülevaateks võimalikest käsklustest trüki <b>help</b>. @@ -1298,102 +1289,102 @@ Send Coins - + Müntide saatmine Send to multiple recipients at once - + Saatmine mitmele korraga Add &Recipient - + Lisa &Saaja Remove all transaction fields - + Eemalda kõik tehingu väljad Clear &All - + Puhasta &Kõik Balance: - + Jääk: 123.456 BTC - + 123,456 BTC Confirm the send action - + Saatmise kinnitamine S&end - + S&aada <b>%1</b> to %2 (%3) - + <b>%1</b> kuni %2 (%3) Confirm send coins - + Müntide saatmise kinnitamine Are you sure you want to send %1? - + Soovid kindlasti saata %1? and - + ja The recipient address is not valid, please recheck. - + Saaja aadress ei ole kehtiv, palun kontrolli. The amount to pay must be larger than 0. - + Makstav summa peab olema suurem kui 0. The amount exceeds your balance. - + Summa ületab jäägi. The total exceeds your balance when the %1 transaction fee is included. - + Summa koos tehingu tasuga %1 ületab sinu jääki. Duplicate address found, can only send to each address once per send operation. - + Ühe saatmisega topelt-adressaati olla ei tohi. Error: Transaction creation failed! - + Tõrge: Tehingu loomine ebaõnnestus! Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Viga: Tehingust keelduti. Nt rahakoti koopia kasutamisel võivad selle põhjustada juba kulutatud mündid. @@ -1401,63 +1392,63 @@ Form - + Vorm A&mount: - + S&umma: Pay &To: - + Maksa &: The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Tehingu saaja aadress (nt: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Enter a label for this address to add it to your address book - + Aadressiraamatusse sisestamiseks märgista aadress &Label: - + &Märgis Choose address from address book - + Vali saaja aadressiraamatust Alt+A - + Alt+A Paste address from clipboard - + Kleebi aadress vahemälust Alt+P - + Alt+P Remove this recipient - + Saaja eemaldamine Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Sisesta Bitcoini aadress (nt: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1465,132 +1456,132 @@ Signatures - Sign / Verify a Message - + Signatuurid - Allkirjasta / Kinnita Sõnum &Sign Message - + &Allkirjastamise teade You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - + Omandiõigsuse tõestamiseks saad sõnumeid allkirjastada oma aadressiga. Ettevaatust petturitega, kes üritavad saada sinu allkirja endale saada. Allkirjasta ainult korralikult täidetud avaldusi, millega nõustud. The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Sõnumi signeerimise aadress (nt: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Choose an address from the address book - + Vali aadress aadressiraamatust Alt+A - + Alt+A Paste address from clipboard - + Kleebi aadress vahemälust Alt+P - + Alt+P Enter the message you want to sign here - + Sisesta siia allkirjastamise sõnum Signature - + Signatuur Copy the current signature to the system clipboard - + Kopeeri praegune signatuur vahemällu Sign the message to prove you own this Bitcoin address - + Allkirjasta sõnum Bitcoini aadressi sulle kuulumise tõestamiseks Sign &Message - + Allkirjasta &Sõnum Reset all sign message fields - + Tühjenda kõik sõnumi allkirjastamise väljad Clear &All - + Puhasta &Kõik &Verify Message - + &Kinnita Sõnum Enter the signing 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. - + Kinnitamiseks sisesta allkirjastamise aadress, sõnum (kindlasti kopeeri täpselt ka reavahetused, tühikud, tabulaatorid jms) ning allolev signatuur. The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Aadress, millega sõnum allkirjastati (nt: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Verify the message to ensure it was signed with the specified Bitcoin address - + Kinnita sõnum tõestamaks selle allkirjastatust määratud Bitcoini aadressiga. Verify &Message - + Kinnita &Sõnum Reset all verify message fields - + Tühjenda kõik sõnumi kinnitamise väljad Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Sisesta Bitcoini aadress (nt: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Click "Sign Message" to generate signature - + Signatuuri genereerimiseks vajuta "Allkirjasta Sõnum" Enter Bitcoin signature - + Sisesta Bitcoini allkiri The entered address is invalid. - + Sisestatud aadress ei kehti. @@ -1598,82 +1589,95 @@ Please check the address and try again. - + Palun kontrolli aadressi ning proovi uuesti. The entered address does not refer to a key. - + Sisestatud aadress ei viita võtmele. Wallet unlock was cancelled. - + Rahakoti avamine katkestati. Private key for the entered address is not available. - + Sisestatud aadressi privaatvõti ei ole saadaval. Message signing failed. - + Sõnumi signeerimine ebaõnnestus. Message signed. - + Sõnum signeeritud. The signature could not be decoded. - + Signatuuri ei õnnestunud dekodeerida. Please check the signature and try again. - + Palun kontrolli signatuuri ning proovi uuesti. The signature did not match the message digest. - + Signatuur ei kattunud sõnumi kokkuvõttega. Message verification failed. - + Sõnumi kontroll ebaõnnestus. Message verified. + Sõnum kontrollitud. + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] TransactionDesc - + Open until %1 - + Avatud kuni %1 %1/offline - + %/1offline'is %1/unconfirmed - + %1/kinnitamata %1 confirmations - + %1 kinnitust @@ -1683,7 +1687,7 @@ , broadcast through %n node(s) - + , levita läbi %n node'i, levita läbi %n node'i @@ -1693,36 +1697,36 @@ Source - + Allikas Generated - + Genereeritud From - + Saatja To - + Saaja own address - + oma aadress label - + märgis @@ -1731,17 +1735,17 @@ Credit - + Krediit matures in %n more block(s) - + aegub %n bloki pärastaegub %n bloki pärast not accepted - + mitte aktsepteeritud @@ -1749,22 +1753,22 @@ Debit - + Deebet Transaction fee - + Tehingu tasu Net amount - + Neto summa Message - + Sõnum @@ -1774,27 +1778,27 @@ Transaction ID - + Tehingu ID Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - + Enne, kui loodud münte saab kulutama asuda, peavad need läbima 120 blokki. Kui sina selle bloki lõid, levitati see, bloki jadasse ühendamiseks, võrgustikku. Kui jadasse ühendamine ei õnnestu, muudetakse tema staatus "keeldutud" olekusse ning seda ei saa kulutada. Selline olukord võib juhtuda, kui mõni teine node loob bloki sinuga samal ajal. Debug information - + Debug'imise info Transaction - + Tehing Inputs - + Sisendid @@ -1804,22 +1808,22 @@ true - + õige false - + vale , has not been successfully broadcast yet - + , veel esitlemata Open for %n more block(s) - + Avaneb %n bloki pärastAvaneb %n bloki pärast @@ -1832,18 +1836,18 @@ Transaction details - + Tehingu üksikasjad This pane shows a detailed description of the transaction - + Paan kuvab tehingu detailid TransactionTableModel - + Date Kuupäev @@ -1865,211 +1869,216 @@ Open for %n more block(s) - + Avaneb %n bloki pärastAvaneb %n bloki pärast Open until %1 - + Avatud kuni %1 Offline (%1 confirmations) - + Ühenduseta (%1 kinnitust) Unconfirmed (%1 of %2 confirmations) - + Kinnitamata (%1/%2 kinnitust) Confirmed (%1 confirmations) - + Kinnitatud (%1 kinnitust) Mined balance will be available when it matures in %n more block(s) - + Mine'itud jääk muutub kättesaadavaks %n bloki läbimiselMine'itud jääk muutub kättesaadavaks %n bloki läbimisel This block was not received by any other nodes and will probably not be accepted! - + Antud klotsi pole saanud ükski osapool ning tõenäoliselt seda ei aktsepteerita! Generated but not accepted - + Loodud, kuid aktsepteerimata Received with - + Saadud koos Received from - + Kellelt saadud Sent to - + Saadetud Payment to yourself - + Makse iseendale Mined - + Mine'itud (n/a) - + (n/a) Transaction status. Hover over this field to show number of confirmations. - + Tehingu staatus. Kinnituste arvu kuvamiseks liigu hiire noolega selle peale. Date and time that the transaction was received. - + Tehingu saamise kuupäev ning kellaaeg. Type of transaction. - + Tehingu tüüp. Destination address of transaction. - + Tehingu saaja aadress. Amount removed from or added to balance. - + Jäägile lisatud või eemaldatud summa. TransactionView - + All - + Kõik Today - + Täna This week - + Jooksev nädal This month - + Jooksev kuu Last month - + Eelmine kuu This year - + Jooksev aasta Range... - + Ulatus... Received with - + Saadud koos Sent to - + Saadetud To yourself - + Iseendale Mined - + Mine'itud Other - + Muu Enter address or label to search - + Otsimiseks sisesta märgis või aadress Min amount - + Vähim summa Copy address - + Aadressi kopeerimine Copy label - + Märgise kopeerimine Copy amount - + Kopeeri summa + + + + Copy transaction ID + Kopeeri tehingu ID Edit label - + Märgise muutmine Show transaction details - + Kuva tehingu detailid - + Export Transaction Data - + Tehinguandmete eksport Comma separated file (*.csv) - + Komaeraldatud fail (*.csv) Confirmed - + Kinnitatud @@ -2099,7 +2108,7 @@ ID - + ID @@ -2109,645 +2118,820 @@ Could not write to file %1. - + Tõrge faili kirjutamisel %1. - + Range: - + Ulatus: to + saaja + + + + WalletModel + + + Send Coins + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + Varundatud Rahakott + + + + Wallet Data (*.dat) + Rahakoti andmed (*.dat) + + + + Backup Failed + Varundamine nurjus + + + + There was an error trying to save the wallet data to the new location. + Rahakoti andmete uude kohta salvestamine nurjus. + + + + Backup Successful + Varundamine õnnestus + + + + The wallet data was successfully saved to the new location. + Rahakoti andmete uude kohta salvestamine õnnestus. + + + bitcoin-core - + Bitcoin version - + Bitcoini versioon - + Usage: - + Kasutus: - + Send command to -server or bitcoind - + Saada käsklus -serverile või bitcoindile - + List commands - + Käskluste loetelu - + Get help for a command - + Käskluste abiinfo - + Options: - + Valikud: - + Specify configuration file (default: bitcoin.conf) - + Täpsusta sätete fail (vaikimisi: bitcoin.conf) Specify pid file (default: bitcoind.pid) - - - - - Generate coins - - - - - Don't generate coins - + Täpsusta PID fail (vaikimisi: bitcoin.pid) - + Specify data directory - + Täpsusta andmekataloog - + Set database cache size in megabytes (default: 25) - + Sea andmebaasi vahemälu suurus MB (vaikeväärtus: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Kuula ühendusi pordil <port> (vaikeväärtus: 8333 või testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Säilita vähemalt <n> ühendust peeridega (vaikeväärtus: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Peeri aadressi saamiseks ühendu korraks node'iga - + Specify your own public address - + Täpsusta enda avalik aadress - + Threshold for disconnecting misbehaving peers (default: 100) - + Ulakate peeride valulävi (vaikeväärtus: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + Mitme sekundi pärast ulakad peerid tagasi võivad tulla (vaikeväärtus: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + RPC pordi %u kuulamiseks seadistamisel ilmnes viga IPv4'l: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Kuula JSON-RPC ühendusel seda porti <port> (vaikeväärtus: 8332 või testnet: 18332) - + Accept command line and JSON-RPC commands - + Luba käsurea ning JSON-RPC käsklusi - + Run in the background as a daemon and accept commands - + Tööta taustal ning aktsepteeri käsklusi - + Use the test network - + Testvõrgu kasutamine - + Accept connections from outside (default: 1 if no -proxy or -connect) - + Luba välisühendusi (vaikeväärtus: 1 kui puudub -proxy või -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + %s, sul tuleb rpcpassword määrata seadete failis: +%s +Soovitatav on kasutada järgmist juhuslikku parooli: +rpcuser=bitcoinrpc +rpcpassword=%s +(seda parooli ei pea meeles pidama) +Kasutajanimi ning parool EI TOHI kattuda. +Kui faili ei leita, loo see ainult-omaniku-loetavas failiõigustes . +Soovitatav on seadistada tõrgete puhul teavitus; +nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + RPC pordi %u kuulamiseks seadistamisel ilmnes viga IPv6'l, lülitumine tagasi IPv4'le : %s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Määratud aadressiga sidumine ning sellelt kuulamine. IPv6 jaoks kasuta vormingut [host]:port Cannot obtain a lock on data directory %s. Bitcoin is probably already running. - + Ei suuda määrata ainuõigust andmekaustale %s. Tõenäolisel on Bitcoin juba avatud. - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Tõrge: Tehingust keelduti! Põhjuseks võib olla juba kulutatud mündid, nt kui wallet.dat fail koopias kulutatid mündid, kuid ei märgitud neid siin vastavalt. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Tõrge: Selle tehingu jaoks on nõutav lisatasu vähemalt %s. Põhjuseks võib olla summa suurus, keerukus või hiljuti saadud summade kasutamine! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Käivita käsklus, kui saabub tähtis hoiatus (%s cmd's asendatakse sõnumiga) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Käivita käsklus, kui rahakoti tehing muutub (%s cmd's muudetakse TxID'ks) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Sea "kõrge tähtsusega"/"madala tehingu lisatasuga" tehingute maksimumsuurus baitides (vaikeväärtus: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + See on test-versioon - kasutamine omal riisikol - ära kasuta mining'uks ega kaupmeeste programmides Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - + Hoiatus: -paytxfee on seatud väga kõrgeks! See on sinu poolt makstav tehingu lisatasu. Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. - + Hoiatus: Kuvatavad tehingud ei pruugi olla korrektsed! Sina või node'id peate tegema uuenduse. Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. - + Hoiatus: Palun kontrolli oma arvuti kuupäeva/kellaaega! Kui arvuti kell on vale, siis Bitcoin ei tööta korralikult Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Hoiatus: ilmnes tõrge wallet.dat faili lugemisel! Võtmed on terved, kuid tehingu andmed või aadressiraamatu kirjed võivad olla kadunud või vigased. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Hoiatus: toimus wallet.dat faili andmete päästmine! Originaal wallet.dat nimetati kaustas %s ümber wallet.{ajatempel}.bak'iks, jäägi või tehingute ebakõlade puhul tuleks teha backup'ist taastamine. Attempt to recover private keys from a corrupt wallet.dat - + Püüa vigasest wallet.dat failist taastada turvavõtmed Block creation options: - + Blokeeri loomise valikud: - + Connect only to the specified node(s) - + Ühendu ainult määratud node'i(de)ga + Corrupted block database detected + Tuvastati vigane bloki andmebaas + + + Discover own IP address (default: 1 when listening and no -externalip) - + Leia oma IP aadress (vaikeväärtus: 1, kui kuulatakse ning puudub -externalip) - + + Do you want to rebuild the block database now? + Kas soovid bloki andmebaasi taastada? + + + + Error initializing block database + Tõrge bloki andmebaasi käivitamisel + + + + Error initializing wallet database environment %s! + Tõrge rahakoti keskkonna %s käivitamisel! + + + Error loading block database - + Tõrge bloki baasi lugemisel - + + Error opening block database + Tõrge bloki andmebaasi avamisel + + + Error: Disk space is low! - + Tõrge: liiga vähe kettaruumi! - Error: Transaction creation failed! - + Error: Wallet locked, unable to create transaction! + Tõrge: Rahakott on lukus, tehingu loomine ei ole võimalik! - Error: Wallet locked, unable to create transaction! - + Error: system error: + Tõrge: süsteemi tõrge: - + Failed to listen on any port. Use -listen=0 if you want this. - + Pordi kuulamine nurjus. Soovikorral kasuta -listen=0. + + + + Failed to read block info + Tõrge bloki sisu lugemisel + + + + Failed to read block + Bloki lugemine ebaõnnestus + + + + Failed to sync block index + Bloki indeksi sünkimine ebaõnnestus + + + + Failed to write block index + Bloki indeksi kirjutamine ebaõnnestus + + + + Failed to write block info + Bloki sisu kirjutamine ebaõnnestus + + + + Failed to write block + Tõrge bloki sisu kirjutamisel + + + + Failed to write file info + Tõrge faili info kirjutamisel + + + + Failed to write to coin database + Tõrge mündi andmebaasi kirjutamisel + + + + Failed to write transaction index + Tehingu indeksi kirjutamine ebaõnnestus + + + + Failed to write undo data + Tagasivõtmise andmete kirjutamine ebaõnnestus Find peers using DNS lookup (default: 1 unless -connect) - + Otsi DNS'i lookup'i kastavaid peere (vaikeväärtus: 1, kui mitte -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + How many blocks to check at startup (default: 288, 0 = all) + Käivitamisel kontrollitavate blokkide arv (vaikeväärtus: 288, 0=kõik) + + - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + Blokkide kontrollimise põhjalikkus (0-4, vaikeväärtus: 3) + + + + Not enough file descriptors available. + + Rebuild block chain index from current blk000??.dat files + Taasta bloki jada indeks blk000??.dat failist + + + + Set the number of threads to service RPC calls (default: 4) + Määra RPC kõnede haldurite arv (vaikeväärtus: 4) + + + + Verifying blocks... + Kontrollin blokke... + + + Verifying wallet... + Kontrollin rahakotti... + + + Imports blocks from external blk000??.dat file + Impordi blokid välisest blk000??.dat failist + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information - + Informatsioon Invalid -tor address: '%s' - + Vigane -tor aadress: '%s' - - Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + Invalid amount for -minrelaytxfee=<amount>: '%s' - Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + Invalid amount for -mintxfee=<amount>: '%s' + + Maintain a full transaction index (default: 0) + Säilita kogu tehingu indeks (vaikeväärtus: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + Maksimaalne saamise puhver -connection kohta , <n>*1000 baiti (vaikeväärtus: 5000) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + Maksimaalne saatmise puhver -connection kohta , <n>*1000 baiti (vaikeväärtus: 1000) + + + Only accept block chain matching built-in checkpoints (default: 1) - + Tunnusta ainult sisseehitatud turvapunktidele vastavaid bloki jadu (vaikeväärtus: 1) Only connect to nodes in network <net> (IPv4, IPv6 or Tor) - + Ühenda ainult node'idega <net> võrgus (IPv4, IPv6 või Tor) Output extra debugging information. Implies all other -debug* options - + Väljund lisa debug'imise infoks. Tuleneb kõikidest teistest -debug* valikutest Output extra network debugging information - + Lisa võrgu debug'imise info väljund Prepend debug output with timestamp - + Varusta debugi väljund ajatempliga - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) - + SSL valikud: (vaata Bitcoini Wikist või SSL sätete juhendist) Select the version of socks proxy to use (4-5, default: 5) - + Vali turva proxi SOCKS versioon (4-5, vaikeväärtus: 5) Send trace/debug info to console instead of debug.log file - + Saada jälitus/debug, debug.log faili asemel, konsooli Send trace/debug info to debugger - + Saada jälitus/debug info debuggerile Set maximum block size in bytes (default: 250000) - + Sea maksimaalne bloki suurus baitides (vaikeväärtus: 250000) Set minimum block size in bytes (default: 0) - + Sea minimaalne bloki suurus baitides (vaikeväärtus: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) + Kahanda programmi käivitamisel debug.log faili (vaikeväärtus: 1, kui ei ole -debug) + + + + Signing transaction failed Specify connection timeout in milliseconds (default: 5000) + Sea ühenduse timeout millisekundites (vaikeväärtus: 5000) + + + + System error: + Süsteemi tõrge: + + + + Transaction amount too small - - Use UPnP to map the listening port (default: 0) + + Transaction amounts must be positive - Use UPnP to map the listening port (default: 1 when listening) + Transaction too large + + Use UPnP to map the listening port (default: 0) + Kasuta kuulatava pordi määramiseks UPnP ühendust (vaikeväärtus: 0) + + + + Use UPnP to map the listening port (default: 1 when listening) + Kasuta kuulatava pordi määramiseks UPnP ühendust (vaikeväärtus: 1, kui kuulatakse) + + Use proxy to reach tor hidden services (default: same as -proxy) - + Kasuta varjatud teenustele ligipääsuks proxy't (vaikeväärtus: sama, mis -proxy) Username for JSON-RPC connections - + JSON-RPC ühenduste kasutajatunnus Warning - + Hoiatus Warning: This version is obsolete, upgrade required! - + Hoiatus: versioon on aegunud, uuendus on nõutav! + + + + You need to rebuild the databases using -reindex to change -txindex + Andmebaas tuleb taastada kasutades -reindex, et muuta -txindex wallet.dat corrupt, salvage failed - + wallet.dat fail on katki, päästmine ebaõnnestus - + Password for JSON-RPC connections - + JSON-RPC ühenduste salasõna - + Allow JSON-RPC connections from specified IP address - + JSON-RPC ühenduste lubamine kindla IP pealt - + Send commands to node running on <ip> (default: 127.0.0.1) - + Saada käsklusi node'ile IP'ga <ip> (vaikeväärtus: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Käivita käsklus, kui parim plokk muutub (käskluse %s asendatakse ploki hash'iga) - + Upgrade wallet to latest format - + Uuenda rahakott uusimasse vormingusse - + Set key pool size to <n> (default: 100) - + Sea võtmete hulgaks <n> (vaikeväärtus: 100) Rescan the block chain for missing wallet transactions - + Otsi ploki jadast rahakoti kadunud tehinguid - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Kasuta JSON-RPC ühenduste jaoks OpenSSL'i (https) - + Server certificate file (default: server.cert) - + Serveri sertifikaadifail (vaikeväärtus: server.cert) Server private key (default: server.pem) - + Serveri privaatvõti (vaikeväärtus: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + Lubatud šiffrid (vaikeväärtus: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Käesolev abitekst - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Selle arvutiga ei ole võimalik siduda %s külge (katse nurjus %d, %s tõttu) - + Connect through socks proxy - + Ühendu läbi turva proxi - + Allow DNS lookups for -addnode, -seednode and -connect - + -addnode, -seednode ja -connect tohivad kasutada DNS lookup'i - + Loading addresses... - + Aadresside laadimine... - + Error loading wallet.dat: Wallet corrupted - + Viga wallet.dat käivitamisel. Vigane rahakkott Error loading wallet.dat: Wallet requires newer version of Bitcoin - - - - - Verifying block database integrity... - - - - - Verifying wallet integrity... - + Viga wallet.dat käivitamisel: Rahakott nõuab Bitcoini uusimat versiooni - + Wallet needed to be rewritten: restart Bitcoin to complete - + Rahakott tuli ümberkirjutada: toimingu lõpetamiseks taaskäivita Bitcoin - + Error loading wallet.dat - + Viga wallet.dat käivitamisel - + Invalid -proxy address: '%s' - + Vigane -proxi aadress: '%s' - + Unknown network specified in -onlynet: '%s' - + Kirjeldatud tundmatu võrgustik -onlynet'is: '%s' Unknown -socks proxy version requested: %i - + Küsitud tundmatu -socks proxi versioon: %i - + Cannot resolve -bind address: '%s' - + Tundmatu -bind aadress: '%s' Cannot resolve -externalip address: '%s' - + Tundmatu -externalip aadress: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' - - - - - Error: could not start node - + -paytxfee=<amount> jaoks vigane kogus: '%s' - + Invalid amount - + Kehtetu summa - + Insufficient funds - + Liiga suur summa - + Loading block index... - + Klotside indeksi laadimine... - + Add a node to connect to and attempt to keep the connection open - + Lisa node ning hoia ühendus avatud Unable to bind to %s on this computer. Bitcoin is probably already running. - + %s'ga ei ole võimalik sellest arvutist siduda. Bitcoin juba töötab. - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send - + Minu saadetavate tehingute lisatasu KB kohta Loading wallet... - + Rahakoti laadimine... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + Rahakoti vanandamine ebaõnnestus Cannot write default address - + Tõrge vaikimisi aadressi kirjutamisel - + Rescanning... - + Üleskaneerimine... - + Done loading - + Laetud - + To use the %s option - + %s valiku kasutamine - + Error - + Tõrge - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. - + rpcpassword=<password> peab sätete failis olema seadistatud:⏎ +%s⏎ +Kui seda faili ei ole, loo see ainult-omanikule-lugemiseks faili õigustes. \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_eu_ES.ts bitcoin-0.8.5/src/qt/locale/bitcoin_eu_ES.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_eu_ES.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_eu_ES.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,20 +5,15 @@ About Bitcoin - + Bitcoin-i buruz <b>Bitcoin</b> version - <b>Bitcoin</b> Bertsio - - - - Copyright © 2009-2012 The Bitcoin developers - + <b>Bitcoin</b> bertsioa - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,9 +41,9 @@ Helbide-liburua - + Double-click to edit address or label - + Klik bikoitza helbidea edo etiketa editatzeko @@ -48,7 +53,7 @@ Copy the currently selected address to the system clipboard - + Kopiatu hautatutako helbidea sistemaren arbelera @@ -56,19 +61,19 @@ - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + &Copy Address Show &QR Code - + Erakutsi &QR kodea @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -101,42 +116,52 @@ &Ezabatu - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label - + &Edit - - Export Address Book Data + + Send &Coins + + Export Address Book Data + Esportatu Helbide-liburuaren datuak + + Comma separated file (*.csv) - + Komaz bereizitako artxiboa (*.csv) Error exporting - + Errorea esportatzean Could not write to file %1. - + Ezin idatzi %1 artxiboan. AddressTableModel - + Label - + Etiketa @@ -146,7 +171,7 @@ (no label) - + (etiketarik ez) @@ -159,62 +184,62 @@ Enter passphrase - + Sartu pasahitza New passphrase - + Pasahitz berria Repeat new passphrase - + Errepikatu pasahitz berria Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - + Sartu zorrorako pasahitz berria.<br/> Mesedez erabili <b>gutxienez ausazko 10 karaktere</b>, edo <b>gutxienez zortzi hitz</b> pasahitza osatzeko. Encrypt wallet - + Enkriptatu zorroa This operation needs your wallet passphrase to unlock the wallet. - + Eragiketa honek zorroaren pasahitza behar du zorroa desblokeatzeko. Unlock wallet - + Desblokeatu zorroa This operation needs your wallet passphrase to decrypt the wallet. - + Eragiketa honek zure zorroaren pasahitza behar du, zorroa desenkriptatzeko. Decrypt wallet - + Desenkriptatu zorroa Change passphrase - + Aldatu pasahitza Enter the old and new passphrase to the wallet. - + Sartu zorroaren pasahitz zaharra eta berria. Confirm wallet encryption - + Berretsi zorroaren enkriptazioa @@ -241,7 +266,7 @@ Wallet encrypted - + Zorroa enkriptatuta @@ -254,35 +279,35 @@ Wallet encryption failed - + Zorroaren enkriptazioak huts egin du Wallet encryption failed due to an internal error. Your wallet was not encrypted. - + Zorroaren enkriptazioak huts egin du barne-errore baten ondorioz. Zure zorroa ez da enkriptatu. The supplied passphrases do not match. - + Eman dituzun pasahitzak ez datoz bat. Wallet unlock failed - + Zorroaren desblokeoak huts egin du The passphrase entered for the wallet decryption was incorrect. - + Zorroa desenkriptatzeko sartutako pasahitza okerra da. Wallet decryption failed - + Zorroaren desenkriptazioak huts egin du @@ -293,92 +318,77 @@ BitcoinGUI - + Sign &message... - + Synchronizing with network... - + Sarearekin sinkronizatzen... - + &Overview - + &Gainbegiratu Show general overview of wallet - + Ikusi zorroaren begirada orokorra &Transactions - + &Transakzioak Browse transaction history - - - - - &Address Book - + Ikusi transakzioen historia - + Edit the list of stored addresses and labels - - - - - &Receive coins - + Editatu gordetako helbide eta etiketen zerrenda - + Show the list of addresses for receiving payments - - - - - &Send coins - + Erakutsi ordainketak jasotzeko helbideen zerrenda - + E&xit - + Irten Quit application - + Irten aplikaziotik Show information about Bitcoin - + Erakutsi Bitcoin-i buruzko informazioa About &Qt - + &Qt-ari buruz Show information about Qt - + Erakutsi Bitcoin-i buruzko informazioa &Options... - + &Aukerak... - + &Encrypt Wallet... @@ -393,7 +403,7 @@ - + Importing blocks from disk... @@ -402,18 +412,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - - - + Send coins to a Bitcoin address @@ -423,22 +423,17 @@ - - Export the data in the current tab to a file - - - - + Backup wallet to another location Change the passphrase used for wallet encryption - + Aldatu zorroa enkriptatzeko erabilitako pasahitza - + &Debug window @@ -448,23 +443,38 @@ - + &Verify message... - - + + Bitcoin - + Wallet - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,135 +504,130 @@ - + &File - + &Artxiboa - + &Settings - + &Ezarpenak &Help - + &Laguntza Tabs toolbar - - - - - Actions toolbar - + Fitxen tresna-barra - + [testnet] - + [testnet] - + Bitcoin client - + %n active connection(s) to Bitcoin network - + Konexio aktibo %n Bitcoin-en sarera%n konexio aktibo Bitcoin-en sarera - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - - - - - %n minute(s) ago - - - - - %n hour(s) ago - - - - - %n day(s) ago - - - - Up to date + + Information - - Catching up... + + 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? - - Last received block was generated %1. - + + Up to date + Egunean - + + Catching up... + Eguneratzen... + + + Confirm transaction fee - + Sent transaction - + Bidalitako transakzioa Incoming transaction - + Sarrerako transakzioa @@ -634,49 +639,29 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. Wallet is <b>encrypted</b> and currently <b>unlocked</b> - + Zorroa <b>enkriptatuta</b> eta <b>desblokeatuta</b> dago une honetan Wallet is <b>encrypted</b> and currently <b>locked</b> - + Zorroa <b>enkriptatuta</b> eta <b>blokeatuta</b> dago une honetan - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -684,7 +669,7 @@ ClientModel - + Network Alert @@ -694,73 +679,73 @@ Edit Address - + Editatu helbidea &Label - + &Etiketa The label associated with this address book entry - + Helbide-liburuko sarrera honekin lotutako etiketa &Address - + &Helbidea The address associated with this address book entry. This can only be modified for sending addresses. - + Helbide-liburuko sarrera honekin lotutako helbidea. Bidaltzeko helbideeta soilik alda daiteke. - + New receiving address - + Jasotzeko helbide berria New sending address - + Bidaltzeko helbide berria Edit receiving address - + Editatu jasotzeko helbidea Edit sending address - + Editatu bidaltzeko helbidea - + The entered address "%1" is already in the address book. - + Sartu berri den helbidea, "%1", helbide-liburuan dago jadanik. - + The entered address "%1" is not a valid Bitcoin address. - + Could not unlock wallet. - + Ezin desblokeatu zorroa. New key generation failed. - + Gako berriaren sorrerak huts egin du. GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -806,7 +791,7 @@ Options - + Aukerak @@ -815,7 +800,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -974,7 +959,7 @@ - + default @@ -1016,28 +1001,23 @@ Form - + Inprimakia - - + + 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. - + Balance: - + Saldoa: - - Number of transactions: - - - - + Unconfirmed: - + Konfirmatu gabe: @@ -1045,7 +1025,7 @@ - + Immature: @@ -1057,27 +1037,30 @@ <b>Recent transactions</b> - + <b>Azken transakzioak</b> - + Your current balance - + Zure uneko saldoa Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - + Oraindik konfirmatu gabe daudenez, uneko saldoab kontatu gabe dagoen transakzio kopurua - - Total number of transactions in wallet + + + out of sync + + + PaymentServer - - - out of sync + + Cannot start bitcoin: click-to-pay handler @@ -1096,22 +1079,22 @@ Amount: - + Kopurua Label: - + &Etiketa: Message: - + Mezua &Save As... - + Gorde honela... @@ -1156,7 +1139,7 @@ - + N/A @@ -1298,12 +1281,12 @@ Send Coins - + Bidali txanponak Send to multiple recipients at once - + Bidali hainbat jasotzaileri batera @@ -1323,17 +1306,17 @@ Balance: - + Saldoa: 123.456 BTC - + 123.456 BTC Confirm the send action - + Berretsi bidaltzeko ekintza @@ -1343,22 +1326,22 @@ <b>%1</b> to %2 (%3) - + <b>%1</b> honi: %2 (%3) Confirm send coins - + Berretsi txanponak bidaltzea Are you sure you want to send %1? - + Ziur zaude %1 bidali nahi duzula? and - + eta @@ -1368,7 +1351,7 @@ The amount to pay must be larger than 0. - + Ordaintzeko kopurua 0 baino handiagoa izan behar du. @@ -1401,17 +1384,17 @@ Form - + Inprimakia A&mount: - + K&opurua: Pay &To: - + Ordaindu &honi: @@ -1420,14 +1403,14 @@ - + Enter a label for this address to add it to your address book - + Sartu etiketa bat helbide honetarako, eta gehitu zure helbide-liburuan &Label: - + &Etiketa: @@ -1437,27 +1420,27 @@ Alt+A - + Alt+A Paste address from clipboard - + Itsatsi helbidea arbeletik Alt+P - + Alt+P Remove this recipient - + Ezabatu jasotzaile hau Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Sartu Bitocin helbide bat (adb.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1492,17 +1475,17 @@ Alt+A - + Alt+A Paste address from clipboard - + Itsatsi helbidea arbeletik Alt+P - + Alt+P @@ -1574,7 +1557,7 @@ Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Sartu Bitocin helbide bat (adb.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1654,11 +1637,24 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + TransactionDesc - + Open until %1 - + Zabalik %1 arte @@ -1668,12 +1664,12 @@ %1/unconfirmed - + %1/konfirmatu gabe %1 confirmations - + %1 konfirmazioak @@ -1688,7 +1684,7 @@ Date - + Data @@ -1799,7 +1795,7 @@ Amount - + Kopurua @@ -1814,7 +1810,7 @@ , has not been successfully broadcast yet - + , ez da arrakastaz emititu oraindik @@ -1824,7 +1820,7 @@ unknown - + ezezaguna @@ -1832,25 +1828,25 @@ Transaction details - + Transakzioaren xehetasunak This pane shows a detailed description of the transaction - + Panel honek transakzioaren deskribapen xehea erakusten du TransactionTableModel - + Date - + Data Type - + Mota @@ -1860,7 +1856,7 @@ Amount - + Kopurua @@ -1870,12 +1866,12 @@ Open until %1 - + Zabalik %1 arte Offline (%1 confirmations) - + Offline (%1 konfirmazio) @@ -1885,7 +1881,7 @@ Confirmed (%1 confirmations) - + Konfirmatuta (%1 konfirmazio) @@ -1895,17 +1891,17 @@ This block was not received by any other nodes and will probably not be accepted! - + Bloke hau ez du beste inongo nodorik jaso, eta seguruenik ez da onartuko! Generated but not accepted - + Sortua, baina ez onartua Received with - + Jasoa honekin: @@ -1915,131 +1911,131 @@ Sent to - + Honi bidalia: Payment to yourself - + Ordainketa zeure buruari Mined - + Bildua (n/a) - + (n/a) Transaction status. Hover over this field to show number of confirmations. - + Transakzioaren egoera. Pasatu sagua gainetik konfirmazio kopurua ikusteko. Date and time that the transaction was received. - + Transakzioa jasotako data eta ordua. Type of transaction. - + Transakzio mota. Destination address of transaction. - + Transakzioaren xede-helbidea. Amount removed from or added to balance. - + Saldoan kendu edo gehitutako kopurua. TransactionView - + All - + Denak Today - + Gaur This week - + Aste honetan This month - + Hil honetan Last month - + Azken hilean This year - + Aurten Range... - + Muga... Received with - + Jasota honekin: Sent to - + Hona bidalia: To yourself - + Zeure buruari Mined - + Bildua Other - + Beste Enter address or label to search - + Sartu bilatzeko helbide edo etiketa Min amount - + Kopuru minimoa Copy address - + Kopiatu helbidea Copy label - + Kopiatu etiketa @@ -2048,6 +2044,11 @@ + Copy transaction ID + + + + Edit label @@ -2057,14 +2058,14 @@ - + Export Transaction Data - + Transakzioaren xehetasunak Comma separated file (*.csv) - + Komaz bereizitako artxiboa (*.csv) @@ -2074,17 +2075,17 @@ Date - + Data Type - + Mota Label - + Etiketa @@ -2094,7 +2095,7 @@ Amount - + Kopurua @@ -2104,15 +2105,15 @@ Error exporting - + Errorea esportatzean Could not write to file %1. - + Ezin idatzi %1 artxiboan. - + Range: @@ -2123,142 +2124,185 @@ - bitcoin-core + WalletModel - - Bitcoin version + + Send Coins + + + WalletView - - Usage: + + &Export - - Send command to -server or bitcoind + + Export the data in the current tab to a file - - List commands + + Backup Wallet - - Get help for a command + + Wallet Data (*.dat) - - Options: + + Backup Failed - - Specify configuration file (default: bitcoin.conf) + + There was an error trying to save the wallet data to the new location. - - Specify pid file (default: bitcoind.pid) + + Backup Successful - - Generate coins + + The wallet data was successfully saved to the new location. + + + bitcoin-core - - Don't generate coins + + Bitcoin version + Botcoin bertsioa + + + + Usage: - + + Send command to -server or bitcoind + + + + + List commands + Komandoen lista + + + + Get help for a command + Laguntza komando batean + + + + Options: + Aukerak + + + + Specify configuration file (default: bitcoin.conf) + Ezarpen fitxategia aukeratu (berezkoa: bitcoin.conf) + + + + Specify pid file (default: bitcoind.pid) + pid fitxategia aukeratu (berezkoa: bitcoind.pid) + + + Specify data directory - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands - + Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2274,22 +2318,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2298,7 +2342,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2338,62 +2382,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2403,7 +2557,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2413,7 +2582,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2438,12 +2607,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2473,17 +2637,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2514,36 +2703,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) @@ -2553,17 +2747,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) @@ -2573,37 +2762,37 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Laguntza mezu hau - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... - + Error loading wallet.dat: Wallet corrupted @@ -2613,32 +2802,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2648,7 +2827,7 @@ - + Cannot resolve -bind address: '%s' @@ -2658,32 +2837,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Insufficient funds - + Loading block index... - + Add a node to connect to and attempt to keep the connection open @@ -2693,12 +2867,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send @@ -2708,42 +2877,37 @@ - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... - + Birbilatzen... - + Done loading - + Zamaketa amaitua - + To use the %s option - + Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_fa.ts bitcoin-0.8.5/src/qt/locale/bitcoin_fa.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_fa.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_fa.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ نسخه Bitcoin - - Copyright © 2009-2012 The Bitcoin developers - حق مولف © 2009-2012 توسعه دهندگان bitcoin - - - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. ⏎ ⏎ این نسخه نرم افزار آزمایشی است⏎ ⏎ نرم افزار تحت لیسانس MIT/X11 منتشر شده است. به فایل coping یا آدرس http://www.opensource.org/licenses/mit-license.php. مراجعه شود⏎ ⏎ این محصول شامل نرم افزاری است که با OpenSSL برای استفاده از OpenSSL Toolkit (http://www.openssl.org/) و نرم افزار نوشته شده توسط اریک یانگ (eay@cryptsoft.com ) و UPnP توسط توماس برنارد طراحی شده است. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,7 +41,7 @@ فهرست آدرس - + Double-click to edit address or label برای ویرایش آدرس یا بر چسب دو بار کلیک کنید @@ -56,12 +61,12 @@ آدرس جدید - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. این آدرسها، آدرسهای bitcoin شما برای دریافت وجوه هستند. شما ممکن است آدرسهای متفاوت را به هر گیرنده اختصاص دهید که بتوانید مواردی که پرداخت می کنید را پیگیری نمایید - + &Copy Address کپی آدرس @@ -86,7 +91,17 @@ آدرس انتخاب شده در سیستم تخته رسم گیره دا حذف - + + Export the data in the current tab to a file + داده ها نوارِ جاری را به فایل انتقال دهید + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address یک پیام را برای حصول اطمینان از ورود به سیستم با آدرس bitcoin مشخص، شناسایی کنید @@ -101,17 +116,27 @@ حذف - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label کپی و برچسب گذاری - + &Edit ویرایش - + + Send &Coins + + + + Export Address Book Data آدرس انتخاب شده در سیستم تخته رسم گیره دار کپی کنید @@ -134,7 +159,7 @@ AddressTableModel - + Label بر چسب @@ -294,17 +319,17 @@ BitcoinGUI - + Sign &message... امضا و پیام - + Synchronizing with network... همگام سازی با شبکه ... - + &Overview بررسی اجمالی @@ -324,32 +349,17 @@ نمایش تاریخ معاملات - - &Address Book - دفتر آدرس - - - + Edit the list of stored addresses and labels ویرایش لیست آدرسها و بر چسب های ذخیره ای - - &Receive coins - در یافت سکه - - - + Show the list of addresses for receiving payments نمایش لیست آدرس ها برای در یافت پر داخت ها - - &Send coins - رسال سکه ها - - - + E&xit خروج @@ -379,7 +389,7 @@ تنظیمات... - + &Encrypt Wallet... رمزگذاری wallet @@ -394,7 +404,7 @@ تغییر Passphrase - + Importing blocks from disk... @@ -403,19 +413,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - %n بلاکِ باقیمانده -%n بلاکِ باقیمانده - - - - &Export... - &;صادرات - - + Send coins to a Bitcoin address سکه ها را به آدرس bitocin ارسال کن @@ -425,12 +424,7 @@ انتخابهای پیکربندی را برای bitcoin اصلاح کن - - Export the data in the current tab to a file - داده ها نوارِ جاری را به فایل انتقال دهید - - - + Backup wallet to another location نسخه پیشتیبان wallet را به محل دیگر انتقال دهید @@ -440,7 +434,7 @@ عبارت عبور رمز گشایی پنجره تغییر کنید - + &Debug window اشکال زدایی از صفحه @@ -450,23 +444,38 @@ کنسول اشکال زدایی و تشخیص را باز کنید - + &Verify message... بازبینی پیام - - + + Bitcoin یت کویین - + Wallet wallet - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin در مورد bitcoin @@ -481,7 +490,7 @@ - + Encrypt the private keys that belong to your wallet @@ -496,12 +505,12 @@ - + &File فایل - + &Settings تنظیمات @@ -516,108 +525,103 @@ نوار ابزار زبانه ها - - Actions toolbar - نوار ابزار عملیت - - - + [testnet] آزمایش شبکه - + Bitcoin client مشتری Bitcoin - + %n active connection(s) to Bitcoin network در صد ارتباطات فعال بیتکویین با شبکه %n - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - %n بعد از چند دقیقه - - - - %n minute(s) ago - %n بعد از چند دقیقه - - - - %n hour(s) ago - %n بعد از چند دقیقه + + + Information + - - - %n day(s) ago - %n بعد از چند روزز + + + 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? + - + Up to date تا تاریخ - + Catching up... ابتلا به بالا - - Last received block was generated %1. - خرین بلوک در یافت شده تولید شده بود %1 - - - + Confirm transaction fee هزینه تراکنش را تایید کنید - + Sent transaction معامله ارسال شده @@ -639,14 +643,14 @@ آدرس %4 - - + + URI handling مدیریت URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI قابل تحلیل نیست. این خطا ممکن است به دلیل ادرس BITCOIN اشتباه یا پارامترهای اشتباه URI رخ داده باشد @@ -661,27 +665,7 @@ زمایش شبکه - - Backup Wallet - نسخه پیشتیبان از wallet - - - - Wallet Data (*.dat) - داده wallet (*.DAT) - - - - Backup Failed - عملیات پیشتیبان گیری انجام نشد - - - - There was an error trying to save the wallet data to the new location. - در زمان انتقال داده wallet به محل جدید خطا روی داد - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. خطا روی داده است. Bitcoin نمی تواند بدون مشکل ادامه دهد و باید بسته شود @@ -689,7 +673,7 @@ ClientModel - + Network Alert پیام شبکه @@ -722,7 +706,7 @@ آدرس با دفتر آدرس ورودی مرتبط است. این فقط در مورد آدرسهای ارسال شده است - + New receiving address آدرس در یافت نو @@ -742,17 +726,17 @@ اصلاح آدرس ارسال - + The entered address "%1" is already in the address book. %1آدرس وارد شده دیگر در دفتر آدرس است - + The entered address "%1" is not a valid Bitcoin address. آدرس وارد شده %1 یک ادرس صحیح bitcoin نیست - + Could not unlock wallet. رمز گشایی پنجره امکان پذیر نیست @@ -765,7 +749,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -820,8 +804,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - نرخ اختیاری تراکنش هر کیلوبایت که به شما کمک می‌کند اطمینان پیدا کنید که تراکنش‌ها به سرعت پردازش می‌شوند. بیشتر تراکنش‌ها ۱ کیلوبایت هستند. نرخ 0.01 پیشنهاد می‌شود. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -979,7 +963,7 @@ انجام - + default پیش فرض @@ -1024,23 +1008,18 @@ تراز - - + + 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. اطلاعات نمایش داده شده روزآمد نیستند.wallet شما به صورت خودکار با شبکه bitcoin بعد از برقراری اتصال روزآمد می شود اما این فرایند هنوز کامل نشده است. - + Balance: راز: - - Number of transactions: - تعداد معامله - - - + Unconfirmed: تایید نشده @@ -1050,7 +1029,7 @@ wallet - + Immature: نابالغ @@ -1065,7 +1044,7 @@ اخرین معاملات&lt - + Your current balance تزار جاری شما @@ -1075,18 +1054,21 @@ تعداد معاملات که تایید شده ولی هنوز در تزار جاری شما بر شمار نرفته است - - Total number of transactions in wallet - تعداد معاملات در صندوق - - - + out of sync روزآمد نشده + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1161,7 +1143,7 @@ - + N/A - @@ -1425,7 +1407,7 @@ - + Enter a label for this address to add it to your address book برای آدرس بر پسب وارد کنید که در دفتر آدرس اضافه شود @@ -1659,9 +1641,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + آزمایش شبکه + + + TransactionDesc - + Open until %1 باز کردن تا%1 @@ -1850,7 +1845,7 @@ TransactionTableModel - + Date تاریخ @@ -1969,7 +1964,7 @@ TransactionView - + All همه @@ -2056,6 +2051,11 @@ + Copy transaction ID + + + + Edit label اصلاح بر چسب @@ -2065,7 +2065,7 @@ جزئیات تراکنش را نمایش بده - + Export Transaction Data صادرات تاریخ معامله @@ -2120,7 +2120,7 @@ تا فایل %1 نمی شود نوشت - + Range: >محدوده @@ -2131,39 +2131,90 @@ + WalletModel + + + Send Coins + ارسال سکه ها + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + داده ها نوارِ جاری را به فایل انتقال دهید + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version سخه بیتکویین - + Usage: ستفاده : - + Send command to -server or bitcoind ارسال فرمان به سرور یا باتکویین - + List commands لیست فومان ها - + Get help for a command کمک برای فرمان - + Options: تنظیمات - + Specify configuration file (default: bitcoin.conf) (: bitcoin.confپیش فرض: )فایل تنظیمی خاص @@ -2173,100 +2224,92 @@ (bitcoind.pidپیش فرض : ) فایل پید خاص - - Generate coins - سکه های تولید شده - - - - Don't generate coins - تولید سکه ها - - - + Specify data directory دایرکتور اطلاعاتی خاص - + Set database cache size in megabytes (default: 25) سایز کَش بانک داده را بر حسب مگابایت تنظیم کنید (پیش فرض:25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) برای اتصالات به <port> (پیش‌فرض: 8333 یا تست‌نت: 18333) گوش کنید - + Maintain at most <n> connections to peers (default: 125) حداکثر <n> اتصال با همکاران برقرار داشته باشید (پیش‌فرض: 125) - + Connect to a node to retrieve peer addresses, and disconnect اتصال به گره برای دریافت آدرسهای قرینه و قطع اتصال - + Specify your own public address آدرس عمومی خود را ذکر کنید - + Threshold for disconnecting misbehaving peers (default: 100) آستانه برای قطع ارتباط با همکاران بدرفتار (پیش‌فرض: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) مدت زمان به ثانیه برای جلوگیری از همکاران بدرفتار برای اتصال دوباره (پیش‌فرض: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s در زمان تنظیم درگاه RPX %u در فهرست کردن %s اشکالی رخ داده است - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) ( 8332پیش فرض :) &lt;poort&gt; JSON-RPC شنوایی برای ارتباطات - + Accept command line and JSON-RPC commands JSON-RPC قابل فرمانها و - + Run in the background as a daemon and accept commands اجرای در پس زمینه به عنوان شبح و قبول فرمان ها - + Use the test network استفاده شبکه آزمایش - + Accept connections from outside (default: 1 if no -proxy or -connect) پذیرش اتصالات از بیرون (پیش فرض:1 بدون پراکسی یا اتصال) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2282,22 +2325,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2306,7 +2349,7 @@ حجم حداکثر تراکنشهای با/کم اهمیت را به بایت تنظیم کنید (پیش فرض:27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2346,62 +2389,172 @@ بستن گزینه ایجاد - + Connect only to the specified node(s) تنها در گره (های) مشخص شده متصل شوید + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) آدرس آی.پی. خود را شناسایی کنید (پیش فرض:1 در زمان when listening وno -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. شنیدن هر گونه درگاه انجام پذیر نیست. ازlisten=0 برای اینکار استفاده کیند. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) قرینه ها را برای جستجوی DNS بیاب (پیش فرض: 1 مگر در زمان اتصال) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2411,7 +2564,22 @@ آدرس نرم افزار تور غلط است %s - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) حداکثر بافر دریافت شده بر اساس اتصال <n>* 1000 بایت (پیش فرض:5000) @@ -2421,7 +2589,7 @@ حداکثر بافر دریافت شده بر اساس اتصال <n>* 1000 بایت (پیش فرض:1000) - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2446,12 +2614,7 @@ به خروجی اشکال‌زدایی برچسب زمان بزنید - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) گزینه ssl (به ویکیbitcoin برای راهنمای راه اندازی ssl مراجعه شود) @@ -2481,17 +2644,42 @@ حداقل سایز بلاک بر اساس بایت تنظیم شود (پیش فرض: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) فایل debug.log را در startup مشتری کوچک کن (پیش فرض:1 اگر اشکال زدایی روی نداد) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) (میلی ثانیه )فاصله ارتباط خاص - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) از UPnP برای شناسایی درگاه شنیداری استفاده کنید (پیش فرض:0) @@ -2522,36 +2710,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections JSON-RPC عبارت عبور برای ارتباطات - + Allow JSON-RPC connections from specified IP address از آدرس آی پی خاص JSON-RPC قبول ارتباطات - + Send commands to node running on <ip> (default: 127.0.0.1) (127.0.0.1پیش فرض: ) &lt;ip&gt; دادن فرمانها برای استفاده گره ها روی - + Execute command when the best block changes (%s in cmd is replaced by block hash) زمانی که بهترین بلاک تغییر کرد، دستور را اجرا کن (%s در cmd با block hash جایگزین شده است) - + Upgrade wallet to latest format wallet را به جدیدترین فرمت روزآمد کنید - + Set key pool size to <n> (default: 100) (100پیش فرض:)&lt;n&gt; گذاشتن اندازه کلید روی @@ -2561,17 +2754,12 @@ اسکان مجدد زنجیر بلوکها برای گم والت معامله - - How many blocks to check at startup (default: 2500, 0 = all) - چند بلاک برای بررسی در زمان startup (پیش فرض:2500 , 0=همه) - - - + Use OpenSSL (https) for JSON-RPC connections JSON-RPCبرای ارتباطات استفاده کنید OpenSSL (https) - + Server certificate file (default: server.cert) (server.certپیش فرض: )گواهی نامه سرور @@ -2581,37 +2769,37 @@ (server.pemپیش فرض: ) کلید خصوصی سرور - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) رمز های قابل قبول( TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message پیام کمکی - + Unable to bind to %s on this computer (bind returned error %d, %s) امکان اتصال به %s از این رایانه وجود ندارد ( bind returned error %d, %s) - + Connect through socks proxy اتصال از طریق پراکسی ساکس - + Allow DNS lookups for -addnode, -seednode and -connect به DNS اجازه بده تا برای addnode ، seednode و اتصال جستجو کند - + Loading addresses... بار گیری آدرس ها - + Error loading wallet.dat: Wallet corrupted خطا در بارگیری wallet.dat: کیف پول خراب شده است @@ -2621,32 +2809,22 @@ خطا در بارگیری wallet.dat: کیف پول به ویرایش جدیدتری از Biticon نیاز دارد - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete سلام - + Error loading wallet.dat خطا در بارگیری wallet.dat - + Invalid -proxy address: '%s' آدرس پراکسی اشتباه %s - + Unknown network specified in -onlynet: '%s' شبکه مشخص شده غیرقابل شناسایی در onlynet: '%s' @@ -2656,7 +2834,7 @@ نسخه پراکسی ساکس غیرقابل شناسایی درخواست شده است: %i - + Cannot resolve -bind address: '%s' آدرس قابل اتصال- شناسایی نیست %s @@ -2666,32 +2844,27 @@ آدرس خارجی قابل اتصال- شناسایی نیست %s - + Invalid amount for -paytxfee=<amount>: '%s' میزان وجه اشتباه برای paytxfee=<میزان وجه>: %s - - Error: could not start node - خطا: امکان شروع گره وجود ندارد - - - + Invalid amount میزان وجه اشتباه - + Insufficient funds بود جه نا کافی - + Loading block index... بار گیری شاخص بلوک - + Add a node to connect to and attempt to keep the connection open به اتصال یک گره اضافه کنید و اتصال را باز نگاه دارید @@ -2701,12 +2874,7 @@ اتصال به %s از این رایانه امکان پذیر نیست. Bitcoin احتمالا در حال اجراست. - - Find peers using internet relay chat (default: 0) - یافتنت قرینه با استفاده از internet relay chat (پیش فرض:0) - - - + Fee per KB to add to transactions you send پر داجت برای هر کیلو بیت برای اضافه به معامله ارسال @@ -2716,42 +2884,37 @@ بار گیری والت - + Cannot downgrade wallet امکان تنزل نسخه در wallet وجود ندارد - - Cannot initialize keypool - امکان مقداردهی اولیه برای key pool وجود ندارد - - Cannot write default address آدرس پیش فرض قابل ذخیره نیست - + Rescanning... اسکان مجدد - + Done loading بار گیری انجام شده است - + To use the %s option برای استفاده از %s از انتخابات - + Error خطا - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_fa_IR.ts bitcoin-0.8.5/src/qt/locale/bitcoin_fa_IR.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_fa_IR.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_fa_IR.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> version - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,7 +41,7 @@ دفترچه آدرس - + Double-click to edit address or label برای ویرایش آدرس/برچسب دوبار کلیک نمایید @@ -56,12 +61,12 @@ و آدرس جدید - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + &Copy Address و کپی آدرس @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + صدور داده نوار جاری به یک فایل + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -101,17 +116,27 @@ و حذف - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label کپی و برچسب - + &Edit و ویرایش - + + Send &Coins + + + + Export Address Book Data انتقال اطلاعات دفترچه آدرس @@ -134,7 +159,7 @@ AddressTableModel - + Label برچسب @@ -293,17 +318,17 @@ BitcoinGUI - + Sign &message... امضا و پیام - + Synchronizing with network... به روز رسانی با شبکه... - + &Overview و بازبینی @@ -323,32 +348,17 @@ تاریخچه تراکنش را باز کن - - &Address Book - و دفترجه ادرس - - - + Edit the list of stored addresses and labels فهرست آدرسها و برچسبهای ذخیره شده را ویرایش کن - - &Receive coins - و دریافت سکه ها - - - + Show the list of addresses for receiving payments فهرست آدرسها را برای دریافت وجه نشان بده - - &Send coins - و ارسال سکه ها - - - + E&xit خروج @@ -378,7 +388,7 @@ و انتخابها - + &Encrypt Wallet... و رمزگذاری wallet @@ -393,7 +403,7 @@ تغییر رمز/پَس فرِیز - + Importing blocks from disk... @@ -402,19 +412,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - ~%n بلاک باقی مانده است -~%n بلاک باقی مانده است - - - &Export... - و صدور - - - + Send coins to a Bitcoin address @@ -424,12 +423,7 @@ اصلاح انتخابها برای پیکربندی Bitcoin - - Export the data in the current tab to a file - صدور داده نوار جاری به یک فایل - - - + Backup wallet to another location گرفتن نسخه پیشتیبان در آدرسی دیگر @@ -439,7 +433,7 @@ رمز مربوط به رمزگذاریِ wallet را تغییر دهید - + &Debug window @@ -449,23 +443,38 @@ - + &Verify message... - - + + Bitcoin bitcoin - + Wallet کیف پول - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &در مورد بیتکویین @@ -480,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -495,12 +504,12 @@ - + &File و فایل - + &Settings و تنظیمات @@ -515,114 +524,104 @@ نوار ابزار - - Actions toolbar - نوار عملیات - - - + [testnet] [testnet] - + Bitcoin client مشتری bitcoin - + %n active connection(s) to Bitcoin network %n ارتباط فعال به شبکه Bitcoin %n ارتباط فعال به شبکه Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - %n ثانیه قبل -%n ثانیه قبل - - - - %n minute(s) ago - %n دقیقه قبل -%n دقیقه قبل - - - - %n hour(s) ago - %n ساعت قبل -%n ساعت قبل + + + Information + - - - %n day(s) ago - %n روز قبل -%n روز قبل - + + + 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? + - + Up to date روزآمد - + Catching up... در حال روزآمد سازی.. - - Last received block was generated %1. - بلاک دریافت شده قبلی به میزان %1 تولید شده است - - - + Confirm transaction fee - + Sent transaction ارسال تراکنش @@ -642,14 +641,14 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -664,28 +663,7 @@ wallet رمزگذاری شد و در حال حاضر قفل است - - Backup Wallet - گرفتن نسخه پیشتیبان از Wallet - - - - Wallet Data (*.dat) - داده های Wallet -(*.dat) - - - - Backup Failed - عملیات گرفتن نسخه پیشتیبان انجام نشد - - - - There was an error trying to save the wallet data to the new location. - در هنگام ذخیره داده های wallet به نسخه جدید خطایی ایجاد شده است - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -693,7 +671,7 @@ ClientModel - + Network Alert هشدار شبکه @@ -726,7 +704,7 @@ برچسب مربوط به این دفترچه آدرس و تنها ب - + New receiving address آدرسِ دریافت کننده جدید @@ -746,17 +724,17 @@ ویرایش آدرسِ ارسال کننده - + The entered address "%1" is already in the address book. آدرس وارد شده %1 قبلا به فهرست آدرسها اضافه شده بوده است. - + The entered address "%1" is not a valid Bitcoin address. آدرس وارد شده "%1" یک آدرس صحیح برای bitcoin نسشت - + Could not unlock wallet. عدم توانیی برای قفل گشایی wallet @@ -769,7 +747,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -824,7 +802,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -983,7 +961,7 @@ و به کار گرفتن - + default پیش فرض @@ -1028,23 +1006,18 @@ فرم - - + + 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. اطلاعات نمایش داده شده ممکن است روزآمد نباشد. wallet شما به صورت خودکار بعد از برقراری اتصال با شبکه bitcoin به روز می شود اما این فرایند هنوز تکمیل نشده است. - + Balance: مانده حساب: - - Number of transactions: - تعداد تراکنشها - - - + Unconfirmed: تایید نشده @@ -1054,7 +1027,7 @@ کیف پول - + Immature: @@ -1069,7 +1042,7 @@ تراکنشهای اخیر - + Your current balance مانده حساب جاری @@ -1079,18 +1052,21 @@ تعداد تراکنشهایی که نیاز به تایید دارند و هنوز در مانده حساب جاری شما به حساب نیامده اند - - Total number of transactions in wallet - تعداد کل تراکنشهای wallet شما - - - + out of sync خارج از روزآمد سازی + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1166,7 +1142,7 @@ - + N/A @@ -1430,7 +1406,7 @@ - + Enter a label for this address to add it to your address book یک برچسب برای این آدرس بنویسید تا به دفترچه آدرسهای شما اضافه شود @@ -1664,9 +1640,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 باز کن تا %1 @@ -1853,7 +1842,7 @@ TransactionTableModel - + Date تاریخ @@ -1971,7 +1960,7 @@ TransactionView - + All همه @@ -2058,6 +2047,11 @@ + Copy transaction ID + + + + Edit label برچسب را ویرایش کنید @@ -2067,7 +2061,7 @@ - + Export Transaction Data داده های تراکنش را صادر کنید @@ -2122,7 +2116,7 @@ قابل کپی به فایل نیست %1. - + Range: دامنه: @@ -2133,39 +2127,90 @@ + WalletModel + + + Send Coins + سکه های ارسالی + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + صدور داده نوار جاری به یک فایل + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version نسخه bitcoin - + Usage: میزان استفاده: - + Send command to -server or bitcoind ارسال دستور به سرور یا bitcoined - + List commands فهرست دستورها - + Get help for a command درخواست کمک برای یک دستور - + Options: انتخابها: - + Specify configuration file (default: bitcoin.conf) فایل پیکربندیِ را مشخص کنید (پیش فرض: bitcoin.conf) @@ -2175,100 +2220,92 @@ فایل pid را مشخص کنید (پیش فرض: bitcoind.pid) - - Generate coins - سکه ها را تولید کن - - - - Don't generate coins - سکه ها را تولید نکن - - - + Specify data directory دایرکتوری داده را مشخص کن - + Set database cache size in megabytes (default: 25) حافظه بانک داده را به مگابایت تنظیم کنید (پیش فرض: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) ارتباطات را در <PORT> بشنوید (پیش فرض: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) نگهداری <N> ارتباطات برای قرینه سازی (پیش فرض:125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) آستانه قطع برای قرینه سازی اشتباه (پیش فرض:100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) تعداد ثانیه ها برای اتصال دوباره قرینه های اشتباه (پیش فرض:86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) ارتباطاتِ JSON-RPC را در <port> گوش کنید (پیش فرض:8332) - + Accept command line and JSON-RPC commands command line و JSON-RPC commands را قبول کنید - + Run in the background as a daemon and accept commands به عنوان daemon بک گراند را اجرا کنید و دستورات را قبول نمایید - + Use the test network از تستِ شبکه استفاده نمایید - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2284,22 +2321,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2308,7 +2345,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2348,62 +2385,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2413,7 +2560,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2423,7 +2585,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2448,12 +2610,7 @@ برونداد اشکال زدایی با timestamp - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2483,17 +2640,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) تعیین مدت زمان وقفه (time out) به هزارم ثانیه - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2524,36 +2706,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections رمز برای ارتباطاتِ JSON-RPC - + Allow JSON-RPC connections from specified IP address ارتباطاتِ JSON-RPC را از آدرس آی.پی. مشخصی برقرار کنید. - + Send commands to node running on <ip> (default: 127.0.0.1) دستورات را به گره اجرا شده در<ip> ارسال کنید (پیش فرض:127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) دستور را وقتی بهترین بلاک تغییر کرد اجرا کن (%s در دستور توسط block hash جایگزین شده است) - + Upgrade wallet to latest format wallet را به جدیدترین نسخه روزآمد کنید - + Set key pool size to <n> (default: 100) حجم key pool را به اندازه <n> تنظیم کنید (پیش فرض:100) @@ -2563,17 +2750,12 @@ زنجیره بلاک را برای تراکنش جا افتاده در WALLET دوباره اسکن کنید - - How many blocks to check at startup (default: 2500, 0 = all) - چند بلاک در startup بررسی شوند (پیش فرض: 2500 و 0= همه) - - - + Use OpenSSL (https) for JSON-RPC connections برای ارتباطاتِ JSON-RPC از OpenSSL (https) استفاده کنید - + Server certificate file (default: server.cert) فایل certificate سرور (پیش فرض server.cert) @@ -2583,37 +2765,37 @@ رمز اختصاصی سرور (پیش فرض: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) ciphers قابل قبول (پیش فرض: default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message این پیام راهنما - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... لود شدن آدرسها.. - + Error loading wallet.dat: Wallet corrupted خطا در هنگام لود شدن wallet.dat: Wallet corrupted @@ -2623,32 +2805,22 @@ خطا در هنگام لود شدن wallet.dat. به نسخه جدید Bitocin برای wallet نیاز است. - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete wallet نیاز به بازنویسی دارد. Bitcoin را برای تکمیل عملیات دوباره اجرا کنید. - + Error loading wallet.dat خطا در هنگام لود شدن wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2658,7 +2830,7 @@ - + Cannot resolve -bind address: '%s' @@ -2668,32 +2840,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' میزان اشتباه است for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount میزان اشتباه است - + Insufficient funds وجوه ناکافی - + Loading block index... لود شدن نمایه بلاکها.. - + Add a node to connect to and attempt to keep the connection open یک گره برای اتصال اضافه کنید و تلاش کنید تا اتصال را باز نگاه دارید @@ -2703,12 +2870,7 @@ - - Find peers using internet relay chat (default: 0) - یافتن همتا/دوست با استفاده از internet relay chat (پیش فرض:0) - - - + Fee per KB to add to transactions you send هزینه بر اساس کیلو بایت برای اضافه شدن به تراکنشی که ارسال کرده اید @@ -2718,42 +2880,37 @@ wallet در حال لود شدن است... - + Cannot downgrade wallet قابلیت برگشت به نسخه قبلی برای wallet امکان پذیر نیست - - Cannot initialize keypool - initialize keypool امکان پذیر نیست - - Cannot write default address آدرس پیش فرض قابل ذخیره نیست - + Rescanning... اسکنِ دوباره... - + Done loading اتمام لود شدن - + To use the %s option برای استفاده از %s از اختیارات - + Error خطا - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_fi.ts bitcoin-0.8.5/src/qt/locale/bitcoin_fi.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_fi.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_fi.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> versio - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Bitcoin kehittäjät - - - + This is experimental software. @@ -33,6 +28,16 @@ Tämä ohjelma sisältää OpenSSL projektin OpenSSL työkalupakin (http://www.openssl.org/), Eric Youngin (eay@cryptsoft.com) kehittämän salausohjelmiston sekä Thomas Bernardin UPnP ohjelmiston. + + + Copyright + Tekijänoikeus + + + + The Bitcoin developers + + AddressBookPage @@ -42,7 +47,7 @@ Osoitekirja - + Double-click to edit address or label Kaksoisnapauta muokataksesi osoitetta tai nimeä @@ -62,12 +67,12 @@ &Uusi Osoite - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Nämä ovat Bitcoin-osoitteesi joihin voit vastaanottaa maksuja. Voit haluta antaa jokaiselle maksajalle omansa, että pystyt seuraamaan keneltä maksut tulevat. - + &Copy Address &Kopioi Osoite @@ -89,10 +94,20 @@ Delete the currently selected address from the list + Poista valittu osoite listalta + + + + Export the data in the current tab to a file + Vie auki olevan välilehden tiedot tiedostoon + + + + &Export - + Verify a message to ensure it was signed with a specified Bitcoin address Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä Bitcoin-osoitteella @@ -107,17 +122,27 @@ &Poista - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Kopioi &Nimi - + &Edit &Muokkaa - + + Send &Coins + Lähetä &Rahaa + + + Export Address Book Data Vie osoitekirja @@ -140,7 +165,7 @@ AddressTableModel - + Label Nimi @@ -160,12 +185,12 @@ Passphrase Dialog - Tunnuslause Dialogi + Tunnuslauseen Dialogi Enter passphrase - Anna tunnuslause + Kirjoita tunnuslause @@ -175,7 +200,7 @@ Repeat new passphrase - Toista uusi tunnuslause + Kiroita uusi tunnuslause uudelleen @@ -220,12 +245,12 @@ Confirm wallet encryption - Hyväksy lompakon salaus + Vahvista lompakon salaus Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - Varoitus: Jos salaat lompakkosi ja menetät tunnuslauseesi, tulet <b>MENETTÄMÄÄN KAIKKI BITCOINISI</b>! + Varoitus: Jos salaat lompakkosi ja menetät tunnuslauseesi, <b>MENETÄT KAIKKI BITCOINISI</b>! @@ -235,13 +260,13 @@ 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. - + TÄRKEÄÄ: Kaikki vanhat lompakon varmuuskopiot pitäisi korvata uusilla suojatuilla varmuuskopioilla. Turvallisuussyistä edelliset varmuuskopiot muuttuvat turhiksi, kun aloitat suojatun lompakon käytön. Warning: The Caps Lock key is on! - Varoitus: Caps Lock on aktiivinen! + Varoitus: Caps Lock on käytössä! @@ -252,7 +277,7 @@ Bitcoin 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. - Bitcoin sulkeutuu lopettaakseen salausprosessin. Muista, että salattu lompakko ei täysin suojaa sitä haittaohjelmien aiheuttamilta varkauksilta. + Bitcoin sulkeutuu lopettaakseen salausprosessin. Muista, että salattukaan lompakko ei täysin suojaa sitä haittaohjelmien aiheuttamilta varkauksilta. @@ -265,7 +290,7 @@ Wallet encryption failed due to an internal error. Your wallet was not encrypted. - Lompakon salaaminen epäonnistui sisäisen virheen vuoksi. Lompakkoa ei salattu. + Lompakon salaaminen epäonnistui sisäisen virheen vuoksi. Lompakkoasi ei salattu. @@ -299,24 +324,24 @@ BitcoinGUI - + Sign &message... &Allekirjoita viesti... - + Synchronizing with network... Synkronoidaan verkon kanssa... - + &Overview &Yleisnäkymä Show general overview of wallet - Näyttää kokonaiskatsauksen lompakon tilanteesta + Lompakon tilanteen yleiskatsaus @@ -329,39 +354,24 @@ Selaa rahansiirtohistoriaa - - &Address Book - &Osoitekirja - - - + Edit the list of stored addresses and labels Muokkaa tallennettujen nimien ja osoitteiden listaa - - &Receive coins - &Vastaanota Bitcoineja - - - + Show the list of addresses for receiving payments Näytä Bitcoinien vastaanottamiseen käytetyt osoitteet - - &Send coins - &Lähetä Bitcoineja - - - + E&xit L&opeta Quit application - Lopeta ohjelma + Sulje ohjelma @@ -384,7 +394,7 @@ &Asetukset... - + &Encrypt Wallet... &Salaa lompakko... @@ -399,27 +409,17 @@ &Vaihda Tunnuslause... - + Importing blocks from disk... - + Tuodaan lohkoja levyltä Reindexing blocks on disk... - - - - - ~%n block(s) remaining - ~%n lohko jäljellä~%n lohkoja jäljellä - - - - &Export... - &Vie... + Ladataan lohkoindeksiä... - + Send coins to a Bitcoin address Lähetä kolikoita Bitcoin-osoitteeseen @@ -429,12 +429,7 @@ Muuta Bitcoinin konfiguraatioasetuksia - - Export the data in the current tab to a file - Vie auki olevan välilehden tiedot tiedostoon - - - + Backup wallet to another location Varmuuskopioi lompakko toiseen sijaintiin @@ -444,9 +439,9 @@ Vaihda lompakon salaukseen käytettävä tunnuslause - + &Debug window - &Debug ikkuna + &Testausikkuna @@ -454,25 +449,40 @@ Avaa debuggaus- ja diagnostiikkakonsoli - + &Verify message... Varmista &viesti... - - + + Bitcoin Bitcoin - + Wallet Lompakko - + + &Send + &Lähetä + + + + &Receive + &Vastaanota + + + + &Addresses + &Osoitteet + + + &About Bitcoin - Tieto&a Bitcoinista + &Tietoa Bitcoinista @@ -482,30 +492,30 @@ Show or hide the main Window - + Näytä tai piilota Bitcoin-ikkuna - + Encrypt the private keys that belong to your wallet - + Suojaa yksityiset avaimet, jotka kuuluvat lompakkoosi Sign messages with your Bitcoin addresses to prove you own them - + Allekirjoita viestisi omalla Bitcoin -osoitteellasi todistaaksesi, että omistat ne Verify messages to ensure they were signed with specified Bitcoin addresses - + Varmista, että viestisi on allekirjoitettu määritetyllä Bitcoin -osoitteella - + &File &Tiedosto - + &Settings &Asetukset @@ -520,108 +530,103 @@ Välilehtipalkki - - Actions toolbar - Toimintopalkki - - - + [testnet] [testnet] - + Bitcoin client Bitcoin-asiakas - + %n active connection(s) to Bitcoin network %n aktiivinen yhteys Bitcoin-verkkoon%n aktiivista yhteyttä Bitcoin-verkkoon - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error - + + Processed %1 blocks of transaction history. + Käsitelty %1 lohkoa rahansiirtohistoriasta - - - Warning - + + + %n hour(s) + %n tunti%n tuntia - - - Information - + + + %n day(s) + + + + + %n week(s) + %n viikko%n viikkoa - - 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? + + %1 behind - - Backup Successful - + + Last received block was generated %1 ago. + Viimeisin vastaanotettu lohko tuotettu %1. - - The wallet data was successfully saved to the new location. + + Transactions after this will not yet be visible. - - - %n second(s) ago - %n sekunti sitten%n sekuntia sitten + + + Error + Virhe - - - %n minute(s) ago - %n minuutti sitten%n minuuttia sitten + + + Warning + Varoitus - - - %n hour(s) ago - %n tunti sitten%n tuntia sitten + + + Information + Tietoa - - - %n day(s) ago - %n päivä sitten%n päivää sitten + + + 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? + - + Up to date Rahansiirtohistoria on ajan tasalla - + Catching up... - Kurotaan kiinni... + Saavutetaan verkkoa... - - Last received block was generated %1. - Viimeisin vastaanotettu lohko tuotettu %1. - - - + Confirm transaction fee Vahvista maksukulu - + Sent transaction Lähetetyt rahansiirrot @@ -643,14 +648,14 @@ Osoite: %4 - - + + URI handling URI käsittely - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URIa ei voitu jäsentää! Tämä voi johtua kelvottomasta Bitcoin-osoitteesta tai virheellisistä URI parametreista. @@ -665,27 +670,7 @@ Lompakko on <b>salattu</b> ja tällä hetkellä <b>lukittuna</b> - - Backup Wallet - Varmuuskopioi lompakko - - - - Wallet Data (*.dat) - Lompakkodata (*.dat) - - - - Backup Failed - Varmuuskopio epäonnistui - - - - There was an error trying to save the wallet data to the new location. - Virhe tallennettaessa lompakkodataa uuteen sijaintiin. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Peruuttamaton virhe on tapahtunut. Bitcoin ei voi enää jatkaa turvallisesti ja sammutetaan. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Verkkohälytys @@ -726,7 +711,7 @@ Osoite, joka liittyy tämän osoitekirjan merkintään. Tätä voidaan muuttaa vain lähtevissä osoitteissa. - + New receiving address Uusi vastaanottava osoite @@ -746,17 +731,17 @@ Muokkaa lähtevää osoitetta - + The entered address "%1" is already in the address book. Osoite "%1" on jo osoitekirjassa. - + The entered address "%1" is not a valid Bitcoin address. Antamasi osoite "%1" ei ole validi Bitcoin-osoite. - + Could not unlock wallet. Lompakkoa ei voitu avata. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Vapaaehtoinen rahansiirtopalkkio per kB auttaa nopeuttamaan siirtoja. Useimmat rahansiirrot ovat 1 kB. 0.01 palkkio on suositeltava. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -983,7 +968,7 @@ &Hyväksy - + default oletus @@ -1028,23 +1013,18 @@ Lomake - - + + 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. Näytetyt tiedot eivät välttämättä ole ajantasalla. Lompakkosi synkronoituu Bitcoin-verkon kanssa automaattisesti yhteyden muodostamisen jälkeen, mutta synkronointi on vielä meneillään. - + Balance: Saldo: - - Number of transactions: - Rahansiirtojen lukumäärä: - - - + Unconfirmed: Vahvistamatta: @@ -1054,7 +1034,7 @@ Lompakko - + Immature: Epäkypsää: @@ -1069,7 +1049,7 @@ <b>Viimeisimmät rahansiirrot</b> - + Your current balance Tililläsi tällä hetkellä olevien Bitcoinien määrä @@ -1079,18 +1059,21 @@ Niiden saapuvien rahansiirtojen määrä, joita Bitcoin-verkko ei vielä ole ehtinyt vahvistaa ja siten eivät vielä näy saldossa. - - Total number of transactions in wallet - Lompakolla tehtyjen rahansiirtojen yhteismäärä - - - + out of sync Ei ajan tasalla + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1165,7 +1148,7 @@ - + N/A Ei saatavilla @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Anna nimi tälle osoitteelle, jos haluat lisätä sen osoitekirjaan @@ -1521,7 +1504,7 @@ Signature - + Allekirjoitus @@ -1536,7 +1519,7 @@ Sign &Message - + Allekirjoita &viesti @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Avoinna %1 asti @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date Päivämäärä @@ -1970,7 +1966,7 @@ TransactionView - + All Kaikki @@ -2057,6 +2053,11 @@ + Copy transaction ID + + + + Edit label Muokkaa nimeä @@ -2066,7 +2067,7 @@ Näytä rahansiirron yksityiskohdat - + Export Transaction Data Vie rahansiirron tiedot @@ -2121,7 +2122,7 @@ Ei voida kirjoittaa tiedostoon %1. - + Range: Alue: @@ -2132,39 +2133,90 @@ + WalletModel + + + Send Coins + Lähetä Bitcoineja + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + Vie auki olevan välilehden tiedot tiedostoon + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + Varmuuskopio Onnistui + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version Bitcoinin versio - + Usage: Käyttö: - + Send command to -server or bitcoind Lähetä käsky palvelimelle tai bitcoind:lle - + List commands Lista komennoista - + Get help for a command Hanki apua käskyyn - + Options: Asetukset: - + Specify configuration file (default: bitcoin.conf) Määritä asetustiedosto (oletus: bitcoin.conf) @@ -2174,102 +2226,94 @@ Määritä pid-tiedosto (oletus: bitcoin.pid) - - Generate coins - Generoi kolikoita - - - - Don't generate coins - Älä generoi kolikoita - - - + Specify data directory Määritä data-hakemisto - + Set database cache size in megabytes (default: 25) Aseta tietokannan välimuistin koko megatavuina (oletus: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Kuuntele yhteyksiä portista <port> (oletus: 8333 tai testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Pidä enintään <n> yhteyttä verkkoihin (oletus: 125) - + Connect to a node to retrieve peer addresses, and disconnect Yhdistä noodiin hakeaksesi naapurien osoitteet ja katkaise yhteys - + Specify your own public address Määritä julkinen osoitteesi - + Threshold for disconnecting misbehaving peers (default: 100) Kynnysarvo aikakatkaisulle heikosti toimiville verkoille (oletus: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Sekuntien määrä, kuinka kauan uudelleenkytkeydytään verkkoihin (oletus: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Virhe valmisteltaessa RPC-portin %u avaamista kuunneltavaksi: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Kuuntele JSON-RPC -yhteyksiä portista <port> (oletus: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Hyväksy merkkipohjaiset- ja JSON-RPC-käskyt - + Run in the background as a daemon and accept commands Aja taustalla daemonina ja hyväksy komennot - + Use the test network Käytä test -verkkoa - + Accept connections from outside (default: 1 if no -proxy or -connect) Hyväksy yhteyksiä ulkopuolelta (vakioasetus: 1 jos -proxy tai -connect ei määritelty) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + Virhe ilmennyt asetettaessa RPC-porttia %u IPv6:n kuuntelemiseksi, palataan takaisin IPv4:ään %s @@ -2283,22 +2327,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2307,7 +2351,7 @@ Aseta suurin korkean prioriteetin / matalan palkkion siirron koko tavuissa (vakioasetus: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2347,64 +2391,174 @@ Lohkon luonnin asetukset: - + Connect only to the specified node(s) Yhidstä ainoastaan määrättyihin noodeihin + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) Hae oma IP osoite (vakioasetus: 1 kun kuuntelemassa ja ei -externalip) - - Error loading block database + + Do you want to rebuild the block database now? - - Error: Disk space is low! + + Error initializing block database - Error: Transaction creation failed! + Error initializing wallet database environment %s! - Error: Wallet locked, unable to create transaction! + Error loading block database + + Error opening block database + Virhe avattaessa lohkoindeksiä + + + Error: Disk space is low! + Varoitus: Levytila on vähissä! + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + Virhe: Järjestelmävirhe + + + Failed to listen on any port. Use -listen=0 if you want this. Ei onnistuttu kuuntelemaan missään portissa. Käytä -listen=0 jos haluat tätä. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + Lohkon kirjoitus epäonnistui + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) Hae naapureita DNS hauilla (vakioasetus: 1 paitsi jos -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file + Tuodaan lohkoja ulkoisesta blk000??.dat tiedostosta + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information - + Tietoa @@ -2412,7 +2566,22 @@ Virheellinen -tor osoite '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Suurin vastaanottopuskuri yksittäiselle yhteydelle, <n>*1000 tavua (vakioasetus: 5000) @@ -2422,7 +2591,7 @@ Suurin lähetyspuskuri yksittäiselle yhteydelle, <n>*1000 tavua (vakioasetus: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2447,12 +2616,7 @@ Lisää debuggaustiedon tulostukseen aikaleima - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL asetukset (katso Bitcoin Wikistä tarkemmat SSL ohjeet) @@ -2482,17 +2646,42 @@ Asetan pienin lohkon koko tavuissa (vakioasetus: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Pienennä debug.log tiedosto käynnistyksen yhteydessä (vakioasetus: 1 kun ei -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) Määritä yhteyden aikakataisu millisekunneissa (vakioasetus: 5000) - + + System error: + Järjestelmävirhe: + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) Käytä UPnP:tä kuunneltavan portin avaamiseen (vakioasetus: 0) @@ -2514,7 +2703,7 @@ Warning - + Varoitus @@ -2523,36 +2712,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Salasana JSON-RPC-yhteyksille - + Allow JSON-RPC connections from specified IP address Salli JSON-RPC yhteydet tietystä ip-osoitteesta - + Send commands to node running on <ip> (default: 127.0.0.1) Lähetä käskyjä solmuun osoitteessa <ip> (oletus: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Suorita käsky kun paras lohko muuttuu (%s cmd on vaihdettu block hashin kanssa) - + Upgrade wallet to latest format Päivitä lompakko uusimpaan formaattiin - + Set key pool size to <n> (default: 100) Aseta avainpoolin koko arvoon <n> (oletus: 100) @@ -2562,17 +2756,12 @@ Skannaa uudelleen lohkoketju lompakon puuttuvien rahasiirtojen vuoksi - - How many blocks to check at startup (default: 2500, 0 = all) - Kuinka monta lohkoa tarkistetaan käynnistettäessä (oletus: 2500, 0 = kaikki) - - - + Use OpenSSL (https) for JSON-RPC connections Käytä OpenSSL:ää (https) JSON-RPC-yhteyksille - + Server certificate file (default: server.cert) Palvelimen sertifikaatti-tiedosto (oletus: server.cert) @@ -2582,38 +2771,38 @@ Palvelimen yksityisavain (oletus: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Hyväksyttävä salaus (oletus: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Tämä ohjeviesti - + Unable to bind to %s on this computer (bind returned error %d, %s) Kytkeytyminen %s tällä tietokonella ei onnistu (kytkeytyminen palautti virheen %d, %s) - + Connect through socks proxy Yhdistä socks proxyn läpi - + Allow DNS lookups for -addnode, -seednode and -connect Salli DNS kyselyt -addnode, -seednode ja -connect yhteydessä - + Loading addresses... Ladataan osoitteita... - + Error loading wallet.dat: Wallet corrupted Virhe ladattaessa wallet.dat-tiedostoa: Lompakko vioittunut @@ -2623,32 +2812,22 @@ Virhe ladattaessa wallet.dat-tiedostoa: Tarvitset uudemman version Bitcoinista - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Lompakko tarvitsee uudelleenkirjoittaa: käynnistä Bitcoin uudelleen - + Error loading wallet.dat Virhe ladattaessa wallet.dat-tiedostoa - + Invalid -proxy address: '%s' Virheellinen proxy-osoite '%s' - + Unknown network specified in -onlynet: '%s' Tuntematon verkko -onlynet parametrina: '%s' @@ -2658,7 +2837,7 @@ Tuntematon -socks proxy versio pyydetty: %i - + Cannot resolve -bind address: '%s' -bind osoitteen '%s' selvittäminen epäonnistui @@ -2668,32 +2847,27 @@ -externalip osoitteen '%s' selvittäminen epäonnistui - + Invalid amount for -paytxfee=<amount>: '%s' -paytxfee=<amount>: '%s' on virheellinen - - Error: could not start node - Virhe: ei pystytty käynnistämään noodia. - - - + Invalid amount Virheellinen määrä - + Insufficient funds Lompakon saldo ei riitä - + Loading block index... Ladataan lohkoindeksiä... - + Add a node to connect to and attempt to keep the connection open Linää solmu mihin liittyä pitääksesi yhteyden auki @@ -2703,12 +2877,7 @@ Kytkeytyminen %s ei onnistu tällä tietokoneella. Bitcoin on todennäköisesti jo ajamassa. - - Find peers using internet relay chat (default: 0) - Etsi solmuja käyttäen internet relay chatia (oletus: 0) - - - + Fee per KB to add to transactions you send Rahansiirtopalkkio per KB lisätään lähettämääsi rahansiirtoon @@ -2718,42 +2887,37 @@ Ladataan lompakkoa... - + Cannot downgrade wallet Et voi päivittää lompakkoasi vanhempaan versioon - - Cannot initialize keypool - Avainvarastoa ei voi alustaa - - Cannot write default address Oletusosoitetta ei voi kirjoittaa - + Rescanning... Skannataan uudelleen... - + Done loading Lataus on valmis - + To use the %s option Käytä %s optiota - + Error Virhe - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_fr.ts bitcoin-0.8.5/src/qt/locale/bitcoin_fr.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_fr.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_fr.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> version - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012, les développeurs Bitcoin - - - + This is experimental software. @@ -32,16 +27,26 @@ Ce produit comprend des fonctionnalités développées par le projet OpenSSL pour être utilisés dans la boîte à outils OpenSSL (http://www.openssl.org/), un logiciel cryptographique écrit par Eric Young (eay@cryptsoft.com), et des fonctionnalités développées pour le logiciel UPnP écrit par Thomas Bernard. + + + Copyright + Droit d'auteur + + + + The Bitcoin developers + Les développeurs Bitcoin + AddressBookPage Address Book - Options interface utilisateur + Carnet d'adresses - + Double-click to edit address or label Double cliquez afin de modifier l'adresse ou l'étiquette @@ -61,12 +66,12 @@ &Nouvelle adresse - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Voici vos adresses Bitcoin qui vous permettent de recevoir des paiements. Vous pouvez donner une adresse différente à chaque expéditeur afin de savoir qui vous paye. - + &Copy Address &Copier l'adresse @@ -91,7 +96,17 @@ Effacer l'adresse actuellement sélectionnée de la liste - + + Export the data in the current tab to a file + Exporter les données de l'onglet courant vers un fichier + + + + &Export + &Exporter + + + Verify a message to ensure it was signed with a specified Bitcoin address Vérifier un message pour vous assurer qu'il a bien été signé avec l'adresse Bitcoin spécifiée @@ -106,17 +121,27 @@ &Supprimer - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Ce sont vos adresses Bitcoin pour émettre des paiements. Vérifiez toujours le montant et l'adresse du destinataire avant d'envoyer des pièces. + + + Copy &Label Copier l'é&tiquette - + &Edit &Éditer - + + Send &Coins + Envoyer des Bit&coins + + + Export Address Book Data Exporter les données du carnet d'adresses @@ -139,7 +164,7 @@ AddressTableModel - + Label Étiquette @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Signer un &message... - + Synchronizing with network... Synchronisation avec le réseau… - + &Overview &Vue d'ensemble @@ -328,32 +353,17 @@ Parcourir l'historique des transactions - - &Address Book - Carnet d’&adresses - - - + Edit the list of stored addresses and labels Éditer la liste des adresses et des étiquettes stockées - - &Receive coins - &Recevoir des pièces - - - + Show the list of addresses for receiving payments Afficher la liste des adresses pour recevoir des paiements - - &Send coins - &Envoyer des pièces - - - + E&xit Q&uitter @@ -383,7 +393,7 @@ &Options… - + &Encrypt Wallet... &Chiffrer le porte-monnaie... @@ -398,7 +408,7 @@ &Modifier la phrase de passe... - + Importing blocks from disk... Importation des blocs depuis le disque... @@ -407,18 +417,8 @@ Reindexing blocks on disk... Réindexation des blocs sur le disque... - - - ~%n block(s) remaining - ~%n bloc restant~%n blocs restants - - - - &Export... - &Exporter… - - + Send coins to a Bitcoin address Envoyer des pièces à une adresse Bitcoin @@ -428,12 +428,7 @@ Modifier les options de configuration de Bitcoin - - Export the data in the current tab to a file - Exporter les données de l'onglet courant vers un fichier - - - + Backup wallet to another location Sauvegarder le porte-monnaie à un autre emplacement @@ -443,7 +438,7 @@ Modifier la phrase de passe utilisée pour le chiffrement du porte-monnaie - + &Debug window Fenêtre de &débogage @@ -453,23 +448,38 @@ Ouvrir une console de débogage et de diagnostic - + &Verify message... &Vérifier un message... - - + + Bitcoin Bitcoin - + Wallet Porte-monnaie - + + &Send + &Envoyer + + + + &Receive + &Recevoir + + + + &Addresses + &Adresses + + + &About Bitcoin À &propos de Bitcoin @@ -484,7 +494,7 @@ Afficher ou masquer la fenêtre principale - + Encrypt the private keys that belong to your wallet Crypter les clefs privées de votre porte-monnaie @@ -499,12 +509,12 @@ Vérifier les messages pour vous assurer qu'ils ont bien été signés avec les adresses Bitcoin spécifiées - + &File &Fichier - + &Settings &Réglages @@ -519,38 +529,68 @@ Barre d'outils des onglets - - Actions toolbar - Barre d'outils des actions - - - + [testnet] [testnet] - + Bitcoin client Client Bitcoin - + %n active connection(s) to Bitcoin network %n connexion active avec le réseau Bitcoin%n connexions actives avec le réseau Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). - %1 blocs sur %2 de l'historique des transactions traités (%3% effectué). + + No block source available... + Aucune source de bloc disponible... - + + Processed %1 of %2 (estimated) blocks of transaction history. + %1 blocs sur %2 (estimés) de l'historique des transactions traités. + + + Processed %1 blocks of transaction history. %1 blocs de l'historique des transactions traités. + + + %n hour(s) + %n heure%n heures + + + + %n day(s) + %n jour%n jours + + + + %n week(s) + %n semaine%n semaines + - + + %1 behind + %1 en arrière + + + + Last received block was generated %1 ago. + Le dernier bloc reçu avait été généré il y a %1. + + + + Transactions after this will not yet be visible. + Les transactions après cela ne seront pas encore visibles. + + + Error Erreur @@ -565,62 +605,27 @@ Information - + 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? Cette transaction dépasse la limite de taille. Vous pouvez quand même l'envoyer en vous acquittant de frais d'un montant de %1 qui iront aux nœuds qui traiteront la transaction et aideront à soutenir le réseau. Voulez-vous payer les frais ? - - Backup Successful - Sauvegarde réussie - - - - The wallet data was successfully saved to the new location. - Les données de porte-monnaie ont été enregistrées avec succès sur le nouvel emplacement. - - - - %n second(s) ago - il y a %n secondeil y a %n secondes - - - - %n minute(s) ago - il y a %n minuteil y a %n minutes - - - - %n hour(s) ago - il y a %n heureil y a %n heures - - - - %n day(s) ago - il y a %n jouril y a %n jours - - - + Up to date À jour - + Catching up... Rattrapage… - - Last received block was generated %1. - Le dernier bloc reçu a été généré %1. - - - + Confirm transaction fee Confirmer les frais de transaction - + Sent transaction Transaction envoyée @@ -643,14 +648,14 @@ - - + + URI handling Gestion des URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. L'URI ne peut être analysé ! Cela peut être causé par une adresse Bitcoin invalide ou par des paramètres d'URI malformés. @@ -665,27 +670,7 @@ Le porte-monnaie est <b>chiffré</b> et est actuellement <b>verrouillé</b> - - Backup Wallet - Sauvegarder le porte-monnaie - - - - Wallet Data (*.dat) - Données de porte-monnaie (*.dat) - - - - Backup Failed - La sauvegarde a échoué - - - - There was an error trying to save the wallet data to the new location. - Une erreur est survenue lors de l'enregistrement des données de porte-monnaie à un autre emplacement. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Une erreur fatale est survenue. Bitcoin ne peut plus continuer à fonctionner de façon sûre et va s'arrêter. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Alerte réseau @@ -726,7 +711,7 @@ L’adresse associée avec cette entrée du carnet d'adresses. Ne peut être modifiées que les adresses d’envoi. - + New receiving address Nouvelle adresse de réception @@ -746,17 +731,17 @@ Éditer l’adresse d'envoi - + The entered address "%1" is already in the address book. L’adresse fournie « %1 » est déjà présente dans le carnet d'adresses. - + The entered address "%1" is not a valid Bitcoin address. L'adresse fournie « %1 » n'est pas une adresse Bitcoin valide. - + Could not unlock wallet. Impossible de déverrouiller le porte-monnaie. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Frais de transaction optionnels par ko qui aident à garantir un traitement rapide des transactions. La plupart des transactions occupent 1 ko. Des frais de 0.01 sont recommandés. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Frais de transaction optionnel par ko qui aident à garantir un traitement rapide des transactions. La plupart des transactions utilisent 1 ko. @@ -983,7 +968,7 @@ &Appliquer - + default par défaut @@ -995,7 +980,7 @@ Some settings may require a client restart to take effect. - Certains réglages peuvent nécessiter un redémarrage du client pour être pris en compte. + La prise en compte de certains réglages peut nécessiter un redémarrage du client. @@ -1028,23 +1013,18 @@ Formulaire - - + + 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. Les informations affichées peuvent être obsolètes. Votre porte-monnaie est automatiquement synchronisé avec le réseau Bitcoin lorsque la connexion s'établit, or ce processus n'est pas encore terminé. - + Balance: Solde : - - Number of transactions: - Nombre de transactions : - - - + Unconfirmed: Non confirmé : @@ -1054,7 +1034,7 @@ Porte-monnaie - + Immature: Immature : @@ -1069,7 +1049,7 @@ <b>Transactions récentes</b> - + Your current balance Votre solde actuel @@ -1079,18 +1059,21 @@ Total des transactions qui doivent encore être confirmées et qui ne sont pas prises en compte dans le solde actuel - - Total number of transactions in wallet - Nombre total de transactions dans le porte-monnaie - - - + out of sync désynchronisé + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Impossible de démarrer bitcoin : gestionnaire de cliquer-pour-payer + + + QRCodeDialog @@ -1165,7 +1148,7 @@ - + N/A Indisponible @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Entrez une étiquette pour cette adresse afin de l’ajouter à votre carnet d’adresses @@ -1479,7 +1462,7 @@ &Sign Message - &Signer le message + &Signer un message @@ -1536,7 +1519,7 @@ Sign &Message - Signer un &message + Signer le &message @@ -1552,7 +1535,7 @@ &Verify Message - &Vérifier le message + &Vérifier un message @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + Les développeurs Bitcoin + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Ouvert jusqu'à %1 @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date Date @@ -1970,7 +1966,7 @@ TransactionView - + All Toutes @@ -2057,6 +2053,11 @@ + Copy transaction ID + Copier l'ID de la transaction + + + Edit label Éditer l’étiquette @@ -2066,7 +2067,7 @@ Afficher les détails de la transaction - + Export Transaction Data Exporter les données des transactions @@ -2121,7 +2122,7 @@ Impossible d'écrire dans le fichier %1. - + Range: Intervalle : @@ -2132,39 +2133,90 @@ + WalletModel + + + Send Coins + Envoyer des pièces + + + + WalletView + + + &Export + &Exporter + + + + Export the data in the current tab to a file + Exporter les données de l'onglet courant vers un fichier + + + + Backup Wallet + Sauvegarder le porte-monnaie + + + + Wallet Data (*.dat) + Données de porte-monnaie (*.dat) + + + + Backup Failed + Échec de la sauvegarde + + + + There was an error trying to save the wallet data to the new location. + Une erreur est survenue lors de l'enregistrement des données de porte-monnaie à un nouvel endroit + + + + Backup Successful + Sauvegarde réussie + + + + The wallet data was successfully saved to the new location. + Les données de porte-monnaie ont été enregistrées avec succès sur le nouvel emplacement. + + + bitcoin-core - + Bitcoin version Version de Bitcoin - + Usage: Utilisation : - + Send command to -server or bitcoind Envoyer une commande à -server ou à bitcoind - + List commands Lister les commandes - + Get help for a command Obtenir de l’aide pour une commande - + Options: Options : - + Specify configuration file (default: bitcoin.conf) Spécifier le fichier de configuration (par défaut : bitcoin.conf) @@ -2174,107 +2226,102 @@ Spécifier le fichier PID (par défaut : bitcoind.pid) - - Generate coins - Générer des pièces - - - - Don't generate coins - Ne pas générer de pièces - - - + Specify data directory Spécifier le répertoire de données - + Set database cache size in megabytes (default: 25) Définir la taille du tampon en mégaoctets (par défaut : 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Écouter les connexions sur le <port> (par défaut : 8333 ou testnet : 18333) - + Maintain at most <n> connections to peers (default: 125) Garder au plus <n> connexions avec les pairs (par défaut : 125) - + Connect to a node to retrieve peer addresses, and disconnect Se connecter à un nœud pour obtenir des adresses de pairs puis se déconnecter - + Specify your own public address Spécifier votre propre adresse publique - + Threshold for disconnecting misbehaving peers (default: 100) Seuil de déconnexion des pairs de mauvaise qualité (par défaut : 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Délai en secondes de refus de reconnexion aux pairs de mauvaise qualité (par défaut : 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Une erreur est survenue lors de la mise en place du port RPC %u pour écouter sur IPv4 : %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Écouter les connexions JSON-RPC sur le <port> (par défaut : 8332 ou tesnet : 18332) - + Accept command line and JSON-RPC commands Accepter les commandes de JSON-RPC et de la ligne de commande - + Run in the background as a daemon and accept commands Fonctionner en arrière-plan en tant que démon et accepter les commandes - + Use the test network Utiliser le réseau de test - + Accept connections from outside (default: 1 if no -proxy or -connect) Accepter les connexions entrantes (par défaut : 1 si -proxy ou -connect ne sont pas présents) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - %s, vous devez établir un mot de passe rpc dans le fichier de configuration : - %s -Il vous est recommandé d'utiliser le mot de passe aléatoire suivant : -rcpuser=bitcoinrpc + %s, vous devez définir un mot de passe rpc dans le fichier de configuration : +%s +Il vous est conseillé d'utiliser le mot de passe aléatoire suivant : +rpcuser=bitcoinrpc rpcpassword=%s -(vous n'avez pas besoin de mémoriser ce mot de passe) +(vous n'avez pas besoin de retenir ce mot de passe) Le nom d'utilisateur et le mot de passe NE DOIVENT PAS être identiques. -Si le fichier n'existe pas, créez-le avec les droits de lecture accordés seulement au propriétaire. +Si le fichier n'existe pas, créez-le avec les droits de lecture accordés au propriétaire. +Il est aussi conseillé de régler alertnotify pour être prévenu des problèmes ; +par exemple : alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Une erreur est survenue lors de la mise en place du port RPC %u pour écouter sur IPv6, retour à IPv4 : %s @@ -2290,16 +2337,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Base de données de blocs corrompue détectée. Veuillez redémarrer le client avec -reindex. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Une erreur est survenue lors de l'initialisation de l'environnement de base de données %s ! Pour récupérer, SAUVEGARDEZ CE RÉPERTOIRE, puis effacez-y tous les fichiers à l'exception de wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Erreur : la transaction a été rejetée ! Cela peut arriver si certaines pièces de votre porte-monnaie étaient déjà dépensées, par exemple si vous avez utilisé une copie de wallet.dat et les pièces ont été dépensées avec cette copie sans être marquées comme telles ici. @@ -2309,12 +2346,22 @@ Erreur : cette transaction nécessite des frais de transaction d'au moins %s en raison de son montant, de sa complexité ou parce que des fonds reçus récemment sont utilisés ! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Exécuter une commande lorsqu'une alerte correspondante est reçue (%s dans la commande sera remplacé par le message) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Exécuter la commande lorsqu'une transaction de porte-monnaie change (%s dans la commande est remplacée par TxID) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Définir la taille maximale en octets des transactions prioritaires/à frais modiques (par défaut : 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Ceci est une pré-version de test - utilisez à vos risques et périls - ne l'utilisez pas pour miner ou pour des applications marchandes @@ -2354,62 +2401,172 @@ Options de création des blocs : - + Connect only to the specified node(s) Ne se connecter qu'au(x) nœud(s) spécifié(s) + Corrupted block database detected + Base de données des blocs corrompue détectée + + + Discover own IP address (default: 1 when listening and no -externalip) Découvrir sa propre adresse IP (par défaut : 1 lors de l'écoute et si -externalip n'est pas présent) - + + Do you want to rebuild the block database now? + Voulez-vous reconstruire la base de données des blocs maintenant ? + + + + Error initializing block database + Erreur lors de l'initialisation de la base de données des blocs + + + + Error initializing wallet database environment %s! + Erreur lors de l'initialisation de l'environnement de la base de données du porte-monnaie %s ! + + + Error loading block database Erreur du chargement de la base de données des blocs - + + Error opening block database + Erreur lors de l'ouverture de la base de données + + + Error: Disk space is low! Erreur : l'espace disque est faible ! - Error: Transaction creation failed! - Erreur : Échec de la création de la transaction ! + Error: Wallet locked, unable to create transaction! + Erreur : Porte-monnaie verrouillé, impossible de créer la transaction ! - Error: Wallet locked, unable to create transaction! - Erreur : Porte-monnaie verrouillé, impossible de créer la transaction ! + Error: system error: + Erreur : erreur système : - + Failed to listen on any port. Use -listen=0 if you want this. Échec de l'écoute sur un port quelconque. Utilisez -listen=0 si vous voulez cela. + + Failed to read block info + La lecture des informations de bloc a échoué + + + + Failed to read block + La lecture du bloc a échoué + + + + Failed to sync block index + La synchronisation de l'index des blocs a échoué + + + + Failed to write block index + L''écriture de l'index des blocs a échoué + + + + Failed to write block info + L'écriture des informations du bloc a échoué + + + + Failed to write block + L'écriture du bloc a échoué + + + + Failed to write file info + L'écriture des informations de fichier a échoué + + + + Failed to write to coin database + L'écriture dans la base de données des pièces a échoué + + + + Failed to write transaction index + L'écriture de l'index des transactions a échoué + + + + Failed to write undo data + L'écriture des données d'annulation a échoué + + Find peers using DNS lookup (default: 1 unless -connect) Trouver des pairs en utilisant la recherche DNS (par défaut : 1 sauf si -connect est utilisé) - + + Generate coins (default: 0) + Générer des pièces (défaut: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Nombre de blocs à vérifier au démarrage (par défaut : 288, 0 = tout) + + + How thorough the block verification is (0-4, default: 3) Niveau d'approfondissement de la vérification des blocs (0-4, par défaut : 3) - - Importing blocks from block database... - Importation des blocs depuis la base de données... + + Not enough file descriptors available. + Pas assez de descripteurs de fichiers disponibles. + + + + Rebuild block chain index from current blk000??.dat files + Reconstruire l'index de la chaîne des blocs à partir des fichiers blk000??.dat actuels + + + + Set the number of threads to service RPC calls (default: 4) + Définir le nombre d'exétrons pour desservir les appels RPC (par défaut : 4) + + + + Verifying blocks... + Vérification des blocs... + Verifying wallet... + Vérification du porte-monnaie... + + + Imports blocks from external blk000??.dat file Importe des blocs depuis un fichier blk000??.dat externe - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Définir le nombre de fils d’exécution pour la vérification des scripts (maximum 16, 0 = auto, < 0 = laisser ce nombre de cœurs libres, par défaut : 0) + + + Information Informations @@ -2419,7 +2576,22 @@ Adresse -tor invalide : « %s » - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Montant invalide pour -minrelayfee=<montant> : « %s » + + + + Invalid amount for -mintxfee=<amount>: '%s' + Montant invalide pour -mintxfee=<montant> : « %s » + + + + Maintain a full transaction index (default: 0) + Maintenir un index complet des transactions (par défaut : 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Tampon maximal de réception par -connection, <n>*1000 octets (par défaut : 5000) @@ -2429,7 +2601,7 @@ Tampon maximal d'envoi par connexion, <n>*1000 octets (par défaut : 1000) - + Only accept block chain matching built-in checkpoints (default: 1) N'accepter que la chaîne de blocs correspondant aux points de vérification internes (par défaut : 1) @@ -2454,12 +2626,7 @@ Faire précéder les données de débogage par un horodatage - - Rebuild blockchain index from current blk000??.dat files - Reconstruire l'index de la chaîne des blocs depuis les fichiers blk000??.dat actuels - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Options SSL : (cf. le wiki de Bitcoin pour les instructions de configuration du SSL) @@ -2489,17 +2656,42 @@ Définir la taille minimale des blocs en octets (par défaut : 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Réduire le fichier debug.log lors du démarrage du client (par défaut : 1 lorsque -debug n'est pas présent) + + Signing transaction failed + La signature de la transaction a échoué + + Specify connection timeout in milliseconds (default: 5000) Spécifier le délai d'expiration de la connexion en millisecondes (par défaut : 5000) - + + System error: + Erreur système : + + + + Transaction amount too small + Montant de la transaction trop bas + + + + Transaction amounts must be positive + Les montants de la transaction doivent être positifs + + + + Transaction too large + Transaction trop volumineuse + + + Use UPnP to map the listening port (default: 0) Utiliser l'UPnP pour rediriger le port d'écoute (par défaut : 0) @@ -2530,36 +2722,41 @@ + You need to rebuild the databases using -reindex to change -txindex + Vous devez reconstruire les bases de données avec -reindex pour modifier -txindex + + + wallet.dat corrupt, salvage failed wallet.dat corrompu, la récupération a échoué - + Password for JSON-RPC connections Mot de passe pour les connexions JSON-RPC - + Allow JSON-RPC connections from specified IP address Autoriser les connexions JSON-RPC depuis l'adresse IP spécifiée - + Send commands to node running on <ip> (default: 127.0.0.1) Envoyer des commandes au nœud fonctionnant à <ip> (par défaut : 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Exécuter la commande lorsque le meilleur bloc change (%s est remplacé par le hachage du bloc dans cmd) - + Upgrade wallet to latest format Mettre à jour le format du porte-monnaie - + Set key pool size to <n> (default: 100) Régler la taille de la plage de clefs sur <n> (par défaut : 100) @@ -2569,17 +2766,12 @@ Réanalyser la chaîne de blocs pour les transactions de porte-monnaie manquantes - - How many blocks to check at startup (default: 2500, 0 = all) - Nombre de blocs à tester au démarrage (par défaut : 2500, 0 = tous) - - - + Use OpenSSL (https) for JSON-RPC connections Utiliser OpenSSL (https) pour les connexions JSON-RPC - + Server certificate file (default: server.cert) Fichier de certificat serveur (par défaut : server.cert) @@ -2589,37 +2781,37 @@ Clef privée du serveur (par défaut : server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Clefs de chiffrement acceptables (par défaut : TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Ce message d'aide - + Unable to bind to %s on this computer (bind returned error %d, %s) Impossible de se lier à %s sur cet ordinateur (bind a retourné l'erreur %d, %s) - + Connect through socks proxy Connexion via un proxy socks - + Allow DNS lookups for -addnode, -seednode and -connect Autoriser les recherches DNS pour -addnode, -seednode et -connect - + Loading addresses... Chargement des adresses… - + Error loading wallet.dat: Wallet corrupted Erreur lors du chargement de wallet.dat : porte-monnaie corrompu @@ -2629,32 +2821,22 @@ Erreur lors du chargement de wallet.dat : le porte-monnaie nécessite une version plus récente de Bitcoin - - Verifying block database integrity... - Vérification de l'intégrité de la base de données des blocs... - - - - Verifying wallet integrity... - Vérification de l'intégrité du porte-monnaie... - - - + Wallet needed to be rewritten: restart Bitcoin to complete Le porte-monnaie nécessitait une réécriture : veuillez redémarrer Bitcoin pour terminer l'opération - + Error loading wallet.dat Erreur lors du chargement de wallet.dat - + Invalid -proxy address: '%s' Adresse -proxy invalide : « %s » - + Unknown network specified in -onlynet: '%s' Réseau inconnu spécifié sur -onlynet : « %s » @@ -2664,7 +2846,7 @@ Version inconnue de proxy -socks demandée : %i - + Cannot resolve -bind address: '%s' Impossible de résoudre l'adresse -bind : « %s » @@ -2674,32 +2856,27 @@ Impossible de résoudre l'adresse -externalip : « %s » - + Invalid amount for -paytxfee=<amount>: '%s' Montant invalide pour -paytxfee=<montant> : « %s » - - Error: could not start node - Erreur : le nœud n'a pu être démarré - - - + Invalid amount Montant invalide - + Insufficient funds Fonds insuffisants - + Loading block index... Chargement de l’index des blocs… - + Add a node to connect to and attempt to keep the connection open Ajouter un nœud auquel se connecter et tenter de garder la connexion ouverte @@ -2709,12 +2886,7 @@ Impossible de se lier à %s sur cet ordinateur. Bitcoin fonctionne probablement déjà. - - Find peers using internet relay chat (default: 0) - Trouver des pairs en utilisant Internet Relay Chat (par défaut : 0) - - - + Fee per KB to add to transactions you send Frais par Ko à ajouter aux transactions que vous enverrez @@ -2724,42 +2896,37 @@ Chargement du porte-monnaie… - + Cannot downgrade wallet Impossible de revenir à une version antérieure du porte-monnaie - - Cannot initialize keypool - Impossible d'initialiser la plage des clefs - - Cannot write default address Impossible d'écrire l'adresse par défaut - + Rescanning... Nouvelle analyse… - + Done loading Chargement terminé - + To use the %s option Pour utiliser l'option %s - + Error Erreur - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_fr_CA.ts bitcoin-0.8.5/src/qt/locale/bitcoin_fr_CA.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_fr_CA.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_fr_CA.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> version - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Développeurs de Bitcoin - - - + This is experimental software. @@ -32,6 +27,16 @@ Ce produit comprend des logiciels développés par le projet OpenSSL pour être utilisés dans la boîte à outils OpenSSL (http://www.openssl.org/), un logiciel cryptographique écrit par Eric Young (eay@cryptsoft.com) et un logiciel UPnP écrit par Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -41,7 +46,7 @@ Carnet d'adresses - + Double-click to edit address or label Double-cliquez afin de modifier l'adress ou l'étiquette @@ -61,12 +66,12 @@ - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Ceux-ci sont vos adresses Bitcoin qui vous permettent de recevoir des paiements. Vous pouvez en donner une différente à chaque expédieur afin de savoir qui vous payent. - + &Copy Address @@ -91,7 +96,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -106,17 +121,27 @@ &Supprimer - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label - + &Edit - + + Send &Coins + + + + Export Address Book Data Exporter les données du carnet d'adresses @@ -139,7 +164,7 @@ AddressTableModel - + Label @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... - + Synchronizing with network... - + &Overview @@ -328,32 +353,17 @@ - - &Address Book - - - - + Edit the list of stored addresses and labels - - &Receive coins - - - - + Show the list of addresses for receiving payments - - &Send coins - - - - + E&xit @@ -383,7 +393,7 @@ - + &Encrypt Wallet... @@ -398,7 +408,7 @@ - + Importing blocks from disk... @@ -407,18 +417,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - - - + Send coins to a Bitcoin address @@ -428,12 +428,7 @@ - - Export the data in the current tab to a file - - - - + Backup wallet to another location @@ -443,7 +438,7 @@ - + &Debug window @@ -453,23 +448,38 @@ - + &Verify message... - - + + Bitcoin - + Wallet - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &A propos de Bitcoin @@ -484,7 +494,7 @@ - + Encrypt the private keys that belong to your wallet @@ -499,12 +509,12 @@ - + &File - + &Settings @@ -519,108 +529,103 @@ - - Actions toolbar - - - - + [testnet] - + Bitcoin client - + %n active connection(s) to Bitcoin network - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - - - - - %n minute(s) ago - - - - - %n hour(s) ago - - - - - %n day(s) ago - + + + Information + - - Up to date + + 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? - - Catching up... + + Up to date - - Last received block was generated %1. + + Catching up... - + Confirm transaction fee - + Sent transaction @@ -639,14 +644,14 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -661,27 +666,7 @@ - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -689,7 +674,7 @@ ClientModel - + Network Alert @@ -722,7 +707,7 @@ - + New receiving address @@ -742,17 +727,17 @@ - + The entered address "%1" is already in the address book. - + The entered address "%1" is not a valid Bitcoin address. - + Could not unlock wallet. @@ -765,7 +750,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -820,7 +805,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -979,7 +964,7 @@ - + default @@ -1024,23 +1009,18 @@ - - + + 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. - + Balance: - - Number of transactions: - - - - + Unconfirmed: @@ -1050,7 +1030,7 @@ - + Immature: @@ -1065,7 +1045,7 @@ - + Your current balance @@ -1075,14 +1055,17 @@ - - Total number of transactions in wallet + + + out of sync + + + PaymentServer - - - out of sync + + Cannot start bitcoin: click-to-pay handler @@ -1161,7 +1144,7 @@ - + N/A @@ -1425,7 +1408,7 @@ - + Enter a label for this address to add it to your address book @@ -1659,9 +1642,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + TransactionDesc - + Open until %1 @@ -1848,7 +1844,7 @@ TransactionTableModel - + Date @@ -1966,7 +1962,7 @@ TransactionView - + All @@ -2053,6 +2049,11 @@ + Copy transaction ID + + + + Edit label @@ -2062,7 +2063,7 @@ - + Export Transaction Data @@ -2117,7 +2118,7 @@ - + Range: @@ -2128,142 +2129,185 @@ - bitcoin-core + WalletModel - - Bitcoin version + + Send Coins + + + WalletView - - Usage: + + &Export - - Send command to -server or bitcoind + + Export the data in the current tab to a file - - List commands + + Backup Wallet - - Get help for a command + + Wallet Data (*.dat) - - Options: + + Backup Failed - - Specify configuration file (default: bitcoin.conf) + + There was an error trying to save the wallet data to the new location. - - Specify pid file (default: bitcoind.pid) + + Backup Successful - - Generate coins + + The wallet data was successfully saved to the new location. + + + bitcoin-core - - Don't generate coins + + Bitcoin version + + + + + Usage: + + + + + Send command to -server or bitcoind - + + List commands + + + + + Get help for a command + + + + + Options: + + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + Specify data directory - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands - + Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2279,22 +2323,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2303,7 +2347,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2343,62 +2387,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2408,7 +2562,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2418,7 +2587,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2443,12 +2612,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2478,17 +2642,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2519,36 +2708,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) @@ -2558,17 +2752,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) @@ -2578,37 +2767,37 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... - + Error loading wallet.dat: Wallet corrupted @@ -2618,32 +2807,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2653,7 +2832,7 @@ - + Cannot resolve -bind address: '%s' @@ -2663,32 +2842,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Insufficient funds - + Loading block index... - + Add a node to connect to and attempt to keep the connection open @@ -2698,12 +2872,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send @@ -2713,42 +2882,37 @@ - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... - + Done loading - + To use the %s option - + Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_gu_IN.ts bitcoin-0.8.5/src/qt/locale/bitcoin_gu_IN.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_gu_IN.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_gu_IN.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,7 +41,7 @@ - + Double-click to edit address or label @@ -56,12 +61,12 @@ - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + &Copy Address @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -101,17 +116,27 @@ - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label - + &Edit - + + Send &Coins + + + + Export Address Book Data @@ -134,7 +159,7 @@ AddressTableModel - + Label @@ -293,17 +318,17 @@ BitcoinGUI - + Sign &message... - + Synchronizing with network... - + &Overview @@ -323,32 +348,17 @@ - - &Address Book - - - - + Edit the list of stored addresses and labels - - &Receive coins - - - - + Show the list of addresses for receiving payments - - &Send coins - - - - + E&xit @@ -378,7 +388,7 @@ - + &Encrypt Wallet... @@ -393,7 +403,7 @@ - + Importing blocks from disk... @@ -402,18 +412,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - - - + Send coins to a Bitcoin address @@ -423,12 +423,7 @@ - - Export the data in the current tab to a file - - - - + Backup wallet to another location @@ -438,7 +433,7 @@ - + &Debug window @@ -448,23 +443,38 @@ - + &Verify message... - - + + Bitcoin - + Wallet - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,12 +504,12 @@ - + &File - + &Settings @@ -514,108 +524,103 @@ - - Actions toolbar - - - - + [testnet] - + Bitcoin client - + %n active connection(s) to Bitcoin network - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - - - - - %n minute(s) ago - - - - - %n hour(s) ago - - - - - %n day(s) ago - + + + Information + - - Up to date + + 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? - - Catching up... + + Up to date - - Last received block was generated %1. + + Catching up... - + Confirm transaction fee - + Sent transaction @@ -634,14 +639,14 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -656,27 +661,7 @@ - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -684,7 +669,7 @@ ClientModel - + Network Alert @@ -717,7 +702,7 @@ - + New receiving address @@ -737,17 +722,17 @@ - + The entered address "%1" is already in the address book. - + The entered address "%1" is not a valid Bitcoin address. - + Could not unlock wallet. @@ -760,7 +745,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -815,7 +800,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -974,7 +959,7 @@ - + default @@ -1019,23 +1004,18 @@ - - + + 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. - + Balance: - - Number of transactions: - - - - + Unconfirmed: @@ -1045,7 +1025,7 @@ - + Immature: @@ -1060,7 +1040,7 @@ - + Your current balance @@ -1070,14 +1050,17 @@ - - Total number of transactions in wallet + + + out of sync + + + PaymentServer - - - out of sync + + Cannot start bitcoin: click-to-pay handler @@ -1156,7 +1139,7 @@ - + N/A @@ -1420,7 +1403,7 @@ - + Enter a label for this address to add it to your address book @@ -1654,9 +1637,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + TransactionDesc - + Open until %1 @@ -1843,7 +1839,7 @@ TransactionTableModel - + Date @@ -1961,7 +1957,7 @@ TransactionView - + All @@ -2048,6 +2044,11 @@ + Copy transaction ID + + + + Edit label @@ -2057,7 +2058,7 @@ - + Export Transaction Data @@ -2112,7 +2113,7 @@ - + Range: @@ -2123,142 +2124,185 @@ - bitcoin-core + WalletModel - - Bitcoin version + + Send Coins + + + WalletView - - Usage: + + &Export - - Send command to -server or bitcoind + + Export the data in the current tab to a file - - List commands + + Backup Wallet - - Get help for a command + + Wallet Data (*.dat) - - Options: + + Backup Failed - - Specify configuration file (default: bitcoin.conf) + + There was an error trying to save the wallet data to the new location. - - Specify pid file (default: bitcoind.pid) + + Backup Successful - - Generate coins + + The wallet data was successfully saved to the new location. + + + bitcoin-core - - Don't generate coins + + Bitcoin version + + + + + Usage: + + + + + Send command to -server or bitcoind - + + List commands + + + + + Get help for a command + + + + + Options: + + + + + Specify configuration file (default: bitcoin.conf) + + + + + Specify pid file (default: bitcoind.pid) + + + + Specify data directory - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands - + Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2274,22 +2318,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2298,7 +2342,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2338,62 +2382,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2403,7 +2557,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2413,7 +2582,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2438,12 +2607,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2473,17 +2637,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2514,36 +2703,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) @@ -2553,17 +2747,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) @@ -2573,37 +2762,37 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... - + Error loading wallet.dat: Wallet corrupted @@ -2613,32 +2802,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2648,7 +2827,7 @@ - + Cannot resolve -bind address: '%s' @@ -2658,32 +2837,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Insufficient funds - + Loading block index... - + Add a node to connect to and attempt to keep the connection open @@ -2693,12 +2867,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send @@ -2708,42 +2877,37 @@ - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... - + Done loading - + To use the %s option - + Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_he.ts bitcoin-0.8.5/src/qt/locale/bitcoin_he.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_he.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_he.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ גרסת <b>ביטקוין</b> - - Copyright © 2009-2012 The Bitcoin developers - זכויות יוצרים 2009-2012 שמורות למפתחי הביטקוין - - - + This is experimental software. @@ -32,6 +27,16 @@ המוצר הזה כולל תוכנה שפותחה ע"י פרויקט OpenSSL לשימוש בתיבת הכלים OpenSSL (http://www.openssl.org/) ותוכנה קריפטוגרפית שנכתבה ע"י אריק יאנג (eay@cryptsoft.com) ותוכנת UPnP שנכתבה ע"י תומס ברנרד. + + + Copyright + זכויות יוצרים + + + + The Bitcoin developers + + AddressBookPage @@ -41,7 +46,7 @@ פנקס כתובות - + Double-click to edit address or label לחץ לחיצה כפולה לערוך כתובת או תוית @@ -61,12 +66,12 @@ כתובת חדשה - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. אלה כתובת הביטקוין שלך עבור קבלת תשלומים. ייתכן ותרצה לתת כתובת שונה לכל שולח כדי שתוכל לעקוב אחר מי משלם לך. - + &Copy Address העתק כתובת @@ -91,7 +96,17 @@ מחק את הכתובת שנבחרה מהרשימה - + + Export the data in the current tab to a file + יצוא הנתונים בטאב הנוכחי לקובץ + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address אמת הודעה בכדי להבטיח שהיא נחתמה עם כתובת ביטקוין מסוימת. @@ -103,20 +118,30 @@ &Delete - &מחיקה + מחק + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + אלה כתובת הביטקוין שלך עבור שליחת תשלומים. תמיד בדוק את מספר ואת כתובות מקבלי התשלומים לפני שליחת מטבעות. - + Copy &Label העתק תוית - + &Edit עריכה - + + Send &Coins + שלח מטבעות + + + Export Address Book Data יצוא נתוני פנקס כתובות @@ -139,7 +164,7 @@ AddressTableModel - + Label תוית @@ -151,7 +176,7 @@ (no label) - (ללא כתובת) + (ללא תוית) @@ -184,7 +209,7 @@ Encrypt wallet - הצפנת ארנק + הצפן ארנק @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... חתום על הודעה - + Synchronizing with network... מסתנכרן עם הרשת... - + &Overview &סקירה @@ -328,32 +353,17 @@ דפדף בהיסטוריית הפעולות - - &Address Book - פנקס &כתובות - - - + Edit the list of stored addresses and labels ערוך את רשימת הכתובות והתויות - - &Receive coins - &קבלת מטבעות - - - + Show the list of addresses for receiving payments הצג את רשימת הכתובות לקבלת תשלומים - - &Send coins - &שלח מטבעות - - - + E&xit י&ציאה @@ -383,7 +393,7 @@ &אפשרויות - + &Encrypt Wallet... הצפן ארנק @@ -398,7 +408,7 @@ שנה סיסמא - + Importing blocks from disk... מייבא בלוקים מהדיסק... @@ -407,18 +417,8 @@ Reindexing blocks on disk... מחדש את אינדקס הבלוקים בדיסק... - - - ~%n block(s) remaining - בלוק אחד נותר~%n בלוקים נותרו - - - - &Export... - י&צא לקובץ - - + Send coins to a Bitcoin address שלח מטבעות לכתובת ביטקוין @@ -428,12 +428,7 @@ שנה אפשרויות תצורה עבור ביטקוין - - Export the data in the current tab to a file - יצוא הנתונים בטאב הנוכחי לקובץ - - - + Backup wallet to another location גיבוי הארנק למקום אחר @@ -443,7 +438,7 @@ שנה את הסיסמה להצפנת הארנק - + &Debug window חלון ניפוי @@ -453,23 +448,38 @@ פתח את לוח הבקרה לאבחון וניפוי - + &Verify message... אמת הודעה... - - + + Bitcoin ביטקוין - + Wallet ארנק - + + &Send + ושלח + + + + &Receive + וקבל + + + + &Addresses + וכתובות + + + &About Bitcoin אודות ביטקוין @@ -484,7 +494,7 @@ הצג או הסתר את החלון הראשי - + Encrypt the private keys that belong to your wallet הצפן את המפתחות הפרטיים ששייכים לארנק שלך @@ -499,12 +509,12 @@ אמת הודעות כדי להבטיח שהן נחתמו עם כתובת ביטקוין מסוימות - + &File &קובץ - + &Settings ה&גדרות @@ -519,108 +529,103 @@ סרגל כלים טאבים - - Actions toolbar - סרגל כלים פעולות - - - + [testnet] [רשת-בדיקה] - + Bitcoin client תוכנת ביטקוין - + %n active connection(s) to Bitcoin network חיבור פעיל אחד לרשת הביטקוין%n חיבורים פעילים לרשת הביטקוין - - Processed %1 of %2 blocks of transaction history (%3% done). - הושלם עיבוד של %1 מתוך %2 בלוקים של היסטוריית פעולות (%3%). + + No block source available... + - + + Processed %1 of %2 (estimated) blocks of transaction history. + 1% מתוך 2% (משוער) בלוקים של הסטוריית פעולת עובדו + + + Processed %1 blocks of transaction history. הושלם עיבוד של %1 בלוקים של היסטוריית פעולות. + + + %n hour(s) + %n שעה%n שעות + + + + %n day(s) + %n יום%n ימים + + + + %n week(s) + %n שבוע%n שבועות + - + + %1 behind + 1% מאחור + + + + Last received block was generated %1 ago. + הבלוק האחרון שהתקבל נוצר לפני %1 + + + + Transactions after this will not yet be visible. + לאחר זאת פעולות נספות טרם יהיו גלויות + + + Error - + שגיאה Warning - + אזהרה Information - + מידע - + 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? פעולה זו חורגת מגבולות הגודל. עדיין באפשרותך לשלוח אותה תמורת עמלה של %1, המיועדת לצמתים שמעבדים את הפעולה שלך ועוזרת לתמוך ברשת. האם ברצונך לשלם את העמלה? - - Backup Successful - - - - - The wallet data was successfully saved to the new location. - - - - - %n second(s) ago - לפני שניהלפני %n שניות - - - - %n minute(s) ago - לפני דקהלפני %n דקות - - - - %n hour(s) ago - לפני שעהלפני %n שעות - - - - %n day(s) ago - לפני יוםלפני %n ימים - - - + Up to date עדכני - + Catching up... מתעדכן... - - Last received block was generated %1. - הבלוק האחרון שהתקבל נוצר ב-%1. - - - + Confirm transaction fee אשר עמלת פעולה - + Sent transaction פעולה שנשלחה @@ -642,14 +647,14 @@ כתובת: %4 - - + + URI handling תפעול URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. לא ניתן לנתח URI! זה יכול להיגרם כתוצאה מכתובת ביטקוין לא תקינה או פרמטרי URI חסרי צורה תקינה. @@ -664,27 +669,7 @@ הארנק <b>מוצפן</b> וכרגע <b>נעול</b> - - Backup Wallet - גיבוי ארנק - - - - Wallet Data (*.dat) - נתוני ארנק (*.dat) - - - - Backup Failed - הגיבוי נכשל - - - - There was an error trying to save the wallet data to the new location. - היתה שגיאה בניסיון לשמור את מידע הארנק למיקום החדש. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. שגיאה סופנית אירעה. ביטקוין אינו יכול להמשיך לפעול בבטחה ולכן ייסגר. @@ -692,7 +677,7 @@ ClientModel - + Network Alert אזעקת רשת @@ -725,7 +710,7 @@ הכתובת המשויכת לרשומה זו בפנקס הכתובות. ניתן לשנות זאת רק עבור כתובות לשליחה. - + New receiving address כתובת חדשה לקבלה @@ -745,17 +730,17 @@ ערוך כתובת לשליחה - + The entered address "%1" is already in the address book. הכתובת שהכנסת "%1" כבר נמצאת בפנקס הכתובות. - + The entered address "%1" is not a valid Bitcoin address. הכתובת שהוכנסה "%1" אינה כתובת ביטקוין תקינה. - + Could not unlock wallet. פתיחת הארנק נכשלה. @@ -768,7 +753,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -823,8 +808,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - עמלת פעולה אופציונלית לכל kB תבטיח שהפעולה שלך תעובד בזריזות. רוב הפעולות הן 1 kB. מומלצת עמלה בסך 0.01. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -844,12 +829,12 @@ Reset all client options to default. - + אפס כל אפשרויות התוכנה לברירת המחדל. &Reset Options - + איפוס אפשרויות @@ -982,24 +967,24 @@ יישום - + default ברירת מחדל Confirm options reset - + אשר את איפוס האפשרויות Some settings may require a client restart to take effect. - + כמה מההגדרות עשויות לדרוש אתחול התוכנה כדי להיכנס לפועל. Do you want to proceed? - + האם ברצונך להמשיך? @@ -1027,23 +1012,18 @@ טופס - - + + 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. המידע המוצג עשוי להיות מיושן. הארנק שלך מסתנכרן באופן אוטומטי עם רשת הביטקוין לאחר כינון חיבור, אך התהליך טרם הסתיים. - + Balance: יתרה: - - Number of transactions: - מספר פעולות: - - - + Unconfirmed: ממתין לאישור: @@ -1053,7 +1033,7 @@ ארנק - + Immature: לא בשל: @@ -1068,7 +1048,7 @@ <b>פעולות אחרונות</b> - + Your current balance היתרה הנוכחית שלך @@ -1078,18 +1058,21 @@ הסכום הכולל של פעולות שטרם אושרו, ועוד אינן נספרות בחישוב היתרה הנוכחית - - Total number of transactions in wallet - המספר הכולל של פעולות בארנק - - - + out of sync לא מסונכרן + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + לא ניתן להתחיל את ביטקוין: מפעיל לחץ-לתשלום + + + QRCodeDialog @@ -1164,7 +1147,7 @@ - + N/A N/A @@ -1428,7 +1411,7 @@ - + Enter a label for this address to add it to your address book הכנס תוית לכתובת הזאת כדי להכניס לפנקס הכתובות @@ -1520,7 +1503,7 @@ Signature - + חתימה @@ -1535,7 +1518,7 @@ Sign &Message - + חתום על הודעה @@ -1571,7 +1554,7 @@ Verify &Message - + אימות הודעה @@ -1662,9 +1645,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [רשת-בדיקה] + + + TransactionDesc - + Open until %1 פתוח עד %1 @@ -1827,7 +1823,7 @@ Open for %n more block(s) - + פתח למשך בלוק %n יותרפתח למשך %n בלוקים נוספים @@ -1851,7 +1847,7 @@ TransactionTableModel - + Date תאריך @@ -1873,7 +1869,7 @@ Open for %n more block(s) - + פתח למשך בלוק %n יותרפתח למשך %n בלוקים נוספים @@ -1969,7 +1965,7 @@ TransactionView - + All הכל @@ -2056,6 +2052,11 @@ + Copy transaction ID + העתק מזהה פעולה + + + Edit label ערוך תוית @@ -2065,7 +2066,7 @@ הצג פרטי פעולה - + Export Transaction Data יצוא נתוני פעולות @@ -2120,7 +2121,7 @@ לא מסוגל לכתוב לקובץ %1. - + Range: טווח: @@ -2131,39 +2132,90 @@ + WalletModel + + + Send Coins + שלח מטבעות + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + יצוא הנתונים בטאב הנוכחי לקובץ + + + + Backup Wallet + גבה ארנק + + + + Wallet Data (*.dat) + נתוני ארנק (*.dat) + + + + Backup Failed + גיבוי נכשל + + + + There was an error trying to save the wallet data to the new location. + הייתה שגיאה בנסיון לשמור את המידע הארנק למיקום החדש. + + + + Backup Successful + גיבוי הושלם בהצלחה + + + + The wallet data was successfully saved to the new location. + נתוני הארנק נשמרו בהצלחה במקום החדש. + + + bitcoin-core - + Bitcoin version גרסת ביטקוין - + Usage: שימוש: - + Send command to -server or bitcoind שלח פקודה ל -server או bitcoind - + List commands רשימת פקודות - + Get help for a command קבל עזרה עבור פקודה - + Options: אפשרויות: - + Specify configuration file (default: bitcoin.conf) ציין קובץ הגדרות (ברירת מחדל: bitcoin.conf) @@ -2173,95 +2225,87 @@ ציין קובץ pid (ברירת מחדל: bitcoind.pid) - - Generate coins - צור מטבעות - - - - Don't generate coins - אל תייצר מטבעות - - - + Specify data directory ציין תיקיית נתונים - + Set database cache size in megabytes (default: 25) קבע את גודל המטמון של מסד הנתונים במגהבייט (ברירת מחדל: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) האזן לחיבורים ב<פורט> (ברירת מחדל: 8333 או ברשת הבדיקה: 18333) - + Maintain at most <n> connections to peers (default: 125) החזק לכל היותר <n> חיבורים לעמיתים (ברירת מחדל: 125) - + Connect to a node to retrieve peer addresses, and disconnect התחבר לצומת כדי לדלות כתובות עמיתים, ואז התנתק - + Specify your own public address ציין את הכתובת הפומבית שלך - + Threshold for disconnecting misbehaving peers (default: 100) סף להתנתקות מעמיתים הנוהגים שלא כהלכה (ברירת מחדל: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) מספר שניות למנוע מעמיתים הנוהגים שלא כהלכה מלהתחבר מחדש (ברירת מחדל: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s אירעה שגיאה בעת הגדרת פורט RPC %u להאזנה ב-IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) האזן לחיבורי JSON-RPC ב- <port> (ברירת מחדל: 8332 או רשת בדיקה: 18332) - + Accept command line and JSON-RPC commands קבל פקודות משורת הפקודה ו- JSON-RPC - + Run in the background as a daemon and accept commands רוץ ברקע כדימון וקבל פקודות - + Use the test network השתמש ברשת הבדיקה - + Accept connections from outside (default: 1 if no -proxy or -connect) קבל חיבורים מבחוץ (ברירת מחדל: 1 ללא -proxy או -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, עליך לקבוע סיסמת RPC בקובץ הקונפיגורציה: %s @@ -2270,10 +2314,13 @@ rpcpassword=%s (אין צורך לזכור את הסיסמה) אסור ששם המשתמש והסיסמא יהיו זהים. -אם הקובץ אינו קיים, צור אותו עם הרשאות קריאה לבעלים בלבד. +אם הקובץ אינו קיים, צור אותו עם הרשאות קריאה לבעלים בלבד. +זה מומלץ לסמן alertnotify כדי לקבל דיווח על תקלות; +למשל: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s אירעה שגיאה בעת הגדרת פורט RPC %u להאזנה ב-IPv6, נסוג ל-IPv4: %s @@ -2289,16 +2336,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - שגיאה באתחול סביבת מסד הנתונים %s! בשביל להתאושש, גבה את התיקיה הזאת, ואז הסר הכל מלבד wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. שגיאה: הפעולה נדחתה! זה עלול לקרות אם כמה מהמטבעות בארנק שלך כבר נוצלו, למשל אם השתמשת בעותק של wallet.dat ומטבעות נשלחו בעותק אך לא סומנו כמנוצלות כאן. @@ -2308,12 +2345,22 @@ שגיאה: הפעולה הזאת דורשת עמלת פעולה של לפחות %s עקב הכמות, המורכבות, או השימוש בכספים שהתקבלו לאחרונה! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + בצע פעולה כאשר ההודעה הרלוונטית מתקבלת(%s בשורת הפקודה משתנה על-ידי ההודעה) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + בצע פקודה כאשר פעולת ארנק משתנה (%s ב cmd יוחלף ב TxID) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) קבע גודל מקסימלי עבור פעולות עדיפות גבוהה/עמלה נמוכה בבתים (ברירת מחדל: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications זוהי בניית ניסיון טרום-שחרור - השימוש בה על אחריותך - אין להשתמש לצורך כריה או יישומי מסחר @@ -2353,29 +2400,49 @@ אפשרויות יצירת בלוק: - + Connect only to the specified node(s) התחבר רק לצמתים המצוינים + Corrupted block database detected + התגלה מסד נתוני בלוקים לא תקין + + + Discover own IP address (default: 1 when listening and no -externalip) גלה את כתובת ה-IP העצמית (ברירת מחדל: 1 כשמאזינים וללא -externalip) - - Error loading block database - + + Do you want to rebuild the block database now? + האם תרצה כעט לבנות מחדש את מסד נתוני הבלוקים? - - Error: Disk space is low! - + + Error initializing block database + שגיאה באתחול מסד נתוני הבלוקים - Error: Transaction creation failed! - שגיאה: יצירת הפעולה נכשלה! + Error initializing wallet database environment %s! + שגיאה באתחול סביבת מסד נתוני הארנקים %s! + + + + Error loading block database + שגיאה בטעינת מסד נתוני הבלוקים + + + + Error opening block database + שגיאה בטעינת מסד נתוני הבלוקים + + + + Error: Disk space is low! + שגיאה: מעט מקום פנוי בדיסק! @@ -2383,34 +2450,124 @@ שגיאה: הארנק נעול, אין אפשרות ליצור פעולה! - + + Error: system error: + שגיאה: שגיאת מערכת: + + + Failed to listen on any port. Use -listen=0 if you want this. האזנה נכשלה בכל פורט. השתמש ב- -listen=0 אם ברצונך בכך. + + Failed to read block info + קריאת מידע הבלוקים נכשלה + + + + Failed to read block + קריאת הבלוק נכשלה + + + + Failed to sync block index + סנכרון אינדקס הבלוקים נכשל + + + + Failed to write block index + כתיבת אינדקס הבלוקים נכשל + + + + Failed to write block info + כתיבת מידע הבלוקים נכשל + + + + Failed to write block + כתיבת הבלוק נכשלה + + + + Failed to write file info + כתיבת מידע הקבצים נכשלה + + + + Failed to write to coin database + כתיבת מסד נתוני המטבעות נכשלה + + + + Failed to write transaction index + כתיבת אינדקס הפעולות נכשלה + + + + Failed to write undo data + כתיבת נתוני ביטול נכשלה + + Find peers using DNS lookup (default: 1 unless -connect) מצא עמיתים ע"י חיפוש DNS (ברירת מחדל: 1 ללא -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + How many blocks to check at startup (default: 288, 0 = all) + מספר הבלוקים לבדוק בעת אתחול (ברירת מחדל: 288, 0 = כולם) + + - Importing blocks from block database... - מייבא בלוקים ממסד נתוני הבלוקים... + How thorough the block verification is (0-4, default: 3) + מידת היסודיות של אימות הבלוקים (0-4, ברירת מחדל: 3) + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + בנה מחדש את אינדק שרשרת הבלוקים מקבצי ה-blk000??.dat הנוכחיים. + + + + Set the number of threads to service RPC calls (default: 4) + קבע את מספר תהליכוני לשירות קריאות RPC (ברירת מחדל: 4) + + + + Verifying blocks... + מאמת את שלמות מסד הנתונים... + Verifying wallet... + מאמת את יושרת הארנק... + + + Imports blocks from external blk000??.dat file + מייבא בלוקים מקובצי blk000??.dat חיצוניים + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information - + מידע @@ -2418,7 +2575,22 @@ כתובת לא תקינה ל -tor: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + תחזק אינדקס פעולות מלא (ברירת מחדל: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) חוצץ קבלה מירבי לכל חיבור, <n>*1000 בתים (ברירת מחדל: 5000) @@ -2428,9 +2600,9 @@ חוצץ שליחה מירבי לכל חיבור, <n>*1000 בתים (ברירת מחדל: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) - + קבל רק שרשרת בלוקים התואמת נקודות ביקורת מובנות (ברירת מחדל: 1) @@ -2453,12 +2625,7 @@ הוסף חותמת זמן לפני פלט דיבאג - - Rebuild blockchain index from current blk000??.dat files - בנה מחדש את אינדקס שרשרת הבלוקים מקובצי blk000??.dat הנוכחיים - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) אפשרויות SSL: (ראה את הויקי של ביטקוין עבור הוראות הגדרת SSL) @@ -2488,17 +2655,42 @@ קבע את גודל הבלוק המינימלי בבתים (ברירת מחדל: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) כווץ את קובץ debug.log בהפעלת הקליינט (ברירת מחדל: 1 ללא -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) ציין הגבלת זמן לחיבור במילישניות (ברירת מחדל: 5000) - + + System error: + שגיאת מערכת: + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) השתמש ב-UPnP כדי למפות את הפורט להאזנה (ברירת מחדל: 0) @@ -2520,7 +2712,7 @@ Warning - + אזהרה @@ -2529,36 +2721,41 @@ + You need to rebuild the databases using -reindex to change -txindex + עליך לבנות מחדש את מסדי הנתונים תוך שימוש ב- -reindex על מנת לשנות את -txindex + + + wallet.dat corrupt, salvage failed קובץ wallet.dat מושחת, החילוץ נכשל - + Password for JSON-RPC connections סיסמה לחיבורי JSON-RPC - + Allow JSON-RPC connections from specified IP address אפשר חיבורי JSON-RPC מכתובת האינטרנט המצוינת - + Send commands to node running on <ip> (default: 127.0.0.1) שלח פקודות לצומת ב-<ip> (ברירת מחדל: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) בצע פקודה זו כשהבלוק הטוב ביותר משתנה (%s בפקודה יוחלף בגיבוב הבלוק) - + Upgrade wallet to latest format שדרג את הארנק לפורמט העדכני - + Set key pool size to <n> (default: 100) קבע את גודל המאגר ל -<n> (ברירת מחדל: 100) @@ -2568,17 +2765,12 @@ סרוק מחדש את שרשרת הבלוקים למציאת פעולות חסרות בארנק - - How many blocks to check at startup (default: 2500, 0 = all) - מספר הבלוקים לבדוק בעת ההפעלה (ברירת מחדל: 2500, 0=כולם) - - - + Use OpenSSL (https) for JSON-RPC connections השתמש ב-OpenSSL (https( עבור חיבורי JSON-RPC - + Server certificate file (default: server.cert) קובץ תעודת שרת (ברירת מחדל: server.cert) @@ -2588,37 +2780,37 @@ מפתח פרטי של השרת (ברירת מחדל: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) צפנים קבילים (ברירת מחדל: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message הודעת העזרה הזו - + Unable to bind to %s on this computer (bind returned error %d, %s) לא מסוגל לקשור ל-%s במחשב זה (הקשירה החזירה שגיאה %d, %s) - + Connect through socks proxy התחבר דרך פרוקסי SOCKS - + Allow DNS lookups for -addnode, -seednode and -connect אפשר בדיקת DNS עבור -addnode, -seednode ו- -connect - + Loading addresses... טוען כתובות... - + Error loading wallet.dat: Wallet corrupted שגיאה בטעינת הקובץ wallet.dat: הארנק מושחת @@ -2628,32 +2820,22 @@ שגיאה בטעינת הקובץ wallet.dat: הארנק דורש גרסה חדשה יותר של ביטקוין - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete יש לכתוב מחדש את הארנק: אתחל את ביטקוין לסיום - + Error loading wallet.dat שגיאה בטעינת הקובץ wallet.dat - + Invalid -proxy address: '%s' כתובת -proxy לא תקינה: '%s' - + Unknown network specified in -onlynet: '%s' רשת לא ידועה צוינה ב- -onlynet: '%s' @@ -2663,7 +2845,7 @@ התבקשה גרסת פרוקסי -socks לא ידועה: %i - + Cannot resolve -bind address: '%s' לא מסוגל לפתור כתובת -bind: '%s' @@ -2673,32 +2855,27 @@ לא מסוגל לפתור כתובת -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' כמות לא תקינה עבור -paytxfee=<amount>: '%s' - - Error: could not start node - שגיאה: לא ניתן להתחיל צומת - - - + Invalid amount כמות לא תקינה - + Insufficient funds אין מספיק כספים - + Loading block index... טוען את אינדקס הבלוקים... - + Add a node to connect to and attempt to keep the connection open הוסף צומת להתחברות ונסה לשמור את החיבור פתוח @@ -2708,12 +2885,7 @@ לא ניתן לקשור ל-%s במחשב זה. ביטקוין כנראה עדיין רץ. - - Find peers using internet relay chat (default: 0) - מצא עמיתים תוך שימוש ב-IRC (ברירת מחדל: 0) - - - + Fee per KB to add to transactions you send עמלה להוסיף לפעולות שאתה שולח עבור כל KB @@ -2723,42 +2895,37 @@ טוען ארנק... - + Cannot downgrade wallet לא יכול להוריד דרגת הארנק - - Cannot initialize keypool - לא יכול לאתחל את מאגר המפתחות - - Cannot write default address לא יכול לכתוב את כתובת ברירת המחדל - + Rescanning... סורק מחדש... - + Done loading טעינה הושלמה - + To use the %s option להשתמש באפשרות %s - + Error שגיאה - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_hi_IN.ts bitcoin-0.8.5/src/qt/locale/bitcoin_hi_IN.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_hi_IN.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_hi_IN.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,7 +5,7 @@ About Bitcoin - बिटकोइन विषे + बिटकोइन के संबंध में @@ -13,12 +13,7 @@ बिटकोइन वर्सन - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -27,43 +22,53 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + कापीराइट + + + + The Bitcoin developers + + AddressBookPage Address Book - + पता पुस्तक - + Double-click to edit address or label - + दो बार क्लिक करे पता या लेबल संपादन करने के लिए ! Create a new address - + नया पता लिखिए ! Copy the currently selected address to the system clipboard - + चुनिन्दा पते को सिस्टम क्लिपबोर्ड पर कापी करे ! &New Address - + &नया पता - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + &Copy Address - + &पता कॉपी करे @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -98,55 +113,65 @@ &Delete + &मिटाए !! + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - + Copy &Label - + &लेबल कॉपी करे - + &Edit + &एडिट + + + + Send &Coins - + Export Address Book Data - + पता पुस्तक का डेटा एक्सपोर्ट (निर्यात) करे ! Comma separated file (*.csv) - + Comma separated file (*.csv) Error exporting - + ग़लतियाँ एक्सपोर्ट (निर्यात) करे! Could not write to file %1. - + फाइल में लिख नही सके %1. AddressTableModel - + Label - + लेबल Address - + पता (no label) - + (कोई लेबल नही !) @@ -159,62 +184,62 @@ Enter passphrase - + पहचान शब्द/अक्षर डालिए ! New passphrase - + नया पहचान शब्द/अक्षर डालिए ! Repeat new passphrase - + दोबारा नया पहचान शब्द/अक्षर डालिए ! Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - + नया पहचान शब्द/अक्षर वॉलेट मे डालिए ! <br/> कृपा करके पहचान शब्द में <br> 10 से ज़्यादा अक्षॉरों का इस्तेमाल करे </b>,या <b>आठ या उससे से ज़्यादा शब्दो का इस्तेमाल करे</b> ! Encrypt wallet - + एनक्रिप्ट वॉलेट ! This operation needs your wallet passphrase to unlock the wallet. - + वॉलेट खोलने के आपका वॉलेट पहचान शब्द्‌/अक्षर चाईए ! Unlock wallet - + वॉलेट खोलिए This operation needs your wallet passphrase to decrypt the wallet. - + वॉलेट डीक्रिप्ट( विकोड) करने के लिए आपका वॉलेट पहचान शब्द्‌/अक्षर चाईए ! Decrypt wallet - + डीक्रिप्ट वॉलेट Change passphrase - + पहचान शब्द/अक्षर बदलिये ! Enter the old and new passphrase to the wallet. - + कृपा करके पुराना एवं नया पहचान शब्द/अक्षर वॉलेट में डालिए ! Confirm wallet encryption - + वॉलेट एनक्रिपशन को प्रमाणित कीजिए ! @@ -241,7 +266,7 @@ Wallet encrypted - + वॉलेट एनक्रिप्ट हो गया ! @@ -254,35 +279,35 @@ Wallet encryption failed - + वॉलेट एनक्रिप्ट नही हुआ! Wallet encryption failed due to an internal error. Your wallet was not encrypted. - + वॉलेट एनक्रिपशन नाकाम हो गया इंटर्नल एरर की वजह से! आपका वॉलेट एनक्रीपत नही हुआ है! The supplied passphrases do not match. - + आपके द्वारा डाले गये पहचान शब्द/अक्षर मिलते नही है ! Wallet unlock failed - + वॉलेट का लॉक नही खुला ! The passphrase entered for the wallet decryption was incorrect. - + वॉलेट डीक्रिप्ट करने के लिए जो पहचान शब्द/अक्षर डाले गये है वो सही नही है! Wallet decryption failed - + वॉलेट का डीक्रिप्ट-ष्ण असफल ! @@ -293,74 +318,60 @@ BitcoinGUI - + Sign &message... - + Synchronizing with network... - + नेटवर्क से समकालिक (मिल) रहा है ... - + &Overview - + &विवरण Show general overview of wallet - + वॉलेट का सामानया विवरण दिखाए ! &Transactions - + & लेन-देन + Browse transaction history - + देखिए पुराने लेन-देन के विवरण ! - - &Address Book - - - - + Edit the list of stored addresses and labels - - - - - &Receive coins - + स्टोर किए हुए पते और लेबलओ को बदलिए ! - + Show the list of addresses for receiving payments - - - - - &Send coins - + पते की सूची दिखाए जिन्हे भुगतान करना है ! - + E&xit - + बाहर जायें Quit application - + अप्लिकेशन से बाहर निकलना ! Show information about Bitcoin - + बीटकोइन के बारे में जानकारी ! @@ -375,17 +386,17 @@ &Options... - + &विकल्प - + &Encrypt Wallet... &Backup Wallet... - + &बैकप वॉलेट @@ -393,7 +404,7 @@ - + Importing blocks from disk... @@ -402,18 +413,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - - - + Send coins to a Bitcoin address @@ -423,22 +424,17 @@ - - Export the data in the current tab to a file - - - - + Backup wallet to another location Change the passphrase used for wallet encryption - + पहचान शब्द/अक्षर जो वॉलेट एनक्रिपशन के लिए इस्तेमाल किया है उसे बदलिए! - + &Debug window @@ -448,23 +444,38 @@ - + &Verify message... - - + + Bitcoin - + बीटकोइन - + Wallet + वॉलेट + + + + &Send + + + + + &Receive + + + + + &Addresses - + &About Bitcoin @@ -479,7 +490,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,135 +505,130 @@ - + &File - + &फाइल - + &Settings - + &सेट्टिंग्स &Help - + &मदद Tabs toolbar - - - - - Actions toolbar - + टैबस टूलबार - + [testnet] - + [टेस्टनेट] - + Bitcoin client - + %n active connection(s) to Bitcoin network - + %n सक्रिया संपर्क बीटकोइन नेटवर्क से%n सक्रिया संपर्क बीटकोइन नेटवर्क से - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. - - - Warning - + + + %n hour(s) + %n घंटा%n घंटे - - - Information - + + + %n day(s) + %n दिन%n दिनो + + + + %n week(s) + %n हफ़्ता%n हफ्ते - - 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? - + + %1 behind + %1 पीछे - - Backup Successful + + Last received block was generated %1 ago. - - The wallet data was successfully saved to the new location. + + Transactions after this will not yet be visible. - - - %n second(s) ago - - - - - %n minute(s) ago - + + + Error + भूल - - - %n hour(s) ago - + + + Warning + चेतावनी - - - %n day(s) ago - + + + Information + जानकारी - - Up to date + + 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? - - Catching up... - + + Up to date + नवीनतम - - Last received block was generated %1. + + Catching up... - + Confirm transaction fee - + Sent transaction - + भेजी ट्रांजक्शन Incoming transaction - + प्राप्त हुई ट्रांजक्शन @@ -631,52 +637,35 @@ Type: %3 Address: %4 - + तारीख: %1\n +राशि: %2\n +टाइप: %3\n +पता:%4\n - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. Wallet is <b>encrypted</b> and currently <b>unlocked</b> - + वॉलेट एन्क्रिप्टेड है तथा अभी लॉक्ड नहीं है Wallet is <b>encrypted</b> and currently <b>locked</b> - - - - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - + वॉलेट एन्क्रिप्टेड है तथा अभी लॉक्ड है - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -684,7 +673,7 @@ ClientModel - + Network Alert @@ -694,86 +683,86 @@ Edit Address - + पता एडिट करना &Label - + &लेबल The label associated with this address book entry - + इस एड्रेस बुक से जुड़ा एड्रेस &Address - + &पता The address associated with this address book entry. This can only be modified for sending addresses. - + इस एड्रेस बुक से जुड़ी प्रविष्टि केवल भेजने वाले addresses के लिए बदली जा सकती है| - + New receiving address - + नया स्वीकार्य पता New sending address - + नया भेजने वाला पता Edit receiving address - + एडिट स्वीकार्य पता Edit sending address - + एडिट भेजने वाला पता - + The entered address "%1" is already in the address book. - + डाला गया पता "%1" एड्रेस बुक में पहले से ही मोजूद है| - + The entered address "%1" is not a valid Bitcoin address. - + Could not unlock wallet. - + वॉलेट को unlock नहीं किया जा सकता| New key generation failed. - + नयी कुंजी का निर्माण असफल रहा| GUIUtil::HelpMessageBox - + Bitcoin-Qt - + बीटकोइन-Qt version - + संस्करण Usage: - + खपत : @@ -806,7 +795,7 @@ Options - + विकल्प @@ -815,7 +804,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -961,12 +950,12 @@ &OK - + &ओके &Cancel - + &कैन्सल @@ -974,7 +963,7 @@ - + default @@ -997,7 +986,7 @@ Warning - + चेतावनी @@ -1016,36 +1005,31 @@ Form - + फार्म - - + + 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. - + Balance: - - - - - Number of transactions: - + बाकी रकम : - + Unconfirmed: - + अपुष्ट : Wallet - + वॉलेट - + Immature: @@ -1057,27 +1041,30 @@ <b>Recent transactions</b> - + <b>हाल का लेन-देन</b> - + Your current balance - + आपका चालू बॅलेन्स Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - + लेन देन की पुष्टि अभी नहीं हुई है, इसलिए इन्हें अभी मोजुदा बैलेंस में गिना नहीं गया है| - - Total number of transactions in wallet + + + out of sync + + + PaymentServer - - - out of sync + + Cannot start bitcoin: click-to-pay handler @@ -1091,17 +1078,17 @@ Request Payment - + भुगतान का अनुरोध Amount: - + राशि : Label: - + लेबल : @@ -1156,9 +1143,10 @@ - + N/A - + लागू नही + @@ -1298,12 +1286,12 @@ Send Coins - + सिक्के भेजें| Send to multiple recipients at once - + एक साथ कई प्राप्तकर्ताओं को भेजें @@ -1323,17 +1311,17 @@ Balance: - + बाकी रकम : 123.456 BTC - + 123.456 BTC Confirm the send action - + भेजने की पुष्टि करें @@ -1343,22 +1331,22 @@ <b>%1</b> to %2 (%3) - + <b>%1</b> से %2 (%3) Confirm send coins - + सिक्के भेजने की पुष्टि करें Are you sure you want to send %1? - + क्या आप %1 भेजना चाहते हैं? and - + और @@ -1368,7 +1356,7 @@ The amount to pay must be larger than 0. - + भेजा गया अमाउंट शुन्य से अधिक होना चाहिए| @@ -1401,17 +1389,17 @@ Form - + फार्म A&mount: - + अमाउंट: Pay &To: - + प्राप्तकर्ता: @@ -1420,14 +1408,14 @@ - + Enter a label for this address to add it to your address book - + आपकी एड्रेस बुक में इस एड्रेस के लिए एक लेबल लिखें &Label: - + लेबल: @@ -1437,27 +1425,27 @@ Alt+A - + Alt-A Paste address from clipboard - + Clipboard से एड्रेस paste करें Alt+P - + Alt-P Remove this recipient - + प्राप्तकर्ता हटायें Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Bitcoin एड्रेस लिखें (उदाहरण: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1492,17 +1480,17 @@ Alt+A - + Alt-A Paste address from clipboard - + Clipboard से एड्रेस paste करें Alt+P - + Alt-P @@ -1512,7 +1500,7 @@ Signature - + हस्ताक्षर @@ -1574,7 +1562,7 @@ Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Bitcoin एड्रेस लिखें (उदाहरण: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1654,11 +1642,24 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + TransactionDesc - + Open until %1 - + खुला है जबतक %1 @@ -1668,12 +1669,12 @@ %1/unconfirmed - + %1/अपुष्ट %1 confirmations - + %1 पुष्टियाँ @@ -1688,7 +1689,7 @@ Date - + taareek @@ -1799,22 +1800,22 @@ Amount - + राशि true - + सही false - + ग़लत , has not been successfully broadcast yet - + , अभी तक सफलतापूर्वक प्रसारित नहीं किया गया है @@ -1824,7 +1825,7 @@ unknown - + अज्ञात @@ -1832,35 +1833,35 @@ Transaction details - + लेन-देन का विवरण This pane shows a detailed description of the transaction - + ये खिड़की आपको लेन-देन का विस्तृत विवरण देगी ! TransactionTableModel - + Date - + taareek Type - + टाइप Address - + पता Amount - + राशि @@ -1870,22 +1871,22 @@ Open until %1 - + खुला है जबतक %1 Offline (%1 confirmations) - + ऑफलाइन ( %1 पक्का करना) Unconfirmed (%1 of %2 confirmations) - + अपुष्ट ( %1 मे %2 पक्के ) Confirmed (%1 confirmations) - + पक्के ( %1 पक्का करना) @@ -1895,161 +1896,166 @@ This block was not received by any other nodes and will probably not be accepted! - + यह ब्लॉक किसी भी और नोड को मिला नही है ! शायद यह ब्लॉक कोई भी नोड स्वीकारे गा नही ! Generated but not accepted - + जेनरेट किया गया किंतु स्वीकारा नही गया ! Received with - + स्वीकारा गया Received from - + स्वीकार्य ओर से Sent to - + भेजा गया Payment to yourself - + भेजा खुद को भुगतान Mined - + माइंड (n/a) - + (लागू नहीं) Transaction status. Hover over this field to show number of confirmations. - + ट्रांसेक्शन स्तिथि| पुष्टियों की संख्या जानने के लिए इस जगह पर माउस लायें| Date and time that the transaction was received. - + तारीख तथा समय जब ये ट्रांसेक्शन प्राप्त हुई थी| Type of transaction. - + ट्रांसेक्शन का प्रकार| Destination address of transaction. - + ट्रांसेक्शन की मंजिल का पता| Amount removed from or added to balance. - + अमाउंट बैलेंस से निकला या जमा किया गया | TransactionView - + All - + सभी Today - + आज This week - + इस हफ्ते This month - + इस महीने Last month - + पिछले महीने This year - + इस साल Range... - + विस्तार... Received with - + स्वीकार करना Sent to - + भेजा गया To yourself - + अपनेआप को Mined - + माइंड Other - + अन्य Enter address or label to search - + ढूँदने के लिए कृपा करके पता या लेबल टाइप करे ! Min amount - + लघुत्तम राशि Copy address - + पता कॉपी करे Copy label - + लेबल कॉपी करे Copy amount + कॉपी राशि + + + + Copy transaction ID Edit label - + एडिट लेबल @@ -2057,208 +2063,251 @@ - + Export Transaction Data - + लेन-देन का डेटा निर्यात करे ! Comma separated file (*.csv) - + Comma separated file (*.csv) Confirmed - + पक्का Date - + taareek Type - + टाइप Label - + लेबल Address - + पता Amount - + राशि ID - + ID Error exporting - + ग़लतियाँ एक्सपोर्ट (निर्यात) करे! Could not write to file %1. - + फाइल में लिख नही सके %1. - + Range: - + विस्तार: to + तक + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + बैकप वॉलेट + + + + Wallet Data (*.dat) + वॉलेट डेटा (*.dat) + + + + Backup Failed + बैकप असफल + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + बैकप सफल + + + + The wallet data was successfully saved to the new location. bitcoin-core - + Bitcoin version - + बीटकोइन संस्करण - + Usage: - + खपत : - + Send command to -server or bitcoind - + -server या bitcoind को कमांड भेजें - + List commands - + commands की लिस्ट बनाएं - + Get help for a command - + किसी command के लिए मदद लें - + Options: - + विकल्प: - + Specify configuration file (default: bitcoin.conf) - + configuraion की फाइल का विवरण दें (default: bitcoin.conf) Specify pid file (default: bitcoind.pid) - - - - - Generate coins - + pid फाइल का विवरण दें (default: bitcoin.pid) - - Don't generate coins - - - - + Specify data directory - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands - + Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2274,22 +2323,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2298,7 +2347,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2338,72 +2387,197 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + Verifying blocks... + ब्लॉक्स जाँचे जा रहा है... + + + Verifying wallet... + वॉलेट जाँचा जा रहा है... + + + Imports blocks from external blk000??.dat file - - Information + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + Information + जानकारी + + Invalid -tor address: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2413,7 +2587,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2438,12 +2612,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2473,17 +2642,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2505,7 +2699,7 @@ Warning - + चेतावनी @@ -2514,36 +2708,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) @@ -2553,17 +2752,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) @@ -2573,37 +2767,37 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... - + पता पुस्तक आ रही है... - + Error loading wallet.dat: Wallet corrupted @@ -2613,32 +2807,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2648,7 +2832,7 @@ - + Cannot resolve -bind address: '%s' @@ -2658,32 +2842,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + राशि ग़लत है - + Insufficient funds - + Loading block index... - + ब्लॉक इंडेक्स आ रहा है... - + Add a node to connect to and attempt to keep the connection open @@ -2693,57 +2872,47 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send Loading wallet... - + वॉलेट आ रहा है... - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... - + रि-स्केनी-इंग... - + Done loading - + लोड हो गया| - + To use the %s option - + Error - + भूल - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_hr.ts bitcoin-0.8.5/src/qt/locale/bitcoin_hr.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_hr.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_hr.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,7 +5,7 @@ About Bitcoin - O Bitcoinu + O Bitcoin-u @@ -13,12 +13,7 @@ <b>Bitcoin</b> verzija - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,7 +41,7 @@ Adresar - + Double-click to edit address or label Dvostruki klik za uređivanje adrese ili oznake @@ -56,12 +61,12 @@ &Nova adresa - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Ovo su vaše Bitcoin adrese za primanje isplate. Možda želite dati drukčiju adresu svakom primatelju tako da možete pratiti tko je platio. - + &Copy Address &Kopirati adresu @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + Izvoz podataka iz trenutnog taba u datoteku + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -101,17 +116,27 @@ &Brisanje - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Kopirati &oznaku - + &Edit &Izmjeniti - + + Send &Coins + + + + Export Address Book Data Izvoz podataka adresara @@ -134,7 +159,7 @@ AddressTableModel - + Label Oznaka @@ -293,17 +318,17 @@ BitcoinGUI - + Sign &message... &Potpišite poruku... - + Synchronizing with network... Usklađivanje s mrežom ... - + &Overview &Pregled @@ -323,32 +348,17 @@ Pretraži povijest transakcija - - &Address Book - &Adresar - - - + Edit the list of stored addresses and labels Uređivanje popisa pohranjenih adresa i oznaka - - &Receive coins - &Primanje novca - - - + Show the list of addresses for receiving payments Prikaži popis adresa za primanje isplate - - &Send coins - &Slanje novca - - - + E&xit &Izlaz @@ -378,7 +388,7 @@ &Postavke - + &Encrypt Wallet... &Šifriraj novčanik... @@ -393,27 +403,17 @@ &Promijena lozinke... - + Importing blocks from disk... - + Importiranje blokova sa diska... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - - - - - &Export... - &Izvoz... + Re-indeksiranje blokova na disku... - + Send coins to a Bitcoin address Slanje novca na bitcoin adresu @@ -423,12 +423,7 @@ Promijeni postavke konfiguracije za bitcoin - - Export the data in the current tab to a file - Izvoz podataka iz trenutnog taba u datoteku - - - + Backup wallet to another location Napravite sigurnosnu kopiju novčanika na drugoj lokaciji @@ -438,7 +433,7 @@ Promijenite lozinku za šifriranje novčanika - + &Debug window @@ -448,23 +443,38 @@ - + &Verify message... - - + + Bitcoin Bitcoin - + Wallet Novčanik - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &O Bitcoinu @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,12 +504,12 @@ - + &File &Datoteka - + &Settings &Konfiguracija @@ -514,108 +524,103 @@ Traka kartica - - Actions toolbar - Traka akcija - - - + [testnet] [testnet] - + Bitcoin client - + Bitcoin klijent - + %n active connection(s) to Bitcoin network %n aktivna veza na Bitcoin mrežu%n aktivne veze na Bitcoin mrežu%n aktivnih veza na Bitcoin mrežu - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error - + + Processed %1 blocks of transaction history. + Obrađeno %1 blokova povijesti transakcije. + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful - + + Error + Greška - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - prije %n sekundeprije %n sekundeprije %n sekundi - - - - %n minute(s) ago - prije %n minuteprije %n minuteprije %n minuta - - - - %n hour(s) ago - prije %n sataprije %n sataprije %n sati + + + Information + - - - %n day(s) ago - prije %n danaprije %n danaprije %n dana + + + 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? + - + Up to date Ažurno - + Catching up... Ažuriranje... - - Last received block was generated %1. - Zadnji primljeni blok je generiran %1. - - - + Confirm transaction fee - + Sent transaction Poslana transakcija @@ -638,14 +643,14 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -660,27 +665,7 @@ Novčanik je <b>šifriran</b> i trenutno <b>zaključan</b> - - Backup Wallet - Backup novčanika - - - - Wallet Data (*.dat) - Podaci novčanika (*.dat) - - - - Backup Failed - Backup nije uspio - - - - There was an error trying to save the wallet data to the new location. - Došlo je do pogreške kod spremanja podataka novčanika na novu lokaciju. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -688,7 +673,7 @@ ClientModel - + Network Alert @@ -721,7 +706,7 @@ Adresa ovog upisa u adresar. Može se mjenjati samo kod adresa za slanje. - + New receiving address Nova adresa za primanje @@ -741,17 +726,17 @@ Uredi adresu za slanje - + The entered address "%1" is already in the address book. Upisana adresa "%1" je već u adresaru. - + The entered address "%1" is not a valid Bitcoin address. Upisana adresa "%1" nije valjana bitcoin adresa. - + Could not unlock wallet. Ne mogu otključati novčanik. @@ -764,7 +749,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -819,8 +804,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Neobavezna naknada za transakciju po kB koja omogućuje da se vaša transakcija obavi brže. Većina transakcija ima 1 kB. Preporučena naknada je 0.01. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -978,7 +963,7 @@ - + default @@ -1023,23 +1008,18 @@ Oblik - - + + 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. - + Balance: Stanje: - - Number of transactions: - Broj transakcija: - - - + Unconfirmed: Nepotvrđene: @@ -1049,7 +1029,7 @@ Novčanik - + Immature: @@ -1064,7 +1044,7 @@ <b>Nedavne transakcije</b> - + Your current balance Vaše trenutno stanje računa @@ -1074,18 +1054,21 @@ Ukupni iznos transakcija koje tek trebaju biti potvrđene, i još uvijek nisu uračunate u trenutni saldo - - Total number of transactions in wallet - Ukupni broj tansakcija u novčaniku - - - + out of sync + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1130,7 +1113,7 @@ Resulting URI too long, try to reduce the text for label / message. - + Rezultirajući URI je predug, probajte umanjiti tekst za naslov / poruku. @@ -1160,7 +1143,7 @@ - + N/A @@ -1202,22 +1185,22 @@ Block chain - + Lanac blokova Current number of blocks - + Trenutni broj blokova Estimated total blocks - + Procjenjeni ukupni broj blokova Last block time - + Posljednje vrijeme bloka @@ -1424,7 +1407,7 @@ - + Enter a label for this address to add it to your address book Unesite oznaku za ovu adresu kako bi ju dodali u vaš adresar @@ -1658,9 +1641,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Otvoren do %1 @@ -1847,7 +1843,7 @@ TransactionTableModel - + Date Datum @@ -1965,7 +1961,7 @@ TransactionView - + All Sve @@ -2052,6 +2048,11 @@ + Copy transaction ID + + + + Edit label Izmjeniti oznaku @@ -2061,7 +2062,7 @@ - + Export Transaction Data Izvoz podataka transakcija @@ -2116,7 +2117,7 @@ Ne mogu pisati u datoteku %1. - + Range: Raspon: @@ -2127,142 +2128,185 @@ - bitcoin-core + WalletModel - - Bitcoin version - Bitcoin verzija + + Send Coins + Slanje novca + + + WalletView - - Usage: - Upotreba: + + &Export + - - Send command to -server or bitcoind - Pošalji komandu usluzi -server ili bitcoind + + Export the data in the current tab to a file + Izvoz podataka iz trenutnog taba u datoteku - - List commands - Prikaži komande + + Backup Wallet + - - Get help for a command - Potraži pomoć za komandu + + Wallet Data (*.dat) + - - Options: - Postavke: + + Backup Failed + - - Specify configuration file (default: bitcoin.conf) - Odredi konfiguracijsku datoteku (ugrađeni izbor: bitcoin.conf) + + There was an error trying to save the wallet data to the new location. + - - Specify pid file (default: bitcoind.pid) - Odredi proces ID datoteku (ugrađeni izbor: bitcoin.pid) + + Backup Successful + - - Generate coins - Generiraj novčiće + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - - Don't generate coins - Ne generiraj novčiće + + Bitcoin version + Bitcoin verzija + + + + Usage: + Upotreba: + + + + Send command to -server or bitcoind + Pošalji komandu usluzi -server ili bitcoind + + + + List commands + Prikaži komande + + + + Get help for a command + Potraži pomoć za komandu - + + Options: + Postavke: + + + + Specify configuration file (default: bitcoin.conf) + Odredi konfiguracijsku datoteku (ugrađeni izbor: bitcoin.conf) + + + + Specify pid file (default: bitcoind.pid) + Odredi proces ID datoteku (ugrađeni izbor: bitcoin.pid) + + + Specify data directory Odredi direktorij za datoteke - + Set database cache size in megabytes (default: 25) - + Postavi cache za bazu podataka u MB (zadano:25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Slušaj na <port>u (default: 8333 ili testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Održavaj najviše <n> veza sa članovima (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) Prag za odspajanje članova koji se čudno ponašaju (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Broj sekundi koliko se članovima koji se čudno ponašaju neće dopustiti da se opet spoje (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Prihvaćaj JSON-RPC povezivanje na portu broj <port> (ugrađeni izbor: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Prihvati komande iz tekst moda i JSON-RPC - + Run in the background as a daemon and accept commands Izvršavaj u pozadini kao uslužnik i prihvaćaj komande - + Use the test network Koristi test mrežu - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2278,22 +2322,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2302,7 +2346,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2339,65 +2383,175 @@ Block creation options: - + Opcije za kreiranje bloka: - + Connect only to the specified node(s) Poveži se samo sa određenim nodom + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file + Importiraj blokove sa vanjskog blk000??.dat fajla + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information @@ -2407,7 +2561,22 @@ Nevaljala -tor adresa: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2417,9 +2586,9 @@ - + Only accept block chain matching built-in checkpoints (default: 1) - + Prihvati samo lance blokova koji se podudaraju sa ugrađenim checkpoint-ovima (default: 1) @@ -2442,12 +2611,7 @@ Dodaj izlaz debuga na početak sa vremenskom oznakom - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL postavke: (za detalje o podešavanju SSL opcija vidi Bitcoin Wiki) @@ -2469,16 +2633,21 @@ Set maximum block size in bytes (default: 250000) - + Podesite maksimalnu veličinu bloka u bajtovima (default: 250000) Set minimum block size in bytes (default: 0) + Podesite minimalnu veličinu bloka u bajtovima (default: 0) + + + + Shrink debug.log file on client startup (default: 1 when no -debug) - Shrink debug.log file on client startup (default: 1 when no -debug) + Signing transaction failed @@ -2487,7 +2656,27 @@ Odredi vremenski prozor za spajanje na mrežu u milisekundama (ugrađeni izbor: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) Pokušaj koristiti UPnP da otvoriš port za uslugu (default: 0) @@ -2518,36 +2707,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Lozinka za JSON-RPC veze - + Allow JSON-RPC connections from specified IP address Dozvoli JSON-RPC povezivanje s određene IP adrese - + Send commands to node running on <ip> (default: 127.0.0.1) Pošalji komande nodu na adresi <ip> (ugrađeni izbor: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Izvršite naredbu kada se najbolji blok promjeni (%s u cmd je zamjenjen sa block hash) - + Upgrade wallet to latest format - + Nadogradite novčanik u posljednji format. - + Set key pool size to <n> (default: 100) Podesi memorijski prostor za ključeve na <n> (ugrađeni izbor: 100) @@ -2557,17 +2751,12 @@ Ponovno pretraži lanac blokova za transakcije koje nedostaju - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections Koristi OpenSSL (https) za JSON-RPC povezivanje - + Server certificate file (default: server.cert) Uslužnikov SSL certifikat (ugrađeni izbor: server.cert) @@ -2577,37 +2766,37 @@ Uslužnikov privatni ključ (ugrađeni izbor: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Prihvaljivi načini šifriranja (ugrađeni izbor: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Ova poruka za pomoć - + Unable to bind to %s on this computer (bind returned error %d, %s) Program ne može koristiti %s na ovom računalu (bind returned error %d, %s) - + Connect through socks proxy Poveži se kroz socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect Dozvoli DNS upite za dodavanje nodova i povezivanje - + Loading addresses... Učitavanje adresa... - + Error loading wallet.dat: Wallet corrupted Greška kod učitavanja wallet.dat: Novčanik pokvaren @@ -2617,32 +2806,22 @@ Greška kod učitavanja wallet.dat: Novčanik zahtjeva noviju verziju Bitcoina - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Novčanik je trebao prepravak: ponovo pokrenite Bitcoin - + Error loading wallet.dat Greška kod učitavanja wallet.dat - + Invalid -proxy address: '%s' Nevaljala -proxy adresa: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2652,7 +2831,7 @@ - + Cannot resolve -bind address: '%s' @@ -2662,32 +2841,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' Nevaljali iznos za opciju -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount Nevaljali iznos za opciju - + Insufficient funds Nedovoljna sredstva - + Loading block index... Učitavanje indeksa blokova... - + Add a node to connect to and attempt to keep the connection open Unesite nod s kojim se želite spojiti and attempt to keep the connection open @@ -2697,12 +2871,7 @@ Program ne može koristiti %s na ovom računalu. Bitcoin program je vjerojatno već pokrenut. - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send Naknada posredniku po KB-u koja će biti dodana svakoj transakciji koju pošalješ @@ -2712,42 +2881,37 @@ Učitavanje novčanika... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + Nije moguće novčanik vratiti na prijašnju verziju. Cannot write default address - + Nije moguće upisati zadanu adresu. - + Rescanning... Rescaniranje - + Done loading Učitavanje gotovo - + To use the %s option - + Error - + Greška - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_hu.ts bitcoin-0.8.5/src/qt/locale/bitcoin_hu.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_hu.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_hu.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> verzió - - Copyright © 2009-2012 The Bitcoin developers - Szerzői jog © 2009-2012 Bitcoin Developers - - - + This is experimental software. @@ -31,6 +26,16 @@ Ez a termék az OpenSSL Project által lett kifejlesztve az OpenSSL Toolkit (http://www.openssl.org/) és kriptográfiai szoftvertben való felhasználásra, írta Eric Young (eay@cryptsoft.com) és UPnP szoftver, írta Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -40,9 +45,9 @@ Címjegyzék - + Double-click to edit address or label - Dupla-katt a cím vagy a címke szerkesztéséhez + Dupla-kattintás a cím vagy a címke szerkesztéséhez @@ -60,19 +65,19 @@ &Új cím - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Ezekkel a Bitcoin-címekkel fogadhatod kifizetéseket. Érdemes lehet minden egyes kifizető számára külön címet létrehozni, hogy könnyebben nyomon követhesd, kitől kaptál már pénzt. - + &Copy Address &Cím másolása Show &QR Code - + &QR kód mutatása @@ -90,14 +95,24 @@ - - Verify a message to ensure it was signed with a specified Bitcoin address + + Export the data in the current tab to a file + Jelenlegi nézet exportálása fájlba + + + + &Export + + Verify a message to ensure it was signed with a specified Bitcoin address + Üzenet ellenőrzése, hogy valóban a megjelölt Bitcoin címekkel van-e aláírva. + + &Verify Message - + Üzenet ellenőrzése @@ -105,17 +120,27 @@ &Törlés - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Címke &másolása - + &Edit + Sz&erkesztés + + + + Send &Coins - + Export Address Book Data Címjegyzék adatainak exportálása @@ -138,7 +163,7 @@ AddressTableModel - + Label Címke @@ -158,7 +183,7 @@ Passphrase Dialog - + Kulcsszó párbeszédablak @@ -233,7 +258,7 @@ 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. - + FONTOS: A pénztárca-fájl korábbi mentéseit ezzel az új, titkosított pénztárca-fájllal kell helyettesíteni. Biztonsági okokból a pénztárca-fájl korábbi titkosítás nélküli mentései haszontalanná válnak amint elkezdi használni az új, titkosított pénztárcát. @@ -297,17 +322,17 @@ BitcoinGUI - + Sign &message... - + Üzenet aláírása... - + Synchronizing with network... Szinkronizálás a hálózattal... - + &Overview &Áttekintés @@ -327,32 +352,17 @@ Tranzakciótörténet megtekintése - - &Address Book - Cím&jegyzék - - - + Edit the list of stored addresses and labels Tárolt címek és címkék listájának szerkesztése - - &Receive coins - Érmék &fogadása - - - + Show the list of addresses for receiving payments Kiizetést fogadó címek listája - - &Send coins - Érmék &küldése - - - + E&xit &Kilépés @@ -382,14 +392,14 @@ &Opciók... - + &Encrypt Wallet... Tárca &kódolása... &Backup Wallet... - + &Bisztonsági másolat készítése a Tárcáról @@ -397,27 +407,17 @@ Jelszó &megváltoztatása... - + Importing blocks from disk... - + A blokkok importálása lemezről... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - - - - - &Export... - &Exportálás... + A blokkok lemezen történő ujraindexelése... - + Send coins to a Bitcoin address Érmék küldése megadott címre @@ -427,14 +427,9 @@ Bitcoin konfigurációs opciók - - Export the data in the current tab to a file - Jelenlegi nézet exportálása fájlba - - - + Backup wallet to another location - + Biztonsági másolat készítése a Tárcáról egy másik helyre @@ -442,33 +437,48 @@ Tárcakódoló jelszó megváltoztatása - + &Debug window - + &Debug ablak Open debugging and diagnostic console - + Hibakereső és diagnosztikai konzol megnyitása - + &Verify message... - + Üzenet &valódiságának ellenőrzése - - + + Bitcoin Bitcoin - + Wallet Tárca - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &A Bitcoinról @@ -483,27 +493,27 @@ - + Encrypt the private keys that belong to your wallet - + A pénztárcájához tartozó privát kulcsok titkosítása Sign messages with your Bitcoin addresses to prove you own them - + Üzenet aláírása a Bitcoin címmel, amivel bizonyítja, hogy a cím az ön tulajdona. Verify messages to ensure they were signed with specified Bitcoin addresses - + Annak ellenőrzése, hogy az üzenetek valóban a megjelölt Bitcoin címekkel vannak-e alaírva - + &File &Fájl - + &Settings &Beállítások @@ -518,108 +528,103 @@ Fül eszköztár - - Actions toolbar - Parancsok eszköztár - - - + [testnet] [teszthálózat] - + Bitcoin client - + Bitcoin kliens - + %n active connection(s) to Bitcoin network %n aktív kapcsolat a Bitcoin-hálózattal%n aktív kapcsolat a Bitcoin-hálózattal - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error - + + Processed %1 blocks of transaction history. + A tranzakció-történet %1 blokkja feldolgozva. + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - %n másodperccel ezelőtt%n másodperccel ezelőtt - - - - %n minute(s) ago - %n perccel ezelőtt%n perccel ezelőtt - - - - %n hour(s) ago - %n órával ezelőtt%n órával ezelőtt + + + Information + - - - %n day(s) ago - %n nappal ezelőtt%n nappal ezelőtt + + + 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? + - + Up to date Naprakész - + Catching up... Frissítés... - - Last received block was generated %1. - Az utolsóként kapott blokk generálva: %1. - - - + Confirm transaction fee - + Tranzakciós díj jóváhagyása - + Sent transaction Tranzakció elküldve. @@ -642,14 +647,14 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -664,27 +669,7 @@ Tárca <b>kódolva</b> és jelenleg <b>zárva</b>. - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -692,7 +677,7 @@ ClientModel - + Network Alert @@ -725,7 +710,7 @@ Az ehhez a címjegyzék-bejegyzéshez tartozó cím. Ez csak a küldő címeknél módosítható. - + New receiving address Új fogadó cím @@ -745,17 +730,17 @@ Küldő cím szerkesztése - + The entered address "%1" is already in the address book. A megadott "%1" cím már szerepel a címjegyzékben. - + The entered address "%1" is not a valid Bitcoin address. A megadott "%1" cím nem egy érvényes Bitcoin-cím. - + Could not unlock wallet. Tárca feloldása sikertelen @@ -768,7 +753,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -786,7 +771,7 @@ command-line options - + parancssoros opciók @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Opcionális, kB-onkénti tranzakciós díj a tranzakcióid minél gyorsabb feldolgozásának elősegítésére. A legtöbb tranzakció 1 kB-os. 0,01 BTC ajánlott. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -975,17 +960,17 @@ &Cancel - + Megszakítás &Apply - + Alkalmazás - + default - + alapértelmezett @@ -1012,7 +997,7 @@ This setting will take effect after restarting Bitcoin. - + Ez a beállítás a Bitcoin ujraindítása után lép érvénybe. @@ -1028,23 +1013,18 @@ Űrlap - - + + 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. - + A kijelzett információ lehet, hogy elavult. A pénztárcája automatikusan szinkronizálja magát a Bitcoin hálózattal miután a kapcsolat létrejön, de ez e folyamat még nem fejeződött be. - + Balance: Egyenleg: - - Number of transactions: - Tranzakciók száma: - - - + Unconfirmed: Megerősítetlen: @@ -1054,7 +1034,7 @@ Tárca - + Immature: @@ -1069,7 +1049,7 @@ <b>Legutóbbi tranzakciók</b> - + Your current balance Aktuális egyenleged @@ -1079,14 +1059,17 @@ Még megerősítésre váró, a jelenlegi egyenlegbe be nem számított tranzakciók - - Total number of transactions in wallet - Tárca összes tranzakcióinak száma - - - + out of sync + Nincs szinkronban. + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler @@ -1095,12 +1078,12 @@ QR Code Dialog - + QR kód párbeszédablak Request Payment - + Fizetés kérése @@ -1120,32 +1103,32 @@ &Save As... - + Mentés má&sként Error encoding URI into QR Code. - + Hiba lépett fel az URI QR kóddá alakításakor The entered amount is invalid, please check. - + A megadott összeg nem érvényes. Kérem ellenőrizze. Resulting URI too long, try to reduce the text for label / message. - + A keletkezett URI túl hosszú, próbálja meg csökkenteni a cimkeszöveg / üzenet méretét. Save QR Code - + QR kód mentése PNG Images (*.png) - + PNG Képfájlok (*.png) @@ -1153,7 +1136,7 @@ Client name - + Kliens néve @@ -1165,19 +1148,19 @@ - + N/A - + Nem elérhető Client version - + Kliens verzió &Information - + &Információ @@ -1187,47 +1170,47 @@ Startup time - + Bekapcsolás ideje Network - + Hálózat Number of connections - + Kapcsolatok száma On testnet - + Teszthálózaton Block chain - + Blokklánc Current number of blocks - + Aktuális blokkok száma Estimated total blocks - + Becsült összes blokk Last block time - + Utolsó blokk ideje &Open - + &Megnyitás @@ -1247,12 +1230,12 @@ &Console - + &Konzol Build date - + Fordítás dátuma @@ -1277,7 +1260,7 @@ Clear console - + Konzol törlése @@ -1287,7 +1270,7 @@ Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Navigálhat a fel és le nyilakkal, és <b>Ctrl-L</b> -vel törölheti a képernyőt. @@ -1322,7 +1305,7 @@ Remove all transaction fields - + Az összes tranzakciós mező eltávolítása @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Milyen címkével kerüljön be ez a cím a címtáradba? @@ -1480,12 +1463,12 @@ &Sign Message - + Üzenet aláírása... You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - + Aláírhat a címeivel üzeneteket, amivel bizonyíthatja, hogy a címek az önéi. Vigyázzon, hogy ne írjon alá semmi félreérthetőt, mivel a phising támadásokkal megpróbálhatják becsapni, hogy az azonosságát átírja másokra. Csak olyan részletes állításokat írjon alá, amivel egyetért. @@ -1517,7 +1500,7 @@ Enter the message you want to sign here - + Ide írja az aláírandó üzenetet @@ -1527,7 +1510,7 @@ Copy the current signature to the system clipboard - + A jelenleg kiválasztott aláírás másolása a rendszer-vágólapra @@ -1553,12 +1536,12 @@ &Verify Message - + Üzenet ellenőrzése Enter the signing 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. - + Írja be az aláírás címét, az üzenetet (ügyelve arra, hogy az új-sor, szóköz, tab, stb. karaktereket is pontosan) és az aláírást az üzenet ellenőrzéséhez. Ügyeljen arra, ne gondoljon többet az aláírásról, mint amennyi az aláírt szövegben ténylegesen áll, hogy elkerülje a köztes-ember (man-in-the-middle) támadást. @@ -1594,13 +1577,13 @@ Enter Bitcoin signature - + Adja meg a Bitcoin aláírást The entered address is invalid. - + A megadott cím nem érvényes. @@ -1608,7 +1591,7 @@ Please check the address and try again. - + Ellenőrizze a címet és próbálja meg újra. @@ -1664,10 +1647,23 @@ - TransactionDesc + SplashScreen - - Open until %1 + + The Bitcoin developers + + + + + [testnet] + [teszthálózat] + + + + TransactionDesc + + + Open until %1 Megnyitva %1-ig @@ -1853,7 +1849,7 @@ TransactionTableModel - + Date Dátum @@ -1971,7 +1967,7 @@ TransactionView - + All Mind @@ -2054,6 +2050,11 @@ Copy amount + Összeg másolása + + + + Copy transaction ID @@ -2064,10 +2065,10 @@ Show transaction details - + Tranzakciós részletek megjelenítése - + Export Transaction Data Tranzakció adatainak exportálása @@ -2122,7 +2123,7 @@ %1 fájlba való kiírás sikertelen. - + Range: Tartomány: @@ -2133,43 +2134,94 @@ + WalletModel + + + Send Coins + Érmék küldése + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + Jelenlegi nézet exportálása fájlba + + + + Backup Wallet + Biztonsági másolat készítése a Tárcáról + + + + Wallet Data (*.dat) + Tárca fájl (*.dat) + + + + Backup Failed + Biztonsági másolat készítése sikertelen + + + + There was an error trying to save the wallet data to the new location. + Hiba lépett fel a Tárca másik helyre való mentése közben + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version Bitcoin verzió - + Usage: Használat: - + Send command to -server or bitcoind Parancs küldése a -serverhez vagy a bitcoindhez - + List commands Parancsok kilistázása - + Get help for a command Segítség egy parancsról - + Options: Opciók - + Specify configuration file (default: bitcoin.conf) Konfigurációs fájl (alapértelmezett: bitcoin.conf) @@ -2181,106 +2233,96 @@ - - Generate coins - Érmék generálása - - - - - Don't generate coins - Bitcoin-generálás leállítása - - - - + Specify data directory Adatkönyvtár - + Set database cache size in megabytes (default: 25) - + Az adatbázis gyorsítótár mérete megabájtban (alapértelmezés: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Csatlakozásokhoz figyelendő <port> (alapértelmezett: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Maximálisan <n> számú kapcsolat fenntartása a peerekkel (alapértelmezés: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Kapcsolódás egy csomóponthoz a peerek címeinek megszerzése miatt, majd szétkapcsolás - + Specify your own public address - + Adja meg az Ön saját nyilvános címét - + Threshold for disconnecting misbehaving peers (default: 100) - + Helytelenül viselkedő peerek leválasztási határértéke (alapértelmezés: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + Helytelenül viselkedő peerek kizárási ideje másodpercben (alapértelmezés: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) JSON-RPC csatlakozásokhoz figyelendő <port> (alapértelmezett: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Parancssoros és JSON-RPC parancsok elfogadása - + Run in the background as a daemon and accept commands Háttérben futtatás daemonként és parancsok elfogadása - + Use the test network Teszthálózat használata - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2296,22 +2338,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2320,7 +2362,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2360,62 +2402,172 @@ - + Connect only to the specified node(s) Csatlakozás csak a megadott csomóponthoz + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2425,7 +2577,22 @@ Érvénytelen -tor cím: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2435,9 +2602,9 @@ - + Only accept block chain matching built-in checkpoints (default: 1) - + Csak blokklánccal egyező beépített ellenőrző pontok elfogadása (alapértelmezés: 1) @@ -2457,15 +2624,10 @@ Prepend debug output with timestamp - + Időbélyeges hibakeresési kimenet hozzáadása az elejéhez - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL-opciók: (lásd a Bitcoin Wiki SSL-beállítási instrukcióit) @@ -2477,12 +2639,12 @@ Send trace/debug info to console instead of debug.log file - + trace/debug információ küldése a konzolra a debog.log fájl helyett Send trace/debug info to debugger - + trace/debug információ küldése a debuggerre @@ -2495,17 +2657,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) Csatlakozás időkerete milliszekundumban (alapértelmezett: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 0) @@ -2537,39 +2724,44 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Jelszó JSON-RPC csatlakozásokhoz - + Allow JSON-RPC connections from specified IP address JSON-RPC csatlakozások engedélyezése meghatározott IP-címről - + Send commands to node running on <ip> (default: 127.0.0.1) Parancsok küldése <ip> címen működő csomóponthoz (alapértelmezett: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Parancs, amit akkor hajt végre, amikor a legjobb blokk megváltozik (%s a cmd-ban lecserélődik a blokk hash-re) - + Upgrade wallet to latest format - + A Tárca frissítése a legfrissebb formátumra - + Set key pool size to <n> (default: 100) Kulcskarika mérete <n> (alapértelmezett: 100) @@ -2581,18 +2773,13 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections OpenSSL (https) használata JSON-RPC csatalkozásokhoz - + Server certificate file (default: server.cert) Szervertanúsítvány-fájl (alapértelmezett: server.cert) @@ -2604,39 +2791,39 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Elfogadható rejtjelkulcsok (alapértelmezett: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH ) - + This help message Ez a súgó-üzenet - + Unable to bind to %s on this computer (bind returned error %d, %s) A %s nem elérhető ezen a gépen (bind returned error %d, %s) - + Connect through socks proxy Csatlakozás SOCKS proxyn keresztül - + Allow DNS lookups for -addnode, -seednode and -connect DNS-kikeresés engedélyezése az addnode-nál és a connect-nél - + Loading addresses... Címek betöltése... - + Error loading wallet.dat: Wallet corrupted Hiba a wallet.dat betöltése közben: meghibásodott tárca @@ -2646,42 +2833,32 @@ Hiba a wallet.dat betöltése közben: ehhez a tárcához újabb verziójú Bitcoin-kliens szükséges - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + A Tárca újraírása szükséges: Indítsa újra a teljesen a Bitcoin-t - + Error loading wallet.dat Hiba az wallet.dat betöltése közben - + Invalid -proxy address: '%s' Érvénytelen -proxy cím: '%s' - + Unknown network specified in -onlynet: '%s' - + Ismeretlen hálózat lett megadva -onlynet: '%s' Unknown -socks proxy version requested: %i - + Ismeretlen -socks proxy kérése: %i - + Cannot resolve -bind address: '%s' @@ -2691,32 +2868,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' Étvénytelen -paytxfee=<összeg> összeg: '%s' - - Error: could not start node - - - - + Invalid amount Étvénytelen összeg - + Insufficient funds Nincs elég bitcoinod. - + Loading block index... Blokkindex betöltése... - + Add a node to connect to and attempt to keep the connection open Elérendő csomópont megadása and attempt to keep the connection open @@ -2726,12 +2898,7 @@ A %s nem elérhető ezen a gépen. A Bitcoin valószínűleg fut már. - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send kB-onként felajánlandó díj az általad küldött tranzakciókhoz @@ -2741,46 +2908,43 @@ Tárca betöltése... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + Nem sikerült a Tárca visszaállítása a korábbi verzióra Cannot write default address - + Nem sikerült az alapértelmezett címet írni. - + Rescanning... Újraszkennelés... - + Done loading Betöltés befejezve. - + To use the %s option - + Használd a %s opciót - + Error Hiba - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. - + Be kell állítani rpcpassword=<password> a konfigurációs fájlban +%s +Ha a fájl nem létezik, hozd létre 'csak a felhasználó által olvasható' fájl engedéllyel \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_it.ts bitcoin-0.8.5/src/qt/locale/bitcoin_it.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_it.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_it.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ Versione di <b>Bitcoin</b> - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -32,6 +27,16 @@ Questo prodotto include software sviluppato dal progetto OpenSSL per l'uso del Toolkit OpenSSL (http://www.openssl.org/), software crittografico scritto da Eric Young (eay@cryptsoft.com) e software UPnP scritto da Thomas Bernard. + + + Copyright + Copyright + + + + The Bitcoin developers + Sviluppatori di Bitcoin + AddressBookPage @@ -41,7 +46,7 @@ Rubrica - + Double-click to edit address or label Fai doppio click per modificare o cancellare l'etichetta @@ -61,12 +66,12 @@ &Nuovo indirizzo - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Questi sono i tuoi indirizzi Bitcoin per ricevere pagamenti. Potrai darne uno diverso ad ognuno per tenere così traccia di chi ti sta pagando. - + &Copy Address &Copia l'indirizzo @@ -88,12 +93,22 @@ Delete the currently selected address from the list - + Cancella l'indirizzo attualmente selezionato dalla lista - + + Export the data in the current tab to a file + Esporta i dati nella tabella corrente su un file + + + + &Export + &Esporta... + + + Verify a message to ensure it was signed with a specified Bitcoin address - + Verifica un messaggio per accertarsi che sia firmato con un indirizzo Bitcoin specifico @@ -106,17 +121,27 @@ &Cancella - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Copia &l'etichetta - + &Edit &Modifica - + + Send &Coins + Invia &Bitcoin + + + Export Address Book Data Esporta gli indirizzi della rubrica @@ -139,7 +164,7 @@ AddressTableModel - + Label Etichetta @@ -159,7 +184,7 @@ Passphrase Dialog - + Finestra passphrase @@ -234,7 +259,7 @@ 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. - + IMPORTANTE: qualsiasi backup del portafoglio effettuato precedentemente dovrebbe essere sostituito con il file del portafoglio criptato appena generato. Per ragioni di sicurezza, i backup precedenti del file del portafoglio non criptato diventeranno inservibili non appena si inizi ad usare il nuovo portafoglio criptato. @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Firma il &messaggio... - + Synchronizing with network... Sto sincronizzando con la rete... - + &Overview &Sintesi @@ -328,32 +353,17 @@ Cerca nelle transazioni - - &Address Book - &Rubrica - - - + Edit the list of stored addresses and labels Modifica la lista degli indirizzi salvati e delle etichette - - &Receive coins - &Ricevi monete - - - + Show the list of addresses for receiving payments Mostra la lista di indirizzi su cui ricevere pagamenti - - &Send coins - &Invia monete - - - + E&xit &Esci @@ -383,7 +393,7 @@ &Opzioni... - + &Encrypt Wallet... &Cifra il portamonete... @@ -398,27 +408,17 @@ &Cambia la passphrase... - + Importing blocks from disk... Importa blocchi dal disco... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - ~%n blocco rimanente~%n blocchi rimanenti - - - - &Export... - &Esporta... + Re-indicizzazione blocchi su disco... - + Send coins to a Bitcoin address Invia monete ad un indirizzo bitcoin @@ -428,12 +428,7 @@ Modifica configurazione opzioni per bitcoin - - Export the data in the current tab to a file - Esporta i dati nella tabella corrente su un file - - - + Backup wallet to another location Backup portamonete in un'altra locazione @@ -443,7 +438,7 @@ Cambia la passphrase per la cifratura del portamonete - + &Debug window Finestra &Debug @@ -453,23 +448,38 @@ Apri la console di degugging e diagnostica - + &Verify message... &Verifica messaggio... - - + + Bitcoin Bitcoin - + Wallet Portamonete - + + &Send + &Spedisci + + + + &Receive + &Ricevi + + + + &Addresses + &Indirizzi + + + &About Bitcoin &Info su Bitcoin @@ -484,27 +494,27 @@ Mostra o nascondi la Finestra principale - + Encrypt the private keys that belong to your wallet - + Crittografa le chiavi private che appartengono al tuo portafoglio Sign messages with your Bitcoin addresses to prove you own them - + Firma i messaggi con il tuo indirizzo Bitcoin per dimostrare di possederli Verify messages to ensure they were signed with specified Bitcoin addresses - + Verifica i messaggi per accertarsi che siano stati firmati con gli indirizzi Bitcoin specificati - + &File &File - + &Settings &Impostazioni @@ -519,108 +529,103 @@ Barra degli strumenti "Tabs" - - Actions toolbar - Barra degli strumenti "Azioni" - - - + [testnet] [testnet] - + Bitcoin client Bitcoin client - + %n active connection(s) to Bitcoin network %n connessione attiva alla rete Bitcoin%n connessioni attive alla rete Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. - + + Processed %1 of %2 (estimated) blocks of transaction history. + Processati %1 di %2 (circa) blocchi della cronologia transazioni. - - Error - + + Processed %1 blocks of transaction history. + Processati %1 blocchi della cronologia transazioni. - - - Warning - + + + %n hour(s) + %n ora%n ore - - - Information - + + + %n day(s) + %n giorno%n giorni + + + + %n week(s) + %n settimana%n settimane - - 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? + + %1 behind - - Backup Successful - + + Last received block was generated %1 ago. + L'ultimo blocco ricevuto è stato generato %1 fa. - - The wallet data was successfully saved to the new location. + + Transactions after this will not yet be visible. - - - %n second(s) ago - %n secondo fa%n secondi fa + + + Error + Errore - - - %n minute(s) ago - %n minuto fa%n minuti fa + + + Warning + Attenzione - - - %n hour(s) ago - %n ora fa%n ore fa + + + Information + Informazione - - - %n day(s) ago - %n giorno fa%n giorni fa + + + 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? + Questa transazione è superiore al limite di dimensione. È comunque possibile inviarla con una commissione di %1, che va ai nodi che processano la tua transazione e contribuisce a sostenere la rete. Vuoi pagare la commissione? - + Up to date Aggiornato - + Catching up... In aggiornamento... - - Last received block was generated %1. - L'ultimo blocco ricevuto è stato generato %1 - - - + Confirm transaction fee Conferma compenso transazione - + Sent transaction Transazione inviata @@ -644,16 +649,16 @@ - - + + URI handling - + Gestione URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - + Impossibile interpretare l'URI! Ciò può essere causato da un indirizzo Bitcoin invalido o da parametri URI non corretti. @@ -666,35 +671,15 @@ Il portamonete è <b>cifrato</b> e attualmente <b>bloccato</b> - - Backup Wallet - Backup Portamonete - - - - Wallet Data (*.dat) - Dati Portamonete (*.dat) - - - - Backup Failed - Backup fallito - - - - There was an error trying to save the wallet data to the new location. - C'è stato un errore tentanto di salvare i dati del portamonete in un'altra locazione - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. - + Riscontrato un errore irreversibile. Bitcoin non può più continuare in sicurezza e verrà terminato. ClientModel - + Network Alert Avviso di rete @@ -727,7 +712,7 @@ L'indirizzo associato a questa voce della rubrica. Si può modificare solo negli indirizzi di spedizione. - + New receiving address Nuovo indirizzo di ricezione @@ -747,17 +732,17 @@ Modifica indirizzo d'invio - + The entered address "%1" is already in the address book. L'indirizzo inserito "%1" è già in rubrica. - + The entered address "%1" is not a valid Bitcoin address. L'indirizzo inserito "%1" non è un indirizzo bitcoin valido. - + Could not unlock wallet. Impossibile sbloccare il portamonete. @@ -770,7 +755,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -826,8 +811,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Commissione di transazione per kB; è opzionale e contribuisce ad assicurare che le transazioni siano elaborate velocemente. Le transazioni sono per la maggior parte da 1 kB. Commissione raccomandata 0,01. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -847,12 +832,12 @@ Reset all client options to default. - + Ripristina tutte le opzioni del client alle predefinite. &Reset Options - + &Ripristina Opzioni @@ -907,12 +892,12 @@ SOCKS version of the proxy (e.g. 5) - + Versione SOCKS del proxy (es. 5) &Window - + &Finestra @@ -947,7 +932,7 @@ The user interface language can be set here. This setting will take effect after restarting Bitcoin. - + La lingua dell'interfaccia utente può essere impostata qui. L'impostazione avrà effetto dopo il riavvio di Bitcoin. @@ -962,7 +947,7 @@ Whether to show Bitcoin addresses in the transaction list or not. - + Se mostrare l'indirizzo Bitcoin nella transazione o meno. @@ -985,24 +970,24 @@ &Applica - + default default Confirm options reset - + Conferma ripristino opzioni Some settings may require a client restart to take effect. - + Alcune modifiche necessitano del riavvio del programma per essere salvate. Do you want to proceed? - + Vuoi procedere? @@ -1014,12 +999,12 @@ This setting will take effect after restarting Bitcoin. - + L'impostazione avrà effetto dopo il riavvio di Bitcoin. The supplied proxy address is invalid. - + L'indirizzo proxy che hai fornito è invalido. @@ -1030,23 +1015,18 @@ Modulo - - + + 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. Le informazioni visualizzate sono datate. Il tuo partafogli verrà sincronizzato automaticamente con il network Bitcoin dopo che la connessione è stabilita, ma questo processo non può essere completato ora. - + Balance: Saldo - - Number of transactions: - Numero di transazioni: - - - + Unconfirmed: Non confermato: @@ -1056,14 +1036,14 @@ Portamonete - + Immature: - + Immaturo: Mined balance that has not yet matured - + Importo scavato che non è ancora maturato @@ -1071,7 +1051,7 @@ <b>Transazioni recenti</b> - + Your current balance Saldo attuale @@ -1081,18 +1061,21 @@ Totale delle transazioni in corso di conferma, che non sono ancora incluse nel saldo attuale - - Total number of transactions in wallet - Numero delle transazioni effettuate - - - + out of sync fuori sincrono + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1132,7 +1115,7 @@ The entered amount is invalid, please check. - + L'importo specificato non è valido, prego verificare. @@ -1167,7 +1150,7 @@ - + N/A N/D @@ -1184,7 +1167,7 @@ Using OpenSSL version - + Versione OpenSSL in uso @@ -1239,7 +1222,7 @@ Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Mostra il messaggio di aiuto di Bitcoin-QT per avere la lista di tutte le opzioni della riga di comando di Bitcoin. @@ -1269,12 +1252,12 @@ Debug log file - + File log del Debug Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - + Apri il file di log del debug di Bitcoin dalla cartella attuale. Può richiedere alcuni secondi per file di log grandi. @@ -1384,7 +1367,7 @@ The amount exceeds your balance. - Nincs ennyi bitcoin az egyenlegeden. + L'importo è superiore al saldo attuale @@ -1431,7 +1414,7 @@ - + Enter a label for this address to add it to your address book Inserisci un'etichetta per questo indirizzo, per aggiungerlo nella rubrica @@ -1523,12 +1506,12 @@ Signature - + Firma Copy the current signature to the system clipboard - + Copia la firma corrente nella clipboard @@ -1538,12 +1521,12 @@ Sign &Message - + Firma &messaggio Reset all sign message fields - + Reimposta tutti i campi della firma @@ -1569,17 +1552,17 @@ Verify the message to ensure it was signed with the specified Bitcoin address - + Verifica il messaggio per assicurarsi che sia stato firmato con l'indirizzo Bitcoin specificato Verify &Message - + &Verifica Messaggio Reset all verify message fields - + Reimposta tutti i campi della verifica messaggio @@ -1595,7 +1578,7 @@ Enter Bitcoin signature - + Inserisci firma Bitcoin @@ -1615,17 +1598,17 @@ The entered address does not refer to a key. - + L'indirizzo bitcoin inserito non è associato a nessuna chiave. Wallet unlock was cancelled. - + Sblocco del portafoglio annullato. Private key for the entered address is not available. - + La chiave privata per l'indirizzo inserito non è disponibile. @@ -1651,7 +1634,7 @@ The signature did not match the message digest. - + La firma non corrisponde al sunto del messaggio. @@ -1665,16 +1648,29 @@ + SplashScreen + + + The Bitcoin developers + Sviluppatori di Bitcoin + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Aperto fino a %1 %1/offline - + %1/offline @@ -1694,7 +1690,7 @@ , broadcast through %n node(s) - + , trasmesso attraverso %n nodo, trasmesso attraverso %n nodi @@ -1704,7 +1700,7 @@ Source - + Sorgente @@ -1722,13 +1718,13 @@ To - + A own address - + proprio indirizzo @@ -1747,7 +1743,7 @@ matures in %n more block(s) - + matura in %n ulteriore bloccomatura in altri %n blocchi @@ -1805,7 +1801,7 @@ Inputs - + Input @@ -1830,7 +1826,7 @@ Open for %n more block(s) - + Aperto per %n altro bloccoAperto per altri %n blocchi @@ -1854,7 +1850,7 @@ TransactionTableModel - + Date Data @@ -1876,7 +1872,7 @@ Open for %n more block(s) - + Aperto per %n altro bloccoAperto per altri %n blocchi @@ -1901,7 +1897,7 @@ Mined balance will be available when it matures in %n more block(s) - + Il saldo generato sarà disponibile quando maturerà in %n altro bloccoIl saldo generato sarà disponibile quando maturerà in altri %n blocchi @@ -1972,7 +1968,7 @@ TransactionView - + All Tutti @@ -2059,6 +2055,11 @@ + Copy transaction ID + + + + Edit label Modifica l'etichetta @@ -2068,7 +2069,7 @@ Mostra i dettagli della transazione - + Export Transaction Data Esporta i dati della transazione @@ -2123,7 +2124,7 @@ Impossibile scrivere sul file %1. - + Range: Intervallo: @@ -2134,43 +2135,94 @@ - bitcoin-core + WalletModel - - Bitcoin version - Versione di Bitcoin - + + Send Coins + Spedisci Bitcoin + + + + WalletView - + + &Export + + + + + Export the data in the current tab to a file + Esporta i dati nella tabella corrente su un file + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + Backup fallito + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + Backup eseguito con successo + + + + The wallet data was successfully saved to the new location. + Il portafoglio è stato correttamente salvato nella nuova cartella. + + + + bitcoin-core + + + Bitcoin version + Versione di Bitcoin + + + Usage: Utilizzo: - + Send command to -server or bitcoind Manda il comando a -server o bitcoind - + List commands Lista comandi - + Get help for a command Aiuto su un comando - + Options: Opzioni: - + Specify configuration file (default: bitcoin.conf) Specifica il file di configurazione (di default: bitcoin.conf) @@ -2182,148 +2234,138 @@ - - Generate coins - Genera Bitcoin - - - - - Don't generate coins - Non generare Bitcoin - - - - + Specify data directory Specifica la cartella dati - + Set database cache size in megabytes (default: 25) Imposta la dimensione cache del database in megabyte (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Ascolta le connessioni JSON-RPC su <porta> (default: 8333 o testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Mantieni al massimo <n> connessioni ai peer (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect Connessione ad un nodo per ricevere l'indirizzo del peer, e disconnessione - + Specify your own public address Specifica il tuo indirizzo pubblico - + Threshold for disconnecting misbehaving peers (default: 100) Soglia di disconnessione dei peer di cattiva qualità (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Numero di secondi di sospensione che i peer di cattiva qualità devono trascorrere prima di riconnettersi (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Errore riscontrato durante l'impostazione della porta RPC %u per l'ascolto su IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Attendi le connessioni JSON-RPC su <porta> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Accetta da linea di comando e da comandi JSON-RPC - + Run in the background as a daemon and accept commands Esegui in background come demone e accetta i comandi - + Use the test network Utilizza la rete di prova - + Accept connections from outside (default: 1 if no -proxy or -connect) - + Accetta connessioni dall'esterno (default: 1 se no -proxy o -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + Errore riscontrato durante l'impostazione della porta RPC %u per l'ascolto su IPv6, tornando su IPv4: %s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Collega all'indirizzo indicato e resta sempre in ascolto su questo. Usa la notazione [host]:porta per l'IPv6 Cannot obtain a lock on data directory %s. Bitcoin is probably already running. - + Non è possibile ottenere i dati sulla cartella %s. Probabilmente Bitcoin è già in esecuzione. - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Errore: la transazione è stata rifiutata. Ciò accade se alcuni bitcoin nel portamonete sono stati già spesi, ad esempio se è stata usata una copia del file wallet.dat e i bitcoin sono stati spesi dalla copia ma non segnati come spesi qui. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Errore: questa transazione necessita di una commissione di almeno %s a causa del suo ammontare, della sua complessità, o dell'uso di fondi recentemente ricevuti! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Esegui comando quando una transazione del portafoglio cambia (%s in cmd è sostituito da TxID) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Imposta dimensione massima delle transazioni ad alta priorità/bassa-tassa in bytes (predefinito: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + Questa versione è una compilazione pre-rilascio - usala a tuo rischio - non utilizzarla per la generazione o per applicazioni di commercio @@ -2333,7 +2375,7 @@ Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. - + Attenzione: le transazioni mostrate potrebbero essere sbagliate! Potresti aver bisogno di aggiornare, o altri nodi ne hanno bisogno. @@ -2343,17 +2385,17 @@ Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Attenzione: errore di lettura di wallet.dat! Tutte le chiave lette correttamente, ma i dati delle transazioni o le voci in rubrica potrebbero mancare o non essere corretti. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Attenzione: wallet.dat corrotto, dati salvati! Il wallet.dat originale salvato come wallet.{timestamp}.bak in %s; se il tuo bilancio o le transazioni non sono corrette dovresti ripristinare da un backup. Attempt to recover private keys from a corrupt wallet.dat - + Tenta di recuperare le chiavi private da un wallet.dat corrotto @@ -2361,64 +2403,174 @@ Opzioni creazione blocco: - + Connect only to the specified node(s) Connetti solo al nodo specificato + Corrupted block database detected + Rilevato database blocchi corrotto + + + Discover own IP address (default: 1 when listening and no -externalip) + Scopri proprio indirizzo IP (default: 1 se in ascolto e no -externalip) + + + + Do you want to rebuild the block database now? + Vuoi ricostruire ora il database dei blocchi? + + + + Error initializing block database - - Error loading block database + + Error initializing wallet database environment %s! - + + Error loading block database + Errore caricamento database blocchi + + + + Error opening block database + Errore caricamento database blocchi + + + Error: Disk space is low! + Errore: la spazio libero sul disco è poco! + + + + Error: Wallet locked, unable to create transaction! + Errore: portafoglio bloccato, impossibile creare la transazione! + + + + Error: system error: + Errore: errore di sistema: + + + + Failed to listen on any port. Use -listen=0 if you want this. + Impossibile mettersi in ascolto su una porta. Usa -listen=0 se vuoi usare questa opzione. + + + + Failed to read block info + Lettura informazioni blocco fallita + + + + Failed to read block + Lettura blocco fallita + + + + Failed to sync block index - Error: Transaction creation failed! - Errore: Creazione transazione fallita! + Failed to write block index + - Error: Wallet locked, unable to create transaction! + Failed to write block info + Scrittura informazioni blocco fallita + + + + Failed to write block + Scrittura blocco fallita + + + + Failed to write file info + Scrittura informazioni file fallita + + + + Failed to write to coin database + Scrittura nel database dei bitcoin fallita + + + + Failed to write transaction index - - Failed to listen on any port. Use -listen=0 if you want this. + + Failed to write undo data Find peers using DNS lookup (default: 1 unless -connect) + Trova peer utilizzando la ricerca DNS (predefinito: 1 finché utilizzato -connect) + + + + Generate coins (default: 0) - + + How many blocks to check at startup (default: 288, 0 = all) + Quanti blocchi da controllare all'avvio (predefinito: 288, 0 = tutti) + + + How thorough the block verification is (0-4, default: 3) - - Importing blocks from block database... - Importazione blocchi da database... + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifica blocchi... + Verifying wallet... + Verifica portafoglio... + + + Imports blocks from external blk000??.dat file + Importa blocchi da un file blk000??.dat esterno + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information - + Informazione @@ -2426,7 +2578,22 @@ Indirizzo -tor non valido: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Buffer di ricezione massimo per connessione, <n>*1000 byte (default: 5000) @@ -2436,14 +2603,14 @@ Buffer di invio massimo per connessione, <n>*1000 byte (default: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) Only connect to nodes in network <net> (IPv4, IPv6 or Tor) - + Connetti solo a nodi nella rete <net> (IPv4, IPv6 o Tor) @@ -2453,7 +2620,7 @@ Output extra network debugging information - + Genera informazioni extra utili al debug della rete @@ -2461,19 +2628,14 @@ Anteponi all'output di debug una marca temporale - - Rebuild blockchain index from current blk000??.dat files - Ricrea l'indice della catena dei blocchi dagli attuale file blk000??.dat - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opzioni SSL: (vedi il wiki di Bitcoin per le istruzioni di configurazione SSL) Select the version of socks proxy to use (4-5, default: 5) - + Selezionare la versione del proxy socks da usare (4-5, default: 5) @@ -2488,16 +2650,21 @@ Set maximum block size in bytes (default: 250000) - + Imposta dimensione massima del blocco in bytes (predefinito: 250000) Set minimum block size in bytes (default: 0) - + Imposta dimensione minima del blocco in bytes (predefinito: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) + Riduci il file debug.log all'avvio del client (predefinito: 1 se non impostato -debug) + + + + Signing transaction failed @@ -2506,7 +2673,27 @@ Specifica il timeout di connessione in millisecondi (default: 5000) - + + System error: + Errore di sistema: + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 0) @@ -2518,7 +2705,7 @@ Use proxy to reach tor hidden services (default: same as -proxy) - + Usa un proxy per raggiungere servizi nascosti di tor (predefinito: uguale a -proxy) @@ -2529,48 +2716,53 @@ Warning - + Attenzione Warning: This version is obsolete, upgrade required! + Attenzione: questa versione è obsoleta, aggiornamento necessario! + + + + You need to rebuild the databases using -reindex to change -txindex wallet.dat corrupt, salvage failed - + wallet.dat corrotto, salvataggio fallito - + Password for JSON-RPC connections Password per connessioni JSON-RPC - + Allow JSON-RPC connections from specified IP address Consenti connessioni JSON-RPC dall'indirizzo IP specificato - + Send commands to node running on <ip> (default: 127.0.0.1) Inviare comandi al nodo in esecuzione su <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Esegui il comando quando il miglior block cambia(%s nel cmd è sostituito dall'hash del blocco) - + Upgrade wallet to latest format Aggiorna il wallet all'ultimo formato - + Set key pool size to <n> (default: 100) Impostare la quantità di chiavi di riserva a <n> (default: 100) @@ -2582,18 +2774,13 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - Quanti blocchi da controllare all'avvio (default: 2500, 0 = tutti) - - - + Use OpenSSL (https) for JSON-RPC connections Utilizzare OpenSSL (https) per le connessioni JSON-RPC - + Server certificate file (default: server.cert) File certificato del server (default: server.cert) @@ -2605,40 +2792,40 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Cifrari accettabili (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Questo messaggio di aiuto - + Unable to bind to %s on this computer (bind returned error %d, %s) Impossibile collegarsi alla %s su questo computer (bind returned error %d, %s) - + Connect through socks proxy Connessione tramite socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect Consenti ricerche DNS per aggiungere nodi e collegare - + Loading addresses... Caricamento indirizzi... - + Error loading wallet.dat: Wallet corrupted Errore caricamento wallet.dat: Wallet corrotto @@ -2648,32 +2835,22 @@ Errore caricamento wallet.dat: il wallet richiede una versione nuova di Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Il portamonete deve essere riscritto: riavviare Bitcoin per completare - + Error loading wallet.dat Errore caricamento wallet.dat - + Invalid -proxy address: '%s' Indirizzo -proxy non valido: '%s' - + Unknown network specified in -onlynet: '%s' Rete sconosciuta specificata in -onlynet: '%s' @@ -2683,7 +2860,7 @@ Versione -socks proxy sconosciuta richiesta: %i - + Cannot resolve -bind address: '%s' Impossibile risolvere -bind address: '%s' @@ -2693,32 +2870,27 @@ Impossibile risolvere indirizzo -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Importo non valido per -paytxfee=<amount>: '%s' - - Error: could not start node - Errore: impossibile inizializzare il nodo - - - + Invalid amount Importo non valido - + Insufficient funds Fondi insufficienti - + Loading block index... Caricamento dell'indice del blocco... - + Add a node to connect to and attempt to keep the connection open Elérendő csomópont megadása and attempt to keep the connection open @@ -2728,12 +2900,7 @@ Impossibile collegarsi alla %s su questo computer. Probabilmente Bitcoin è già in esecuzione. - - Find peers using internet relay chat (default: 0) - Cerca peers usando la internet relay chat (default: 0) - - - + Fee per KB to add to transactions you send Commissione per KB da aggiungere alle transazioni in uscita @@ -2743,42 +2910,37 @@ Caricamento portamonete... - + Cannot downgrade wallet Non è possibile retrocedere il wallet - - Cannot initialize keypool - Non è possibile iniziare la keypool - - Cannot write default address Non è possibile scrivere l'indirizzo di default - + Rescanning... Ripetere la scansione... - + Done loading Caricamento completato - + To use the %s option Per usare la opzione %s - + Error Errore - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_ja.ts bitcoin-0.8.5/src/qt/locale/bitcoin_ja.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_ja.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_ja.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,20 +5,15 @@ About Bitcoin - + Bitcoinについて <b>Bitcoin</b> version - <b>Bitcoin</b> Bertsio - - - - Copyright © 2009-2012 The Bitcoin developers - + <b>Bitcoin</b> バージョン - + This is experimental software. @@ -27,28 +22,38 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage Address Book - Helbide-liburua + アドレス帳 - + Double-click to edit address or label - + アドレスまたはラベルを編集するにはダブルクリック Create a new address - Sortu helbide berria + 新規アドレスの作成 Copy the currently selected address to the system clipboard - + 現在選択されているアドレスをシステムのクリップボードにコピーする @@ -56,12 +61,12 @@ - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + &Copy Address @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -98,55 +113,65 @@ &Delete - &Ezabatu + 削除(&D) + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + - + Copy &Label - + &Edit - - Export Address Book Data + + Send &Coins + + Export Address Book Data + アドレス帳データをエクスポートする + + Comma separated file (*.csv) - + CSVファイル (*.csv) Error exporting - + エクスポートエラー Could not write to file %1. - + %1のファイルに書き込めませんでした。 AddressTableModel - + Label - + ラベル Address - Helbidea + アドレス (no label) - + (ラベル無し) @@ -159,62 +184,62 @@ Enter passphrase - + パスフレーズを入力 New passphrase - + 新しいパスフレーズ Repeat new passphrase - + 新しいパスフレーズをもう一度 Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - + ウォレットの新しいパスフレーズを入力してください。<br/><b>8個以上の単語か10個以上のランダムな文字</b>を使ってください。 Encrypt wallet - + ウォレットを暗号化する This operation needs your wallet passphrase to unlock the wallet. - + この操作はウォレットをアンロックするためにパスフレーズが必要です。 Unlock wallet - + ウォレットをアンロックする This operation needs your wallet passphrase to decrypt the wallet. - + この操作はウォレットの暗号化解除のためにパスフレーズが必要です。 Decrypt wallet - + ウォレットの暗号化を解除する Change passphrase - + パスフレーズの変更 Enter the old and new passphrase to the wallet. - + 新旧両方のパスフレーズを入力してください。 Confirm wallet encryption - + ウォレットの暗号化を確認する @@ -241,7 +266,7 @@ Wallet encrypted - + ウォレットは暗号化されました @@ -254,35 +279,35 @@ Wallet encryption failed - + ウォレットの暗号化に失敗しました Wallet encryption failed due to an internal error. Your wallet was not encrypted. - + 内部エラーによりウォレットの暗号化が失敗しました。ウォレットは暗号化されませんでした。 The supplied passphrases do not match. - + パスフレーズが同じではありません。 Wallet unlock failed - + ウォレットのアンロックに失敗しました The passphrase entered for the wallet decryption was incorrect. - + ウォレットの暗号化解除のパスフレーズが正しくありません。 Wallet decryption failed - + ウォレットの暗号化解除に失敗しました @@ -293,74 +318,59 @@ BitcoinGUI - + Sign &message... - + Synchronizing with network... - + ネットワークに同期中…… - + &Overview - + 概要(&O) Show general overview of wallet - + ウォレットの概要を見る &Transactions - + 取引(&T) Browse transaction history - - - - - &Address Book - &Helbide-liburua + 取引履歴を閲覧 - + Edit the list of stored addresses and labels - - - - - &Receive coins - + 保存されたアドレスとラベルのリストを編集 - + Show the list of addresses for receiving payments - + 支払い受け取り用アドレスのリストを見る - - &Send coins - - - - + E&xit Quit application - + アプリケーションを終了 Show information about Bitcoin - + Bitcoinに関する情報を見る @@ -375,10 +385,10 @@ &Options... - + オプション(&O) - + &Encrypt Wallet... @@ -393,7 +403,7 @@ - + Importing blocks from disk... @@ -402,18 +412,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - - - + Send coins to a Bitcoin address @@ -423,22 +423,17 @@ - - Export the data in the current tab to a file - - - - + Backup wallet to another location Change the passphrase used for wallet encryption - + ウォレット暗号化用パスフレーズの変更 - + &Debug window @@ -448,23 +443,38 @@ - + &Verify message... - - + + Bitcoin - + Wallet - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,135 +504,130 @@ - + &File - + ファイル(&F) - + &Settings - + 設定(&S) &Help - + ヘルプ(&H) Tabs toolbar - - - - - Actions toolbar - + タブツールバー - + [testnet] - + [testnet] - + Bitcoin client - + %n active connection(s) to Bitcoin network - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - - - - - %n minute(s) ago - - - - - %n hour(s) ago - - - - - %n day(s) ago - - - - Up to date + + Information - - Catching up... + + 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? - - Last received block was generated %1. + + Up to date + バージョンは最新です + + + + Catching up... - + Confirm transaction fee - + Sent transaction - + 送金取引 Incoming transaction - + 着金取引 @@ -634,49 +639,29 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. Wallet is <b>encrypted</b> and currently <b>unlocked</b> - + ウォレットは<b>暗号化され、アンロックされています</b> Wallet is <b>encrypted</b> and currently <b>locked</b> - - - - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - + ウォレットは<b>暗号化され、ロックされています</b> - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -684,7 +669,7 @@ ClientModel - + Network Alert @@ -694,73 +679,73 @@ Edit Address - + アドレスの編集 &Label - + ラベル(&L) The label associated with this address book entry - + このアドレス帳の入った事と関係のレーベル &Address - + &アドレス The address associated with this address book entry. This can only be modified for sending addresses. - + アドレス帳の入った事の関係のアドレスです。これは遅れるのアドレスのためだけに編集出来ます。 - + New receiving address - + 新しいの受け入れのアドレス New sending address - + 新しいの送るのアドレス Edit receiving address - + 受け入れのアドレスを編集する Edit sending address - + 送るのアドレスを編集する - + The entered address "%1" is already in the address book. - + 入ったのアドレス「%1」はもうアドレス帳にあります。 - + The entered address "%1" is not a valid Bitcoin address. - + Could not unlock wallet. - + 財布をアンロックするのは出来ませんでした。 New key generation failed. - + 新しいのキーの生成は失敗しました。 GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -806,7 +791,7 @@ Options - + オプションズ @@ -815,7 +800,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -974,7 +959,7 @@ - + default @@ -1016,28 +1001,23 @@ Form - + フォーム - - + + 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. - + Balance: - - - - - Number of transactions: - + 残高: - + Unconfirmed: - + 未確認: @@ -1045,7 +1025,7 @@ - + Immature: @@ -1057,12 +1037,12 @@ <b>Recent transactions</b> - + <b>最近の取引</b> - + Your current balance - + 今の残高 @@ -1070,14 +1050,17 @@ - - Total number of transactions in wallet + + + out of sync + + + PaymentServer - - - out of sync + + Cannot start bitcoin: click-to-pay handler @@ -1156,7 +1139,7 @@ - + N/A @@ -1298,7 +1281,7 @@ Send Coins - + コインを送る @@ -1323,7 +1306,7 @@ Balance: - + 残高: @@ -1401,7 +1384,7 @@ Form - + フォーム @@ -1420,7 +1403,7 @@ - + Enter a label for this address to add it to your address book @@ -1654,9 +1637,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 @@ -1843,7 +1839,7 @@ TransactionTableModel - + Date @@ -1961,7 +1957,7 @@ TransactionView - + All @@ -2048,6 +2044,11 @@ + Copy transaction ID + + + + Edit label @@ -2057,14 +2058,14 @@ - + Export Transaction Data Comma separated file (*.csv) - + テキスト CSV (*.csv) @@ -2084,7 +2085,7 @@ Label - + レーベル @@ -2104,15 +2105,15 @@ Error exporting - + エラー輸出 Could not write to file %1. - + %1のファイルに書き込めませんでした。 - + Range: @@ -2123,39 +2124,90 @@ + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version Bitcoin Bertsio - + Usage: - + Send command to -server or bitcoind - + List commands - + Get help for a command - + Options: - + Specify configuration file (default: bitcoin.conf) @@ -2165,100 +2217,92 @@ - - Generate coins - - - - - Don't generate coins - - - - + Specify data directory - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands - + Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2274,22 +2318,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2298,7 +2342,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2338,62 +2382,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2403,7 +2557,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2413,7 +2582,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2438,12 +2607,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2473,17 +2637,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2514,36 +2703,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) @@ -2553,17 +2747,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) @@ -2573,37 +2762,37 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... - + Error loading wallet.dat: Wallet corrupted @@ -2613,32 +2802,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2648,7 +2827,7 @@ - + Cannot resolve -bind address: '%s' @@ -2658,32 +2837,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Insufficient funds - + Loading block index... - + Add a node to connect to and attempt to keep the connection open @@ -2693,12 +2867,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send @@ -2708,42 +2877,37 @@ - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... - + Done loading - + To use the %s option - + Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_la.ts bitcoin-0.8.5/src/qt/locale/bitcoin_la.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_la.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_la.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2937 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + Informatio de Bitcoin + + + + <b>Bitcoin</b> version + <b>Bitcoin</b> versio + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + Hoc est experimentale programma. + +Distributum sub MIT/X11 licentia programmatum, vide comitantem plicam COPYING vel http://www.opensource.org/licenses/mit-license.php. + +Hoc productum continet programmata composita ab OpenSSL Project pro utendo in OpenSSL Toolkit (http://www.openssl.org/) et programmata cifrarum scripta ab Eric Young (eay@cryptsoft.com) et UPnP programmata scripta ab Thomas Bernard. + + + + Copyright + Copyright + + + + The Bitcoin developers + Bitcoin curatores + + + + AddressBookPage + + + Address Book + Liber Inscriptionum + + + + Double-click to edit address or label + Dupliciter-clicca ut inscriptionem vel titulum mutes + + + + Create a new address + Crea novam inscriptionem + + + + Copy the currently selected address to the system clipboard + Copia inscriptionem iam selectam in latibulum systematis + + + + &New Address + &Nova Inscriptio + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + Haec sunt inscriptiones Bitcoin tuae pro accipendo pensitationes. Cupias variam ad quemque mittentem dare ut melius scias quem tibi pensare. + + + + &Copy Address + &Copia Inscriptionem + + + + Show &QR Code + Monstra codicem &QR + + + + Sign a message to prove you own a Bitcoin address + Signa nuntium ut demonstres inscriptionem Bitcoin a te possessam esse + + + + Sign &Message + Signa &Nuntium + + + + Delete the currently selected address from the list + Dele active selectam inscriptionem ex enumeratione + + + + Export the data in the current tab to a file + Exporta data in hac tabella in plicam + + + + &Export + &Exporta + + + + Verify a message to ensure it was signed with a specified Bitcoin address + Verifica nuntium ut cures signatum esse cum specificata inscriptione Bitcoin + + + + &Verify Message + &Verifica Nuntium + + + + &Delete + &Dele + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Hae sunt inscriptiones mittendi pensitationes. Semper inspice quantitatem et inscriptionem accipiendi antequam nummos mittis. + + + + Copy &Label + Copia &Titulum + + + + &Edit + &Muta + + + + Send &Coins + Mitte &Nummos + + + + Export Address Book Data + Exporta Data Libri Inscriptionum + + + + Comma separated file (*.csv) + Comma Separata Plica (*.csv) + + + + Error exporting + Error exportandi + + + + Could not write to file %1. + Non potuisse scribere in plicam %1. + + + + AddressTableModel + + + Label + Titulus + + + + Address + Inscriptio + + + + (no label) + (nullus titulus) + + + + AskPassphraseDialog + + + Passphrase Dialog + Dialogus Tesserae + + + + Enter passphrase + Insere tesseram + + + + New passphrase + Nova tessera + + + + Repeat new passphrase + Itera novam tesseram + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + Insero novam tesseram cassidili.<br/>Sodes tessera <b>10 pluriumve fortuitarum litterarum</b> utere aut <b>octo pluriumve verborum</b>. + + + + Encrypt wallet + Cifra cassidile + + + + This operation needs your wallet passphrase to unlock the wallet. + Huic operationi necesse est tessera cassidili tuo ut cassidile reseret. + + + + Unlock wallet + Resera cassidile + + + + This operation needs your wallet passphrase to decrypt the wallet. + Huic operationi necesse est tessera cassidili tuo ut cassidile decifret. + + + + Decrypt wallet + Decifra cassidile + + + + Change passphrase + Muta tesseram + + + + Enter the old and new passphrase to the wallet. + Insero veterem novamque tesseram cassidili. + + + + Confirm wallet encryption + Confirma cifrationem cassidilis + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + Monitio: Si cassidile tuum cifras et tesseram amittis, tu <b>AMITTES OMNES TUOS NUMMOS BITOS</b>! + + + + Are you sure you wish to encrypt your wallet? + Certusne es te velle tuum cassidile cifrare? + + + + 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. + GRAVE: Oportet ulla prioria conservata quae fecisti de plica tui cassidilis reponi a nove generata cifrata plica cassidilis. Propter securitatem, prioria conservata de plica non cifrata cassidilis inutilia fiet simul atque incipis uti novo cifrato cassidili. + + + + + Warning: The Caps Lock key is on! + Monitio: Litterae ut capitales seratae sunt! + + + + + Wallet encrypted + Cassidile cifratum + + + + Bitcoin 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. + Bitcoin iam desinet ut finiat actionem cifrandi. Memento cassidile cifrare non posse cuncte curare ne tui nummi clepantur ab malis programatibus in tuo computatro. + + + + + + + Wallet encryption failed + Cassidile cifrare abortum est + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + Cassidile cifrare abortum est propter internum errorem. Tuum cassidile cifratum non est. + + + + + The supplied passphrases do not match. + Tesserae datae non eaedem sunt. + + + + Wallet unlock failed + Cassidile reserare abortum est. + + + + + + The passphrase entered for the wallet decryption was incorrect. + Tessera inserta pro cassidilis decifrando prava erat. + + + + Wallet decryption failed + Cassidile decifrare abortum est. + + + + Wallet passphrase was successfully changed. + Tessera cassidilis successa est in mutando. + + + + BitcoinGUI + + + Sign &message... + Signa &nuntium... + + + + Synchronizing with network... + Synchronizans cum rete... + + + + &Overview + &Summarium + + + + Show general overview of wallet + Monstra generale summarium cassidilis + + + + &Transactions + &Transactiones + + + + Browse transaction history + Inspicio historiam transactionum + + + + Edit the list of stored addresses and labels + Muta indicem salvatarum inscriptionum titulorumque + + + + Show the list of addresses for receiving payments + Monstra indicem inscriptionum quibus pensitationes acceptandae + + + + E&xit + E&xi + + + + Quit application + Exi applicatione + + + + Show information about Bitcoin + Monstra informationem de Bitcoin + + + + About &Qt + Informatio de &Qt + + + + Show information about Qt + Monstra informationem de Qt + + + + &Options... + &Optiones + + + + &Encrypt Wallet... + &Cifra Cassidile... + + + + &Backup Wallet... + &Conserva Cassidile... + + + + &Change Passphrase... + &Muta tesseram... + + + + Importing blocks from disk... + Importans frusta ab disco... + + + + Reindexing blocks on disk... + Recreans indicem frustorum in disco... + + + + Send coins to a Bitcoin address + Mitte nummos ad inscriptionem Bitcoin + + + + Modify configuration options for Bitcoin + Muta configurationis optiones pro Bitcoin + + + + Backup wallet to another location + Conserva cassidile in locum alium + + + + Change the passphrase used for wallet encryption + Muta tesseram utam pro cassidilis cifrando + + + + &Debug window + Fenestra &Debug + + + + Open debugging and diagnostic console + Aperi terminalem debug et diagnosticalem + + + + &Verify message... + &Verifica nuntium... + + + + + Bitcoin + Bitcoin + + + + Wallet + Cassidile + + + + &Send + &Mitte + + + + &Receive + &Accipe + + + + &Addresses + &Inscriptiones + + + + &About Bitcoin + &Informatio de Bitcoin + + + + &Show / Hide + &Monstra/Occulta + + + + Show or hide the main Window + Monstra vel occulta Fenestram principem + + + + Encrypt the private keys that belong to your wallet + Cifra claves privatas quae cassidili tui sunt + + + + Sign messages with your Bitcoin addresses to prove you own them + Signa nuntios cum tuis inscriptionibus Bitcoin ut demonstres te eas possidere + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + Verifica nuntios ut certus sis eos signatos esse cum specificatis inscriptionibus Bitcoin + + + + &File + &Plica + + + + &Settings + &Configuratio + + + + &Help + &Auxilium + + + + Tabs toolbar + Tabella instrumentorum "Tabs" + + + + + [testnet] + [testnet] + + + + Bitcoin client + Bitcoin cliens + + + + %n active connection(s) to Bitcoin network + %n activa conexio ad rete Bitcoin%n activae conexiones ad rete Bitcoin + + + + No block source available... + Nulla fons frustorum absens... + + + + Processed %1 of %2 (estimated) blocks of transaction history. + Perfecta %1 de %2 (aestimato) frusta historiae transactionum. + + + + Processed %1 blocks of transaction history. + Processae %1 frusta historiae transactionum. + + + + %n hour(s) + %n hora%n horae + + + + %n day(s) + %n dies%n dies + + + + %n week(s) + %n hebdomas%n hebdomades + + + + %1 behind + %1 post + + + + Last received block was generated %1 ago. + Postremum acceptum frustum generatum est %1 abhinc. + + + + Transactions after this will not yet be visible. + Transactiones post hoc nondum visibiles erunt. + + + + Error + Error + + + + Warning + Monitio + + + + Information + Informatio + + + + 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? + Haec transactio maior est quam limen magnitudinis. Adhuc potes id mittere mercede %1, quae it nodis qui procedunt tuam transactionem et adiuvat sustinere rete. Visne mercedem solvere? + + + + Up to date + Recentissimo + + + + Catching up... + Persequens... + + + + Confirm transaction fee + Confirma mercedem transactionis + + + + Sent transaction + Transactio missa + + + + Incoming transaction + Transactio incipiens + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + Dies: %1 +Quantitas: %2 +Typus: %3 +Inscriptio: %4 + + + + + + URI handling + Tractatio URI + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI intellegi non posse! Huius causa possit inscriptionem Bitcoin non validam aut URI parametra maleformata. + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + Cassidile <b>cifratum</b> est et iam nunc <b>reseratum</b> + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + Cassidile <b>cifratum</b> est et iam nunc <b>seratum</b> + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + Error fatalis accidit. Bitcoin nondum pergere tute potest, et exibit. + + + + ClientModel + + + Network Alert + Monitio Retis + + + + EditAddressDialog + + + Edit Address + Muta Inscriptionem + + + + &Label + &Titulus + + + + The label associated with this address book entry + Titulus associatus huic insertione libri inscriptionum + + + + &Address + &Inscriptio + + + + The address associated with this address book entry. This can only be modified for sending addresses. + Titulus associatus huic insertione libri inscriptionum. Haec tantum mutari potest pro inscriptionibus mittendi + + + + New receiving address + Nova inscriptio accipiendi + + + + New sending address + Nova inscriptio mittendi + + + + Edit receiving address + Muta inscriptionem accipiendi + + + + Edit sending address + Muta inscriptionem mittendi + + + + The entered address "%1" is already in the address book. + Inserta inscriptio "%1" iam in libro inscriptionum est. + + + + The entered address "%1" is not a valid Bitcoin address. + Inscriptio inserta "%1" non valida inscriptio Bitcoin est. + + + + Could not unlock wallet. + Non potuisse cassidile reserare + + + + New key generation failed. + Generare novam clavem abortum est. + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + Bitcoin-Qt + + + + version + versio + + + + Usage: + Usus: + + + + command-line options + Optiones mandati intiantis + + + + UI options + UI optiones + + + + Set language, for example "de_DE" (default: system locale) + Constitue linguam, exempli gratia "de_DE" (praedefinitum: lingua systematis) + + + + Start minimized + Incipe minifactum ut icon + + + + Show splash screen on startup (default: 1) + Monstra principem imaginem ad initium (praedefinitum: 1) + + + + OptionsDialog + + + Options + Optiones + + + + &Main + &Princeps + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Optionalis merces transactionum singulis kB quae adiuvat curare tuas transactiones processas esse celeriter. Plurimi transactiones 1kB sunt. + + + + Pay transaction &fee + Solve &mercedem transactionis + + + + Automatically start Bitcoin after logging in to the system. + Pelle Bitcoin per se postquam in systema inire. + + + + &Start Bitcoin on system login + &Pelle Bitcoin cum inire systema + + + + Reset all client options to default. + Reconstitue omnes optiones clientis ad praedefinita. + + + + &Reset Options + &Reconstitue Optiones + + + + &Network + &Rete + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + Aperi per se portam clientis Bitcoin in itineratore. Hoc tantum effectivum est si itineratrum tuum supportat UPnP et id activum est. + + + + Map port using &UPnP + Designa portam utendo &UPnP + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + Connecte ad rete Bitcoin per SOCKS vicarium (e.g. quando conectens per Tor). + + + + &Connect through SOCKS proxy: + &Conecte per SOCKS vicarium: + + + + Proxy &IP: + &IP vicarii: + + + + IP address of the proxy (e.g. 127.0.0.1) + Inscriptio IP vicarii (e.g. 127.0.0.1) + + + + &Port: + &Porta: + + + + Port of the proxy (e.g. 9050) + Porta vicarii (e.g. 9050) + + + + SOCKS &Version: + SOCKS &Versio: + + + + SOCKS version of the proxy (e.g. 5) + SOCKS versio vicarii (e.g. 5) + + + + &Window + &Fenestra + + + + Show only a tray icon after minimizing the window. + Monstra tantum iconem in tabella systematis postquam fenestram minifactam est. + + + + &Minimize to the tray instead of the taskbar + &Minifac in tabellam systematis potius quam applicationum + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + Minifac potius quam exire applicatione quando fenestra clausa sit. Si haec optio activa est, applicatio clausa erit tantum postquam selegeris Exi in menu. + + + + M&inimize on close + M&inifac ad claudendum + + + + &Display + &UI + + + + User Interface &language: + &Lingua monstranda utenti: + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + Lingua monstranda utenti hic constitui potest. Haec configuratio effectiva erit postquam Bitcoin iterum initiatum erit. + + + + &Unit to show amounts in: + &Unita qua quantitates monstrare: + + + + Choose the default subdivision unit to show in the interface and when sending coins. + Selige praedefinitam unitam subdivisionis monstrare in interfacie et quando nummos mittere + + + + Whether to show Bitcoin addresses in the transaction list or not. + Num monstrare inscriptiones Bitcoin in enumeratione transactionum. + + + + &Display addresses in transaction list + &Monstra inscriptiones in enumeratione transactionum + + + + &OK + &OK + + + + &Cancel + &Cancella + + + + &Apply + &Applica + + + + default + praedefinitum + + + + Confirm options reset + Confirma optionum reconstituere + + + + Some settings may require a client restart to take effect. + Aliis configurationibus fortasse necesse est clientem iterum initiare ut effectivae sint. + + + + Do you want to proceed? + Vis procedere? + + + + + Warning + Monitio + + + + + This setting will take effect after restarting Bitcoin. + Haec configuratio effectiva erit postquam Bitcoin iterum initiatum erit. + + + + The supplied proxy address is invalid. + Inscriptio vicarii tradita non valida est. + + + + OverviewPage + + + Form + Schema + + + + + 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. + Monstrata informatio fortasse non recentissima est. Tuum cassidile per se synchronizat cum rete Bitcoin postquam conexio constabilita est, sed hoc actio nondum perfecta est. + + + + Balance: + Pendendum: + + + + Unconfirmed: + Non confirmata: + + + + Wallet + Cassidile + + + + Immature: + Immatura: + + + + Mined balance that has not yet matured + Fossum pendendum quod nondum maturum est + + + + <b>Recent transactions</b> + <b>Recentes transactiones</b> + + + + Your current balance + Tuum pendendum iam nunc + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + Totali nummi transactionum quae adhuc confirmandae sunt, et nondum afficiunt pendendum + + + + + out of sync + non synchronizato + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Bitcoin incipere non potest: cliccare-ad-pensandum handler + + + + QRCodeDialog + + + QR Code Dialog + Dialogus QR Codicis + + + + Request Payment + Posce Pensitationem + + + + Amount: + Quantitas: + + + + Label: + Titulus: + + + + Message: + Nuntius: + + + + &Save As... + &Salva ut... + + + + Error encoding URI into QR Code. + Error codificandi URI in codicem QR. + + + + The entered amount is invalid, please check. + Inserta quantitas non est valida, sodes proba. + + + + Resulting URI too long, try to reduce the text for label / message. + Resultato URI nimis longo, conare minuere verba pro titulo / nuntio. + + + + Save QR Code + Salva codicem QR + + + + PNG Images (*.png) + Imagines PNG (*.png) + + + + RPCConsole + + + Client name + Nomen clientis + + + + + + + + + + + + + N/A + N/A + + + + Client version + Versio clientis + + + + &Information + &Informatio + + + + Using OpenSSL version + Utens OpenSSL versione + + + + Startup time + Tempus initiandi + + + + Network + Rete + + + + Number of connections + Numerus conexionum + + + + On testnet + In testnet + + + + Block chain + Catena frustorum + + + + Current number of blocks + Numerus frustorum iam nunc + + + + Estimated total blocks + Aestimatus totalis numerus frustorum + + + + Last block time + Hora postremi frusti + + + + &Open + &Aperi + + + + Command-line options + Optiones mandati initiantis + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + Monstra nuntium auxilii Bitcoin-Qt ut videas enumerationem possibilium optionum Bitcoin mandati initiantis. + + + + &Show + &Monstra + + + + &Console + &Terminale + + + + Build date + Dies aedificandi + + + + Bitcoin - Debug window + Bitcoin - Fenestra debug + + + + Bitcoin Core + Bitcoin Nucleus + + + + Debug log file + Debug catalogi plica + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + Aperi plicam catalogi de Bitcoin debug ex activo indice datorum. Hoc possit pauca secunda pro plicis magnis catalogi. + + + + Clear console + Vacuefac terminale + + + + Welcome to the Bitcoin RPC console. + Bene ventio in terminale RPC de Bitcoin. + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + Utere sagittis sursum deorsumque ut per historiam naviges, et <b>Ctrl+L</b> ut scrinium vacuefacias. + + + + Type <b>help</b> for an overview of available commands. + Scribe <b>help</b> pro summario possibilium mandatorum. + + + + SendCoinsDialog + + + + + + + + + + Send Coins + Mitte Nummos + + + + Send to multiple recipients at once + Mitte pluribus accipientibus simul + + + + Add &Recipient + Adde &Accipientem + + + + Remove all transaction fields + Remove omnes campos transactionis + + + + Clear &All + Vacuefac &Omnia + + + + Balance: + Pendendum: + + + + 123.456 BTC + 123.456 BTC + + + + Confirm the send action + Confirma actionem mittendi + + + + S&end + &Mitte + + + + <b>%1</b> to %2 (%3) + <b>%1</b> ad %2 (%3) + + + + Confirm send coins + Confirma mittendum nummorum + + + + Are you sure you want to send %1? + Certus es te velle mittere %1? + + + + and + et + + + + The recipient address is not valid, please recheck. + Inscriptio accipientis non est valida, sodes reproba. + + + + The amount to pay must be larger than 0. + Oportet quantitatem ad pensandum maiorem quam 0 esse. + + + + The amount exceeds your balance. + Quantitas est ultra quod habes. + + + + The total exceeds your balance when the %1 transaction fee is included. + Quantitas est ultra quod habes cum merces transactionis %1 includitur. + + + + Duplicate address found, can only send to each address once per send operation. + Geminata inscriptio inventa, tantum posse mittere ad quamque inscriptionem semel singulare operatione. + + + + Error: Transaction creation failed! + Error: Creare transactionem abortum est! + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Error: transactio reiecta est. Hoc fiat si alii nummorum in tuo cassidili iam soluti sunt, ut si usus es exemplar de wallet.dat et nummi soluti sunt in exemplari sed non hic notati ut soluti. + + + + SendCoinsEntry + + + Form + Schema + + + + A&mount: + &Quantitas: + + + + Pay &To: + Pensa &Ad: + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Inscriptio cui mittere pensitationem (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Enter a label for this address to add it to your address book + Insero titulum huic inscriptioni ut eam in tuum librum inscriptionum addas. + + + + &Label: + &Titulus: + + + + Choose address from address book + Selige inscriptionem ex libro inscriptionum + + + + Alt+A + Alt+A + + + + Paste address from clipboard + Conglutina inscriptionem ex latibulo + + + + Alt+P + Alt+P + + + + Remove this recipient + Remove hunc accipientem + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Insero inscriptionem Bitcoin (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + Signationes - Signa / Verifica nuntium + + + + &Sign Message + &Signa Nuntium + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Potes nuntios signare inscriptionibus tuis ut demonstres te eas possidere. Cautus es non amibiguum signare, quia impetus phiscatorum conentur te fallere ut signes identitatem tuam ad eos. Solas signa sententias cuncte descriptas quibus convenis. + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Inscriptio qua signare nuntium (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Choose an address from the address book + Selige inscriptionem ex librum inscriptionum + + + + + Alt+A + Alt+A + + + + Paste address from clipboard + Glutina inscriptionem ex latibulo + + + + Alt+P + Alt+P + + + + Enter the message you want to sign here + Insere hic nuntium quod vis signare + + + + Signature + Signatio + + + + Copy the current signature to the system clipboard + Copia signationem in latibulum systematis + + + + Sign the message to prove you own this Bitcoin address + Signa nuntium ut demonstres hanc inscriptionem Bitcoin a te possessa esse + + + + Sign &Message + Signa &Nuntium + + + + Reset all sign message fields + Reconstitue omnes campos signandi nuntii + + + + + Clear &All + Vacuefac &Omnia + + + + &Verify Message + &Verifica Nuntium + + + + Enter the signing 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. + Insere inscriptionem signantem, nuntium (cura ut copias intermissiones linearum, spatia, tabs, et cetera exacte) et signationem infra ut nuntium verifices. Cautus esto ne magis legas in signationem quam in nuntio signato ipso est, ut vites falli ab impetu homo-in-medio. + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Inscriptio qua nuntius signatus est (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + Verify the message to ensure it was signed with the specified Bitcoin address + Verifica nuntium ut cures signatum esse cum specifica inscriptione Bitcoin + + + + Verify &Message + Verifica &Nuntium + + + + Reset all verify message fields + Reconstitue omnes campos verificandi nuntii + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Insere inscriptionem Bitcoin (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + Click "Sign Message" to generate signature + Clicca "Signa Nuntium" ut signatio generetur + + + + Enter Bitcoin signature + Insere signationem Bitcoin + + + + + The entered address is invalid. + Inscriptio inserta non valida est. + + + + + + + Please check the address and try again. + Sodes inscriptionem proba et rursus conare. + + + + + The entered address does not refer to a key. + Inserta inscriptio clavem non refert. + + + + Wallet unlock was cancelled. + Cassidilis reserare cancellatum est. + + + + Private key for the entered address is not available. + Clavis privata absens est pro inserta inscriptione. + + + + Message signing failed. + Nuntium signare abortum est. + + + + Message signed. + Nuntius signatus. + + + + The signature could not be decoded. + Signatio decodificari non potuit. + + + + + Please check the signature and try again. + Sodes signationem proba et rursus conare. + + + + The signature did not match the message digest. + Signatio non convenit digesto nuntii + + + + Message verification failed. + Nuntium verificare abortum est. + + + + Message verified. + Nuntius verificatus. + + + + SplashScreen + + + The Bitcoin developers + Bitcoin curatores + + + + [testnet] + [testnet] + + + + TransactionDesc + + + Open until %1 + Apertum donec %1 + + + + %1/offline + %1/non conecto + + + + %1/unconfirmed + %1/non confirmata + + + + %1 confirmations + %1 confirmationes + + + + Status + Status + + + + , broadcast through %n node(s) + , disseminatum per %n nodo, disseminata per %n nodis + + + + Date + Dies + + + + Source + Fons + + + + Generated + Generatum + + + + + From + Ab + + + + + + To + Ad + + + + + own address + inscriptio propria + + + + label + titulus + + + + + + + + Credit + Creditum + + + + matures in %n more block(s) + maturum erit in %n plure frustomaturum erit in %n pluribus frustis + + + + not accepted + non acceptum + + + + + + + Debit + Debitum + + + + Transaction fee + Transactionis merces + + + + Net amount + Cuncta quantitas + + + + Message + Nuntius + + + + Comment + Annotatio + + + + Transaction ID + ID transactionis + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + Nummis generatis necesse est maturitas 120 frustorum antequam illi transmitti possunt. Cum hoc frustum generavisti, disseminatum est ad rete ut addatur ad catenam frustorum. Si aboritur inire catenam, status eius mutabit in "non acceptum" et non transmittabile erit. Hoc interdum accidat si alter nodus frustum generat paucis secundis ante vel post tuum. + + + + Debug information + Informatio de debug + + + + Transaction + Transactio + + + + Inputs + Lectenda + + + + Amount + Quantitas + + + + true + verum + + + + false + falsum + + + + , has not been successfully broadcast yet + , nondum prospere disseminatum est + + + + Open for %n more block(s) + Aperi pro %n pluribus frustis + + + + unknown + ignotum + + + + TransactionDescDialog + + + Transaction details + Particularia transactionis + + + + This pane shows a detailed description of the transaction + Haec tabula monstrat descriptionem verbosam transactionis + + + + TransactionTableModel + + + Date + Dies + + + + Type + Typus + + + + Address + Inscriptio + + + + Amount + Quantitas + + + + Open for %n more block(s) + Aperi pro %n plure frustoAperi pro %n pluribus frustis + + + + Open until %1 + Apertum donec %1 + + + + Offline (%1 confirmations) + Non conectum (%1 confirmationes) + + + + Unconfirmed (%1 of %2 confirmations) + Non confirmatum (%1 de %2 confirmationibus) + + + + Confirmed (%1 confirmations) + Confirmatum (%1 confirmationes) + + + + Mined balance will be available when it matures in %n more block(s) + Fossum pendendum utibile erit quando id maturum est post %n plus frustumFossum pendendum utibile erit quando id maturum est post %n pluria frusta + + + + This block was not received by any other nodes and will probably not be accepted! + Hoc frustum non acceptum est ab ulla alia nodis et probabiliter non acceptum erit! + + + + Generated but not accepted + Generatum sed non acceptum + + + + Received with + Acceptum cum + + + + Received from + Acceptum ab + + + + Sent to + Missum ad + + + + Payment to yourself + Pensitatio ad te ipsum + + + + Mined + Fossa + + + + (n/a) + (n/a) + + + + Transaction status. Hover over this field to show number of confirmations. + Status transactionis. Supervola cum mure ut monstretur numerus confirmationum. + + + + Date and time that the transaction was received. + Dies et tempus quando transactio accepta est. + + + + Type of transaction. + Typus transactionis. + + + + Destination address of transaction. + Inscriptio destinationis transactionis. + + + + Amount removed from or added to balance. + Quantitas remota ex pendendo aut addita ei. + + + + TransactionView + + + + All + Omne + + + + Today + Hodie + + + + This week + Hac hebdomade + + + + This month + Hoc mense + + + + Last month + Postremo mense + + + + This year + Hoc anno + + + + Range... + Intervallum... + + + + Received with + Acceptum cum + + + + Sent to + Missum ad + + + + To yourself + Ad te ipsum + + + + Mined + Fossa + + + + Other + Alia + + + + Enter address or label to search + Insere inscriptionem vel titulum ut quaeras + + + + Min amount + Quantitas minima + + + + Copy address + Copia inscriptionem + + + + Copy label + Copia titulum + + + + Copy amount + Copia quantitatem + + + + Copy transaction ID + Copia transactionis ID + + + + Edit label + Muta titulum + + + + Show transaction details + Monstra particularia transactionis + + + + Export Transaction Data + Exporta Data Transactionum + + + + Comma separated file (*.csv) + Comma Separata Plica (*.csv) + + + + Confirmed + Confirmatum + + + + Date + Dies + + + + Type + Typus + + + + Label + Titulus + + + + Address + Inscriptio + + + + Amount + Quantitas + + + + ID + ID + + + + Error exporting + Error exportandi + + + + Could not write to file %1. + Non potuisse scribere ad plicam %1. + + + + Range: + Intervallum: + + + + to + ad + + + + WalletModel + + + Send Coins + Mitte Nummos + + + + WalletView + + + &Export + &Exporta + + + + Export the data in the current tab to a file + Exporta data in hac tabella in plicam + + + + Backup Wallet + Conserva cassidile + + + + Wallet Data (*.dat) + Data cassidilis (*.dat) + + + + Backup Failed + Conservare abortum est. + + + + There was an error trying to save the wallet data to the new location. + Error erat conante salvare data cassidilis ad novum locum. + + + + Backup Successful + Successum in conservando + + + + The wallet data was successfully saved to the new location. + Successum in salvando data cassidilis in novum locum. + + + + bitcoin-core + + + Bitcoin version + Versio de Bitcoin + + + + Usage: + Usus: + + + + Send command to -server or bitcoind + Mitte mandatum ad -server vel bitcoind + + + + List commands + Enumera mandata + + + + Get help for a command + Accipe auxilium pro mandato + + + + Options: + Optiones: + + + + Specify configuration file (default: bitcoin.conf) + Specifica configurationis plicam (praedefinitum: bitcoin.conf) + + + + Specify pid file (default: bitcoind.pid) + Specifica pid plicam (praedefinitum: bitcoin.pid) + + + + Specify data directory + Specifica indicem datorum + + + + Set database cache size in megabytes (default: 25) + Constitue magnitudinem databasis cache in megabytes (praedefinitum: 25) + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + Ausculta pro conexionibus in <porta> (praedefinitum: 8333 vel testnet: 18333) + + + + Maintain at most <n> connections to peers (default: 125) + Manutene non plures quam <n> conexiones ad paria (praedefinitum: 125) + + + + Connect to a node to retrieve peer addresses, and disconnect + Conecta ad nodum acceptare inscriptiones parium, et disconecte + + + + Specify your own public address + Specifica tuam propriam publicam inscriptionem + + + + Threshold for disconnecting misbehaving peers (default: 100) + Limen pro disconectendo paria improba (praedefinitum: 100) + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + Numerum secundorum prohibere ne paria improba reconectant (praedefinitum: 86400) + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + Error erat dum initians portam RPC %u pro auscultando in IPv4: %s + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + Ausculta pro conexionibus JSON-RPC in <porta> (praedefinitum: 8332 vel testnet: 18332) + + + + Accept command line and JSON-RPC commands + Accipe terminalis et JSON-RPC mandata. + + + + Run in the background as a daemon and accept commands + Operare infere sicut daemon et mandata accipe + + + + Use the test network + Utere rete experimentale + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + Accipe conexiones externas (praedefinitum: 1 nisi -proxy neque -connect) + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + %s, necesse est te rpcpassword constituere in plica configurationis: +%s +Hortatur te hanc fortuitam tesseram uti: +rpcuser=bitcoinrpc +rpcpassword=%s +(non est necesse te hanc tesseram meminisse) +Nomen usoris et tessera eadem esse NON POSSUNT. +Si plica non existit, eam crea cum permissionibus ut eius dominus tantum sinitur id legere. +Quoque hortatur alertnotify constituere ut tu notificetur de problematibus; +exempli gratia: alertnotify=echo %%s | mail -s "Bitcoin Notificatio" admin@foo.com + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + Error erat dum initians portam RPC %u pro auscultando in IPv6, labens retrorsum ad IPv4: %s + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + Conglutina ad inscriptionem datam et semper in eam ausculta. Utere [moderatrum]:porta notationem pro IPv6 + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + Non posse serare datorum indicem %s. Bitcoin probabiliter iam operatur. + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Error: Transactio eiecta est! Hoc possit accidere si alii nummorum in cassidili tuo iam soluti sint, ut si usus es exemplar de wallet.dat et nummi soluti sunt in exemplari sed non hic notati ut soluti. + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Error: Huic transactioni necesse est merces saltem %s propter eius magnitudinem, complexitatem, vel usum recentum acceptorum nummorum! + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Facere mandatum quotiescumque notificatio affinis accipitur (%s in mandato mutatur in nuntium) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Facere mandatum quotiescumque cassidilis transactio mutet (%s in mandato sbstituitur ab TxID) + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + Constitue magnitudinem maximam transactionum magnae-prioritatis/parvae-mercedis in octetis/bytes (praedefinitum: 27000) + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + Hoc est prae-dimittum experimentala aedes - utere eo periculo tuo proprio - nolite utere fodendo vel applicationibus mercatoriis + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + Monitio: -paytxfee constitutum valde magnum! Hoc est merces transactionis solves si mittis transactionem. + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + Monitio: Monstratae transactiones fortasse non recta sint! Forte oportet tibi progredere, an aliis nodis progredere. + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + Monitio: Sodes cura ut dies tempusque computatri tui recti sunt! Si horologium tuum pravum est, Bitcoin non proprie fungetur. + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + Monitio: error legendo wallet.dat! Omnes claves recte lectae, sed data transactionum vel libri inscriptionum fortasse desint vel prava sint. + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + Monitio: wallet.data corrupta, data salvata! Originalis wallet.dat salvata ut wallet.{timestamp}.bak in %s; si pendendum tuum vel transactiones pravae sunt, oportet ab conservato restituere. + + + + Attempt to recover private keys from a corrupt wallet.dat + Conare recipere claves privatas de corrupto wallet.dat + + + + Block creation options: + Optiones creandi frustorum: + + + + Connect only to the specified node(s) + Conecte sole ad nodos specificatos (vel nodum specificatum) + + + + Corrupted block database detected + Corruptum databasum frustorum invenitur + + + + Discover own IP address (default: 1 when listening and no -externalip) + Discooperi propriam inscriptionem IP (praedefinitum: 1 quando auscultans et nullum -externalip) + + + + Do you want to rebuild the block database now? + Visne reficere databasum frustorum iam? + + + + Error initializing block database + Error initiando databasem frustorum + + + + Error initializing wallet database environment %s! + Error initiando systematem databasi cassidilis %s! + + + + Error loading block database + Error legendo frustorum databasem + + + + Error opening block database + Error aperiendo databasum frustorum + + + + Error: Disk space is low! + Error: Inopia spatii disci! + + + + Error: Wallet locked, unable to create transaction! + Error: Cassidile seratum, non posse transactionem creare! + + + + Error: system error: + Error: systematis error: + + + + Failed to listen on any port. Use -listen=0 if you want this. + Non potuisse auscultare in ulla porta. Utere -listen=0 si hoc vis. + + + + Failed to read block info + Non potuisse informationem frusti legere + + + + Failed to read block + Non potuisse frustum legere + + + + Failed to sync block index + Synchronizare indicem frustorum abortum est + + + + Failed to write block index + Scribere indicem frustorum abortum est + + + + Failed to write block info + Scribere informationem abortum est + + + + Failed to write block + Scribere frustum abortum est + + + + Failed to write file info + Scribere informationem plicae abortum est + + + + Failed to write to coin database + Scribere databasem nummorum abortum est + + + + Failed to write transaction index + Scribere indicem transactionum abortum est + + + + Failed to write undo data + Scribere data pro cancellando mutationes abortum est + + + + Find peers using DNS lookup (default: 1 unless -connect) + Inveni paria utendo DNS quaerendo (praedefinitum: 1 nisi -connect) + + + + Generate coins (default: 0) + Genera nummos (praedefinitum: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Quot frusta proba ad initium (praedefinitum: 288, 0 = omnia) + + + + How thorough the block verification is (0-4, default: 3) + Quam perfecta frustorum verificatio est (0-4, praedefinitum: 3) + + + + Not enough file descriptors available. + Inopia descriptorum plicarum. + + + + Rebuild block chain index from current blk000??.dat files + Restituere indicem catenae frustorum ex activis plicis blk000??.dat + + + + Set the number of threads to service RPC calls (default: 4) + Constitue numerum filorum ad tractandum RPC postulationes (praedefinitum: 4) + + + + Verifying blocks... + Verificante frusta... + + + + Verifying wallet... + Verificante cassidilem... + + + + Imports blocks from external blk000??.dat file + Importat frusta ab externa plica blk000??.dat + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Constitue numerum filorum verificationis scriptorum (Maximum 16, 0 = auto, <0 = tot corda libera erunt, praedefinitum: 0) + + + + Information + Informatio + + + + Invalid -tor address: '%s' + Inscriptio -tor non valida: '%s' + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Quantitas non valida pro -minrelaytxfee=<amount>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Quantitas non valida pro -mintxfee=<amount>: '%s' + + + + Maintain a full transaction index (default: 0) + Manutene completam indicem transactionum (praedefinitum: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + Maxima magnitudo memoriae pro datis accipendis singulis conexionibus, <n>*1000 octetis/bytes (praedefinitum: 5000) + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + Maxima magnitudo memoriae pro datis mittendis singulis conexionibus, <n>*1000 octetis/bytes (praedefinitum: 1000) + + + + Only accept block chain matching built-in checkpoints (default: 1) + Tantum accipe catenam frustorum convenientem internis lapidibus (praedefinitum: 1) + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + Tantum conecte ad nodos in rete <net> (IPv4, IPv6 aut Tor) + + + + Output extra debugging information. Implies all other -debug* options + Exscribe additiciam informationem pro debug. Implicat omnes alias optiones -debug* + + + + Output extra network debugging information + Exscribe additiciam informationem pro retis debug. + + + + Prepend debug output with timestamp + Antepone pittacium temporis ante exscriptum de debug + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + Optiones SSL: (vide vici de Bitcoin pro instructionibus SSL configurationis) + + + + Select the version of socks proxy to use (4-5, default: 5) + Selige versionem socks vicarii utendam (4-5, praedefinitum: 5) + + + + Send trace/debug info to console instead of debug.log file + Mitte informationem vestigii/debug ad terminale potius quam plicam debug.log + + + + Send trace/debug info to debugger + Mitte informationem vestigii/debug ad debugger + + + + Set maximum block size in bytes (default: 250000) + Constitue maximam magnitudinem frusti in octetis/bytes (praedefinitum: 250000) + + + + Set minimum block size in bytes (default: 0) + Constitue minimam magnitudinem frusti in octetis/bytes (praedefinitum: 0) + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + Diminue plicam debug.log ad initium clientis (praedefinitum: 1 nisi -debug) + + + + Signing transaction failed + Signandum transactionis abortum est + + + + Specify connection timeout in milliseconds (default: 5000) + Specifica tempumfati conexionis in millisecundis (praedefinitum: 5000) + + + + System error: + Systematis error: + + + + Transaction amount too small + Magnitudo transactionis nimis parva + + + + Transaction amounts must be positive + Necesse est magnitudines transactionum positivas esse. + + + + Transaction too large + Transactio nimis magna + + + + Use UPnP to map the listening port (default: 0) + Utere UPnP designare portam auscultandi (praedefinitum: 0) + + + + Use UPnP to map the listening port (default: 1 when listening) + Utere UPnP designare portam auscultandi (praedefinitum: 1 quando auscultans) + + + + Use proxy to reach tor hidden services (default: same as -proxy) + Utere vicarium ut extendas ad tor servitia occulta (praedefinitum: idem ut -proxy) + + + + Username for JSON-RPC connections + Nomen utentis pro conexionibus JSON-RPC + + + + Warning + Monitio + + + + Warning: This version is obsolete, upgrade required! + Monitio: Haec versio obsoleta est, progressio postulata! + + + + You need to rebuild the databases using -reindex to change -txindex + Oportet recreare databases utendo -reindex ut mutes -txindex + + + + wallet.dat corrupt, salvage failed + wallet.dat corrupta, salvare abortum est + + + + Password for JSON-RPC connections + Tessera pro conexionibus JSON-RPC + + + + Allow JSON-RPC connections from specified IP address + Permitte conexionibus JSON-RPC ex inscriptione specificata + + + + Send commands to node running on <ip> (default: 127.0.0.1) + Mitte mandata nodo operanti in <ip> (praedefinitum: 127.0.0.1) + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + Pelle mandatum quando optissimum frustum mutat (%s in mandato substituitur ab hash frusti) + + + + Upgrade wallet to latest format + Progredere cassidile ad formam recentissimam + + + + Set key pool size to <n> (default: 100) + Constitue magnitudinem stagni clavium ad <n> (praedefinitum: 100) + + + + Rescan the block chain for missing wallet transactions + Iterum perlege catenam frustorum propter absentes cassidilis transactiones + + + + Use OpenSSL (https) for JSON-RPC connections + Utere OpenSSL (https) pro conexionibus JSON-RPC + + + + Server certificate file (default: server.cert) + Plica certificationis daemonis moderantis (praedefinitum: server.cert) + + + + Server private key (default: server.pem) + Clavis privata daemonis moderans (praedefinitum: server.pem) + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + Acceptabiles cifrae (praedefinitum: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + This help message + Hic nuntius auxilii + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + Non posse conglutinare ad %s in hoc computatro (conglutinare redidit errorem %d, %s) + + + + Connect through socks proxy + Conecte per socks vicarium + + + + Allow DNS lookups for -addnode, -seednode and -connect + Permitte quaerenda DNS pro -addnode, -seednode, et -connect + + + + Loading addresses... + Legens inscriptiones... + + + + Error loading wallet.dat: Wallet corrupted + Error legendi wallet.dat: Cassidile corruptum + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + Error legendi wallet.dat: Cassidili necesse est recentior versio Bitcoin + + + + Wallet needed to be rewritten: restart Bitcoin to complete + Cassidili necesse erat rescribi: Repelle Bitcoin ut compleas + + + + Error loading wallet.dat + Error legendi wallet.dat + + + + Invalid -proxy address: '%s' + Inscriptio -proxy non valida: '%s' + + + + Unknown network specified in -onlynet: '%s' + Ignotum rete specificatum in -onlynet: '%s' + + + + Unknown -socks proxy version requested: %i + Ignota -socks vicarii versio postulata: %i + + + + Cannot resolve -bind address: '%s' + Non posse resolvere -bind inscriptonem: '%s' + + + + Cannot resolve -externalip address: '%s' + Non posse resolvere -externalip inscriptionem: '%s' + + + + Invalid amount for -paytxfee=<amount>: '%s' + Quantitas non valida pro -paytxfee=<quantitas>: '%s' + + + + Invalid amount + Quantitas non valida + + + + Insufficient funds + Inopia nummorum + + + + Loading block index... + Legens indicem frustorum... + + + + Add a node to connect to and attempt to keep the connection open + Adice nodum cui conectere et conare sustinere conexionem apertam + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + Non posse conglutinare ad %s in hoc cumputatro. Bitcoin probabiliter iam operatur. + + + + Fee per KB to add to transactions you send + Merces per KB addere ad transactiones tu mittas + + + + Loading wallet... + Legens cassidile... + + + + Cannot downgrade wallet + Non posse cassidile regredi + + + + Cannot write default address + Non posse scribere praedefinitam inscriptionem + + + + Rescanning... + Iterum perlegens... + + + + Done loading + Completo lengendi + + + + To use the %s option + Ut utaris optione %s + + + + Error + Error + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + Necesse est te rpcpassword=<tesseram> constituere in plica configurationum: +%s +Si plica non existat, crea eam cum permissionibus ut solus eius dominus eam legere sinatur. + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_lt.ts bitcoin-0.8.5/src/qt/locale/bitcoin_lt.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_lt.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_lt.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> versija - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Bitcoin programuotojai - - - + This is experimental software. @@ -31,6 +26,16 @@ Šiame produkte yra OpenSSL projekto kuriamas OpenSSL Toolkit (http://www.openssl.org/), Eric Young parašyta kriptografinė programinė įranga bei Thomas Bernard sukurta UPnP programinė įranga. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -40,7 +45,7 @@ Adresų knygelė - + Double-click to edit address or label Spragtelėkite, kad pakeistumėte adresą arba žymę @@ -60,12 +65,12 @@ &Naujas adresas - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Tai yra jūsų Bitcoin adresai mokėjimų gavimui. Galite duoti skirtingus adresus atskiriems siuntėjams, kad galėtumėte sekti, kas jums moka. - + &Copy Address &Kopijuoti adresą @@ -90,7 +95,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address Patikrinkite žinutę, jog įsitikintumėte, kad ją pasirašė nurodytas Bitcoin adresas @@ -105,17 +120,27 @@ &Trinti - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Kopijuoti ž&ymę - + &Edit &Keisti - + + Send &Coins + + + + Export Address Book Data Eksportuoti adresų knygelės duomenis @@ -138,7 +163,7 @@ AddressTableModel - + Label Žymė @@ -297,17 +322,17 @@ BitcoinGUI - + Sign &message... Pasirašyti ži&nutę... - + Synchronizing with network... Sinchronizavimas su tinklu ... - + &Overview &Apžvalga @@ -327,32 +352,17 @@ Apžvelgti sandorių istoriją - - &Address Book - &Adresų knygelė - - - + Edit the list of stored addresses and labels Redaguoti išsaugotus adresus bei žymes - - &Receive coins - &Gauti monetas - - - + Show the list of addresses for receiving payments Parodyti adresų sąraša mokėjimams gauti - - &Send coins - &Siųsti monetas - - - + E&xit &Išeiti @@ -382,7 +392,7 @@ &Parinktys... - + &Encrypt Wallet... &Užšifruoti piniginę... @@ -397,7 +407,7 @@ &Keisti slaptafrazę... - + Importing blocks from disk... @@ -406,18 +416,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - ~liko %n blokas~liko %n blokai~liko %n blokų - - - - &Export... - &Eksportuoti... - - + Send coins to a Bitcoin address Siųsti monetas Bitcoin adresui @@ -427,12 +427,7 @@ Keisti bitcoin konfigūracijos galimybes - - Export the data in the current tab to a file - - - - + Backup wallet to another location Daryti piniginės atsarginę kopiją @@ -442,7 +437,7 @@ Pakeisti slaptafrazę naudojamą piniginės užšifravimui - + &Debug window &Derinimo langas @@ -452,23 +447,38 @@ Atverti derinimo ir diagnostikos konsolę - + &Verify message... &Tikrinti žinutę... - - + + Bitcoin Bitcoin - + Wallet Piniginė - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &Apie Bitcoin @@ -483,7 +493,7 @@ - + Encrypt the private keys that belong to your wallet @@ -498,12 +508,12 @@ - + &File &Failas - + &Settings &Nustatymai @@ -518,108 +528,103 @@ Kortelių įrankinė - - Actions toolbar - Veiksmų įrankinė - - - + [testnet] [testavimotinklas] - + Bitcoin client Bitcoin klientas - + %n active connection(s) to Bitcoin network %n Bitcoin tinklo aktyvus ryšys%n Bitcoin tinklo aktyvūs ryšiai%n Bitcoin tinklo aktyvūs ryšiai - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - Prieš %n sekundęPrieš %n sekundesPrieš %n sekundžių - - - - %n minute(s) ago - Prieš %n minutęPrieš %n minutesPrieš %n minutčių - - - - %n hour(s) ago - Prieš %n valandąPrieš %n valandasPrieš %n valandų + + + Information + - - - %n day(s) ago - Prieš %n dienąPrieš %n dienasPrieš %n dienų + + + 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? + - + Up to date Atnaujinta - + Catching up... Vejamasi... - - Last received block was generated %1. - Paskutinis gautas blokas buvo sukurtas %1. - - - + Confirm transaction fee Patvirtinti sandorio mokestį - + Sent transaction Sandoris nusiųstas @@ -641,14 +646,14 @@ Adresas: %4 - - + + URI handling URI apdorojimas - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -663,27 +668,7 @@ Piniginė <b>užšifruota</b> ir šiuo metu <b>užrakinta</b> - - Backup Wallet - Backup piniginę - - - - Wallet Data (*.dat) - Piniginės duomenys (*.dat) - - - - Backup Failed - Nepavyko padaryti atsarginės kopijos - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -691,7 +676,7 @@ ClientModel - + Network Alert Tinklo įspėjimas @@ -724,7 +709,7 @@ Adresas yra susietas su šios adresų knygelęs turiniu. Tai gali būti keičiama tik siuntimo adresams. - + New receiving address Naujas gavimo adresas @@ -744,17 +729,17 @@ Keisti siuntimo adresą - + The entered address "%1" is already in the address book. Įvestas adresas „%1“ jau yra adresų knygelėje. - + The entered address "%1" is not a valid Bitcoin address. Įvestas adresas „%1“ nėra galiojantis Bitcoin adresas. - + Could not unlock wallet. Nepavyko atrakinti piniginės. @@ -767,7 +752,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -822,8 +807,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Neprivalomas sandorio mokestis už KB, kuris padeda greičiau sutvarkyti sandorius. Daugelis sandorių yra tik 1KB dydžio. Rekomenduojamas 0,01 mokestis. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -981,7 +966,7 @@ &Pritaikyti - + default numatyta @@ -1026,23 +1011,18 @@ Forma - - + + 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. - + Balance: Balansas: - - Number of transactions: - Sandorių kiekis: - - - + Unconfirmed: Nepatvirtinti: @@ -1052,7 +1032,7 @@ Piniginė - + Immature: Nepribrendę: @@ -1067,7 +1047,7 @@ <b>Naujausi sandoriai</b> - + Your current balance Jūsų einamasis balansas @@ -1077,18 +1057,21 @@ Iš viso sandorių, įskaitant tuos kurie dar turi būti patvirtinti, ir jie dar nėra įskaičiuotii į einamosios sąskaitos balansą - - Total number of transactions in wallet - Bandras sandorių kiekis piniginėje - - - + out of sync + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1163,7 +1146,7 @@ - + N/A nėra @@ -1427,7 +1410,7 @@ - + Enter a label for this address to add it to your address book Įveskite žymę šiam adresui kad galėtumėte įtraukti ją į adresų knygelę @@ -1661,9 +1644,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testavimotinklas] + + + TransactionDesc - + Open until %1 Atidaryta iki %1 @@ -1850,7 +1846,7 @@ TransactionTableModel - + Date Data @@ -1968,7 +1964,7 @@ TransactionView - + All Visi @@ -2055,6 +2051,11 @@ + Copy transaction ID + + + + Edit label Taisyti žymę @@ -2064,7 +2065,7 @@ Rodyti sandėrio detales - + Export Transaction Data Sandorio duomenų eksportavimas @@ -2119,7 +2120,7 @@ Neįmanoma įrašyti į failą %1. - + Range: Grupė: @@ -2130,39 +2131,90 @@ + WalletModel + + + Send Coins + Siųsti monetas + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version Bitcoin versija - + Usage: Naudojimas: - + Send command to -server or bitcoind Siųsti komandą serveriui arba bitcoind - + List commands Komandų sąrašas - + Get help for a command Suteikti pagalba komandai - + Options: Parinktys: - + Specify configuration file (default: bitcoin.conf) Nurodyti konfigūracijos failą (pagal nutylėjimąt: bitcoin.conf) @@ -2172,100 +2224,92 @@ Nurodyti pid failą (pagal nutylėjimą: bitcoind.pid) - - Generate coins - Generuoti monetas - - - - Don't generate coins - Negeneruoti monetų - - - + Specify data directory Nustatyti duomenų aplanką - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Sujungimo klausymas prijungčiai <port> (pagal nutylėjimą: 8333 arba testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Palaikyti ne daugiau <n> jungčių kolegoms (pagal nutylėjimą: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) Atjungimo dėl netinkamo kolegų elgesio riba (pagal nutylėjimą: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Sekundžių kiekis eikiamas palaikyti ryšį dėl lygiarangių nestabilumo (pagal nutylėjimą: 86.400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Klausymas JSON-RPC sujungimui prijungčiai <port> (pagal nutylėjimą: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Priimti komandinę eilutę ir JSON-RPC komandas - + Run in the background as a daemon and accept commands Dirbti fone kaip šešėlyje ir priimti komandas - + Use the test network Naudoti testavimo tinklą - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2281,22 +2325,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2305,7 +2349,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2345,62 +2389,172 @@ - + Connect only to the specified node(s) Prisijungti tik prie nurodyto mazgo + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2410,7 +2564,22 @@ Neteisingas tor adresas: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Maksimalus buferis priėmimo sujungimui <n>*1000 bitų (pagal nutylėjimą: 5000) @@ -2420,7 +2589,7 @@ Maksimalus buferis siuntimo sujungimui <n>*1000 bitų (pagal nutylėjimą: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2445,12 +2614,7 @@ Prideėti laiko žymę derinimo rezultatams - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL opcijos (žr.e Bitcoin Wiki for SSL setup instructions) @@ -2480,17 +2644,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) Nustatyti sujungimo trukmę milisekundėmis (pagal nutylėjimą: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) Bandymas naudoti UPnP struktūra klausymosi prievadui (default: 0) @@ -2521,36 +2710,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Slaptažodis JSON-RPC sujungimams - + Allow JSON-RPC connections from specified IP address Leisti JSON-RPC tik iš nurodytų IP adresų - + Send commands to node running on <ip> (default: 127.0.0.1) Siųsti komandą mazgui dirbančiam <ip> (pagal nutylėjimą: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format Atnaujinti piniginę į naujausią formatą - + Set key pool size to <n> (default: 100) Nustatyti rakto apimties dydį <n> (pagal nutylėjimą: 100) @@ -2560,17 +2754,12 @@ Ieškoti prarastų piniginės sandorių blokų grandinėje - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections Naudoti OpenSSL (https) jungimuisi JSON-RPC - + Server certificate file (default: server.cert) Serverio sertifikato failas (pagal nutylėjimą: server.cert) @@ -2580,37 +2769,37 @@ Serverio privatus raktas (pagal nutylėjimą: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Priimtini šifrai (pagal nutylėjimą: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Pagelbos žinutė - + Unable to bind to %s on this computer (bind returned error %d, %s) Nepavyko susieti šiame kompiuteryje prievado %s (bind returned error %d, %s) - + Connect through socks proxy Jungtis per socks tarpinį serverį - + Allow DNS lookups for -addnode, -seednode and -connect Leisti DNS paiešką sujungimui ir mazgo pridėjimui - + Loading addresses... Užkraunami adresai... - + Error loading wallet.dat: Wallet corrupted wallet.dat pakrovimo klaida, wallet.dat sugadintas @@ -2620,32 +2809,22 @@ wallet.dat pakrovimo klaida, wallet.dat reikalauja naujasnės Bitcoin versijos - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Piniginė turi būti prrašyta: įvykdymui perkraukite Bitcoin - + Error loading wallet.dat wallet.dat pakrovimo klaida - + Invalid -proxy address: '%s' Neteisingas proxy adresas: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2655,7 +2834,7 @@ - + Cannot resolve -bind address: '%s' @@ -2665,32 +2844,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' Neteisinga suma -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount Neteisinga suma - + Insufficient funds Nepakanka lėšų - + Loading block index... Įkeliamas blokų indeksas... - + Add a node to connect to and attempt to keep the connection open Pridėti mazgą prie sujungti su and attempt to keep the connection open @@ -2700,12 +2874,7 @@ Nepavyko susieti šiame kompiuteryje prievado %s. Bitcoin tikriausiai jau veikia. - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send Įtraukti mokestį už kB siunčiamiems sandoriams @@ -2715,42 +2884,37 @@ Užkraunama piniginė... - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... Peržiūra - + Done loading Įkėlimas baigtas - + To use the %s option - + Error Klaida - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_lv_LV.ts bitcoin-0.8.5/src/qt/locale/bitcoin_lv_LV.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_lv_LV.ts 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_lv_LV.ts 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,2923 @@ + +UTF-8 + + AboutDialog + + + About Bitcoin + Par Bitcoin + + + + <b>Bitcoin</b> version + <b>Bitcoin</b> versija + + + + +This is experimental software. + +Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. + +This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + + + Copyright + + + + + The Bitcoin developers + + + + + AddressBookPage + + + Address Book + Adrešu grāmata + + + + Double-click to edit address or label + Adresi vai nosaukumu rediģē ar dubultklikšķi + + + + Create a new address + Izveidot jaunu adresi + + + + Copy the currently selected address to the system clipboard + Kopēt iezīmēto adresi uz starpliktuvi + + + + &New Address + &Jauna adrese + + + + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. + + + + + &Copy Address + &Kopēt adresi + + + + Show &QR Code + Parādīt &QR kodu + + + + Sign a message to prove you own a Bitcoin address + + + + + Sign &Message + + + + + Delete the currently selected address from the list + + + + + Export the data in the current tab to a file + + + + + &Export + + + + + Verify a message to ensure it was signed with a specified Bitcoin address + + + + + &Verify Message + + + + + &Delete + &Dzēst + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + + Copy &Label + Kopēt &Nosaukumu + + + + &Edit + &Rediģēt + + + + Send &Coins + + + + + Export Address Book Data + Eksportēt adreses + + + + Comma separated file (*.csv) + Fails ar komatu kā atdalītāju (*.csv) + + + + Error exporting + Kļūda eksportējot + + + + Could not write to file %1. + Nevar ierakstīt failā %1. + + + + AddressTableModel + + + Label + Nosaukums + + + + Address + Adrese + + + + (no label) + (bez nosaukuma) + + + + AskPassphraseDialog + + + Passphrase Dialog + Paroles dialogs + + + + Enter passphrase + Ierakstiet paroli + + + + New passphrase + Jauna parole + + + + Repeat new passphrase + Jaunā parole vēlreiz + + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. + Ierakstiet maciņa jauno paroli.<br/>Lūdzu izmantojiet <b>10 vai vairāk nejauši izvēlētas zīmes</b>, vai <b>astoņus un vairāk vārdus</b>. + + + + Encrypt wallet + Šifrēt maciņu + + + + This operation needs your wallet passphrase to unlock the wallet. + Lai veikto šo darbību, maciņš jāatslēdz ar paroli. + + + + Unlock wallet + Atslēgt maciņu + + + + This operation needs your wallet passphrase to decrypt the wallet. + Šai darbībai maciņš jāatšifrē ar maciņa paroli. + + + + Decrypt wallet + Atšifrēt maciņu + + + + Change passphrase + Mainīt paroli + + + + Enter the old and new passphrase to the wallet. + Ierakstiet maciņa veco un jauno paroli. + + + + Confirm wallet encryption + Apstiprināt maciņa šifrēšanu + + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! + + + + + Are you sure you wish to encrypt your wallet? + + + + + 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. + + + + + + Warning: The Caps Lock key is on! + + + + + + Wallet encrypted + Maciņš nošifrēts + + + + Bitcoin 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. + Bitcoin aizvērsies, lai pabeigtu šifrēšanu. Atcerieties, ka maciņa šifrēšana nevar pilnībā novērst bitkoinu zādzību, ko veic datorā ieviesušās kaitīgas programmas. + + + + + + + Wallet encryption failed + Maciņa šifrēšana neizdevās + + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + Maciņa šifrēšana neizdevās programmas kļūdas dēļ. Jūsu maciņš netika šifrēts. + + + + + The supplied passphrases do not match. + Ievadītās paroles nav vienādas. + + + + Wallet unlock failed + Maciņu atšifrēt neizdevās + + + + + + The passphrase entered for the wallet decryption was incorrect. + Maciņa atšifrēšanai ievadītā parole nav pareiza. + + + + Wallet decryption failed + Maciņu neizdevās atšifrēt + + + + Wallet passphrase was successfully changed. + + + + + BitcoinGUI + + + Sign &message... + Parakstīt &ziņojumu... + + + + Synchronizing with network... + Sinhronizācija ar tīklu... + + + + &Overview + &Pārskats + + + + Show general overview of wallet + Rādīt vispārēju maciņa pārskatu + + + + &Transactions + &Transakcijas + + + + Browse transaction history + Skatīt transakciju vēsturi + + + + Edit the list of stored addresses and labels + Rediģēt saglabātās adreses un nosaukumus + + + + Show the list of addresses for receiving payments + Rādīt maksājumu saņemšanas adreses + + + + E&xit + &Iziet + + + + Quit application + Aizvērt programmu + + + + Show information about Bitcoin + Parādīt informāciju par Bitcoin + + + + About &Qt + Par &Qt + + + + Show information about Qt + Parādīt informāciju par Qt + + + + &Options... + &Iespējas + + + + &Encrypt Wallet... + Š&ifrēt maciņu... + + + + &Backup Wallet... + &Izveidot maciņa rezerves kopiju + + + + &Change Passphrase... + &Mainīt paroli + + + + Importing blocks from disk... + + + + + Reindexing blocks on disk... + + + + + Send coins to a Bitcoin address + Nosūtīt bitkoinus uz Bitcoin adresi + + + + Modify configuration options for Bitcoin + Mainīt Bitcoin konfigurācijas uzstādījumus + + + + Backup wallet to another location + Izveidot maciņa rezerves kopiju citur + + + + Change the passphrase used for wallet encryption + Mainīt maciņa šifrēšanas paroli + + + + &Debug window + &Debug logs + + + + Open debugging and diagnostic console + Atvērt atkļūdošanas un diagnostikas konsoli + + + + &Verify message... + &Pārbaudīt ziņojumu... + + + + + Bitcoin + + + + + Wallet + Maciņš + + + + &Send + + + + + &Receive + + + + + &Addresses + + + + + &About Bitcoin + + + + + &Show / Hide + + + + + Show or hide the main Window + + + + + Encrypt the private keys that belong to your wallet + + + + + Sign messages with your Bitcoin addresses to prove you own them + + + + + Verify messages to ensure they were signed with specified Bitcoin addresses + + + + + &File + &Fails + + + + &Settings + &Uzstādījumi + + + + &Help + &Palīdzība + + + + Tabs toolbar + Ciļņu rīkjosla + + + + + [testnet] + [testnet] + + + + Bitcoin client + Bitcoin klients + + + + %n active connection(s) to Bitcoin network + %n aktīvu savienojumu ar Bitcoin tīklu%n aktīvs savienojums ar Bitcoin tīklu%n aktīvu savienojumu as Bitcoin tīklu + + + + No block source available... + + + + + Processed %1 of %2 (estimated) blocks of transaction history. + + + + + Processed %1 blocks of transaction history. + + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + + + + %1 behind + + + + + Last received block was generated %1 ago. + + + + + Transactions after this will not yet be visible. + + + + + Error + Kļūda + + + + Warning + Brīdinājums + + + + Information + + + + + 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? + + + + + Up to date + Sinhronizēts + + + + Catching up... + Sinhronizējos... + + + + Confirm transaction fee + Apstiprināt transakcijas maksu + + + + Sent transaction + Transakcija nosūtīta + + + + Incoming transaction + Ienākoša transakcija + + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + Datums: %1 +Daudzums: %2 +Tips: %3 +Adrese: %4 + + + + + + URI handling + + + + + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + + + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + Maciņš ir <b>šifrēts</b> un pašlaik <b>atslēgts</b> + + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + Maciņš ir <b>šifrēts</b> un pašlaik <b>slēgts</b> + + + + A fatal error occurred. Bitcoin can no longer continue safely and will quit. + + + + + ClientModel + + + Network Alert + Tīkla brīdinājums + + + + EditAddressDialog + + + Edit Address + Mainīt adrese + + + + &Label + &Nosaukums + + + + The label associated with this address book entry + Adrešu grāmatas ieraksta nosaukums + + + + &Address + &Adrese + + + + The address associated with this address book entry. This can only be modified for sending addresses. + Adrese adrešu grāmatas ierakstā. To var mainīt tikai nosūtīšanas adresēm. + + + + New receiving address + Jauna saņemšanas adrese + + + + New sending address + Jauna nosūtīšanas adrese + + + + Edit receiving address + Mainīt saņemšanas adresi + + + + Edit sending address + Mainīt nosūtīšanas adresi + + + + The entered address "%1" is already in the address book. + Nupat ierakstītā adrese "%1" jau atrodas adrešu grāmatā. + + + + The entered address "%1" is not a valid Bitcoin address. + Ierakstītā adrese "%1" nav derīga Bitcoin adrese. + + + + Could not unlock wallet. + Nav iespējams atslēgt maciņu. + + + + New key generation failed. + Neizdevās ģenerēt jaunu atslēgu. + + + + GUIUtil::HelpMessageBox + + + + Bitcoin-Qt + Bitcoin-Qt + + + + version + versija + + + + Usage: + Lietojums: + + + + command-line options + komandrindas izvēles + + + + UI options + Lietotāja interfeisa izvēlnes + + + + Set language, for example "de_DE" (default: system locale) + Uzstādiet valodu, piemēram "de_DE" (pēc noklusēšanas: sistēmas lokāle) + + + + Start minimized + Sākt minimizētu + + + + Show splash screen on startup (default: 1) + Uzsākot, parādīt programmas informācijas logu (pēc noklusēšanas: 1) + + + + OptionsDialog + + + Options + Iespējas + + + + &Main + &Galvenais + + + + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + + + + + Pay transaction &fee + &Maksāt par transakciju + + + + Automatically start Bitcoin after logging in to the system. + Automātiski sākt Bitcoin pēc pieteikšanās sistēmā. + + + + &Start Bitcoin on system login + &Sākt Bitcoin reizē ar sistēmu + + + + Reset all client options to default. + + + + + &Reset Options + + + + + &Network + &Tīkls + + + + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. + Uz rūtera automātiski atvērt Bitcoin klienta portu. Tas strādā tikai tad, ja rūteris atbalsta UPnP un tas ir ieslēgts. + + + + Map port using &UPnP + Kartēt portu, izmantojot &UPnP + + + + Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). + + + + + &Connect through SOCKS proxy: + &Savienoties caur SOCKS proxy: + + + + Proxy &IP: + Proxy &IP: + + + + IP address of the proxy (e.g. 127.0.0.1) + proxy IP adrese (piem. 127.0.0.1) + + + + &Port: + &Ports: + + + + Port of the proxy (e.g. 9050) + Proxy ports (piem. 9050) + + + + SOCKS &Version: + SOCKS &Versija: + + + + SOCKS version of the proxy (e.g. 5) + proxy SOCKS versija (piem. 5) + + + + &Window + &Logs + + + + Show only a tray icon after minimizing the window. + Pēc loga minimizācijas rādīt tikai ikonu sistēmas teknē. + + + + &Minimize to the tray instead of the taskbar + &Minimizēt uz sistēmas tekni, nevis rīkjoslu + + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + Logu aizverot, minimizēt, nevis beigt darbu. Kad šī izvēlne iespējota, programma aizvērsies tikai pēc Beigt komandas izvēlnē. + + + + M&inimize on close + M&inimizēt aizverot + + + + &Display + &Izskats + + + + User Interface &language: + Lietotāja interfeiss un &valoda: + + + + The user interface language can be set here. This setting will take effect after restarting Bitcoin. + Šeit var iestatīt lietotāja valodu. Iestatījums aktivizēsies pēc Bitcoin pārstartēšanas. + + + + &Unit to show amounts in: + &Vienības, kurās attēlot daudzumus: + + + + Choose the default subdivision unit to show in the interface and when sending coins. + Izvēlēties dalījuma vienību pēc noklusēšanas, ko izmantot interfeisā un nosūtot bitkoinus. + + + + Whether to show Bitcoin addresses in the transaction list or not. + Rādīt vai nē Bitcoin adreses transakciju sarakstā. + + + + &Display addresses in transaction list + &Attēlot adreses transakciju sarakstā + + + + &OK + &OK + + + + &Cancel + &Atcelt + + + + &Apply + &Pielietot + + + + default + pēc noklusēšanas + + + + Confirm options reset + + + + + Some settings may require a client restart to take effect. + + + + + Do you want to proceed? + + + + + + Warning + Brīdinājums + + + + + This setting will take effect after restarting Bitcoin. + Iestatījums aktivizēsies pēc Bitkoin pārstartēšanas. + + + + The supplied proxy address is invalid. + Norādītā proxy adrese nav derīga. + + + + OverviewPage + + + Form + Forma + + + + + 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. + Attēlotā informācija var būt novecojusi. Jūsu maciņš pēc savienojuma izveides automātiski sinhronizējas ar Bitcoin tīklu, taču šis process vēl nav beidzies. + + + + Balance: + Bilance: + + + + Unconfirmed: + Neapstiprinātas: + + + + Wallet + Maciņš + + + + Immature: + + + + + Mined balance that has not yet matured + + + + + <b>Recent transactions</b> + <b>Pēdējās transakcijas</b> + + + + Your current balance + Jūsu tekošā bilance + + + + Total of transactions that have yet to be confirmed, and do not yet count toward the current balance + Kopējā apstiprināmo transakciju vērtība, vēl nav ieskaitīta kopējā bilancē + + + + + out of sync + nav sinhronizēts + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + + QRCodeDialog + + + QR Code Dialog + QR koda dialogs + + + + Request Payment + Pieprasīt maksājumu + + + + Amount: + Daudzums: + + + + Label: + Nosaukums: + + + + Message: + Ziņojums: + + + + &Save As... + &Saglabāt kā... + + + + Error encoding URI into QR Code. + Kļūda kodējot URI QR kodā. + + + + The entered amount is invalid, please check. + + + + + Resulting URI too long, try to reduce the text for label / message. + Rezultāta URI pārāk garš, mēģiniet saīsināt nosaukumu vai ziņojumu. + + + + Save QR Code + Saglabāt QR kodu + + + + PNG Images (*.png) + PNG attēli (*.png) + + + + RPCConsole + + + Client name + Klienta vārds + + + + + + + + + + + + + N/A + N/A + + + + Client version + Klienta versija + + + + &Information + &Informācija + + + + Using OpenSSL version + + + + + Startup time + Sākuma laiks + + + + Network + Tīkls + + + + Number of connections + Savienojumu skaits + + + + On testnet + Testa tīklā + + + + Block chain + Bloku virkne + + + + Current number of blocks + Pašreizējais bloku skaits + + + + Estimated total blocks + Bloku skaita novērtējums + + + + Last block time + Pēdējā bloka laiks + + + + &Open + &Atvērt + + + + Command-line options + + + + + Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. + + + + + &Show + + + + + &Console + &Konsole + + + + Build date + Kompilācijas datums + + + + Bitcoin - Debug window + + + + + Bitcoin Core + + + + + Debug log file + + + + + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + + + + + Clear console + Notīrīt konsoli + + + + Welcome to the Bitcoin RPC console. + Laipni lūgti Bitcoin RPC konsolē. + + + + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + Izmantojiet bultiņas uz augšu un leju, lai pārvietotos pa vēsturi, un <b>Ctrl-L</b> ekrāna notīrīšanai. + + + + Type <b>help</b> for an overview of available commands. + Ierakstiet <b>help</b> lai iegūtu pieejamo komandu sarakstu. + + + + SendCoinsDialog + + + + + + + + + + Send Coins + Sūtīt bitkoinus + + + + Send to multiple recipients at once + Sūtīt vairākiem saņēmējiem uzreiz + + + + Add &Recipient + + + + + Remove all transaction fields + Dzēst visus transakcijas laukus + + + + Clear &All + &Notīrīt visu + + + + Balance: + Bilance: + + + + 123.456 BTC + 123,456 BTC + + + + Confirm the send action + Apstiprināt nosūtīšanu + + + + S&end + + + + + <b>%1</b> to %2 (%3) + <b>%1</b> līdz %2 (%3) + + + + Confirm send coins + Apstiprināt bitkoinu sūtīšanu + + + + Are you sure you want to send %1? + Vai tiešām vēlaties nosūtīt %1? + + + + and + un + + + + The recipient address is not valid, please recheck. + + + + + The amount to pay must be larger than 0. + Nosūtāmajai summai jābūt lielākai par 0. + + + + The amount exceeds your balance. + Daudzums pārsniedz pieejamo. + + + + The total exceeds your balance when the %1 transaction fee is included. + Kopsumma pārsniedz pieejamo, ja pieskaitīta %1 transakcijas maksa. + + + + Duplicate address found, can only send to each address once per send operation. + Atrastas divas vienādas adreses, vienā nosūtīšanas reizē uz katru adresi var sūtīt tikai vienreiz. + + + + Error: Transaction creation failed! + + + + + Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Kļūda: transakcija tika atteikta. Tā var gadīties, ja kāds no maciņā esošiem bitkoiniem jau iztērēts, piemēram, izmantojot wallet.dat kopiju, kurā nav atzīmēti iztērētie bitkoini. + + + + SendCoinsEntry + + + Form + Forma + + + + A&mount: + Apjo&ms + + + + Pay &To: + &Saņēmējs: + + + + The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Enter a label for this address to add it to your address book + Lai pievienotu adresi adrešu grāmatai, tai jādod nosaukums + + + + &Label: + &Nosaukums: + + + + Choose address from address book + Izvēlēties adresi no adrešu grāmatas + + + + Alt+A + Alt+A + + + + Paste address from clipboard + ielīmēt adresi no starpliktuves + + + + Alt+P + Alt+P + + + + Remove this recipient + Dzēst šo saņēmēju + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Ierakstiet Bitcoin adresi (piem. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + SignVerifyMessageDialog + + + Signatures - Sign / Verify a Message + + + + + &Sign Message + + + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + + + The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + + Choose an address from the address book + + + + + + Alt+A + Alt+A + + + + Paste address from clipboard + ielīmēt adresi no starpliktuves + + + + Alt+P + Alt+P + + + + Enter the message you want to sign here + + + + + Signature + + + + + Copy the current signature to the system clipboard + + + + + Sign the message to prove you own this Bitcoin address + + + + + Sign &Message + + + + + Reset all sign message fields + + + + + + Clear &All + &Notīrīt visu + + + + &Verify Message + + + + + Enter the signing 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. + + + + + The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + + Verify the message to ensure it was signed with the specified Bitcoin address + + + + + Verify &Message + + + + + Reset all verify message fields + + + + + + Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + Ierakstiet Bitcoin adresi (piem. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) + + + + Click "Sign Message" to generate signature + + + + + Enter Bitcoin signature + + + + + + The entered address is invalid. + + + + + + + + Please check the address and try again. + + + + + + The entered address does not refer to a key. + + + + + Wallet unlock was cancelled. + + + + + Private key for the entered address is not available. + + + + + Message signing failed. + + + + + Message signed. + + + + + The signature could not be decoded. + + + + + + Please check the signature and try again. + + + + + The signature did not match the message digest. + + + + + Message verification failed. + + + + + Message verified. + + + + + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + + TransactionDesc + + + Open until %1 + Atvērts līdz %1 + + + + %1/offline + + + + + %1/unconfirmed + %1/neapstiprinātas + + + + %1 confirmations + %1 apstiprinājumu + + + + Status + + + + + , broadcast through %n node(s) + + + + + Date + Datums + + + + Source + + + + + Generated + + + + + + From + + + + + + + To + + + + + + own address + + + + + label + + + + + + + + + Credit + + + + + matures in %n more block(s) + + + + + not accepted + + + + + + + + Debit + + + + + Transaction fee + + + + + Net amount + + + + + Message + + + + + Comment + + + + + Transaction ID + + + + + Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + + + Debug information + + + + + Transaction + + + + + Inputs + + + + + Amount + Daudzums + + + + true + + + + + false + + + + + , has not been successfully broadcast yet + , vēl nav veiksmīgi izziņots + + + + Open for %n more block(s) + + + + + unknown + nav zināms + + + + TransactionDescDialog + + + Transaction details + Transakcijas detaļas + + + + This pane shows a detailed description of the transaction + Šis panelis parāda transakcijas detaļas + + + + TransactionTableModel + + + Date + Datums + + + + Type + Tips + + + + Address + Adrese + + + + Amount + Daudzums + + + + Open for %n more block(s) + + + + + Open until %1 + Atvērts līdz %1 + + + + Offline (%1 confirmations) + Nav pieslēgts (%1 apstiprinājumu) + + + + Unconfirmed (%1 of %2 confirmations) + Nav apstiprināts (%1 no %2 apstiprinājumu) + + + + Confirmed (%1 confirmations) + Apstiprināts (%1 apstiprinājumu) + + + + Mined balance will be available when it matures in %n more block(s) + + + + + This block was not received by any other nodes and will probably not be accepted! + Neviens cits mezgls šo bloku nav saņēmis un droši vien netiks akceptēts! + + + + Generated but not accepted + Ģenerēts, taču nav akceptēts + + + + Received with + Saņemts ar + + + + Received from + Saņemts no + + + + Sent to + Nosūtīts + + + + Payment to yourself + Maksājums sev + + + + Mined + Atrasts + + + + (n/a) + (nav pieejams) + + + + Transaction status. Hover over this field to show number of confirmations. + Transakcijas statuss. Turiet peli virs šī lauka, lai redzētu apstiprinājumu skaitu. + + + + Date and time that the transaction was received. + Transakcijas saņemšanas datums un laiks. + + + + Type of transaction. + Transakcijas tips. + + + + Destination address of transaction. + Transakcijas mērķa adrese. + + + + Amount removed from or added to balance. + Bilancei pievienotais vai atņemtais daudzums. + + + + TransactionView + + + + All + Visi + + + + Today + Šodien + + + + This week + Šonedēļ + + + + This month + Šomēnes + + + + Last month + Pēdējais mēnesis + + + + This year + Šogad + + + + Range... + Diapazons... + + + + Received with + Saņemts ar + + + + Sent to + Nosūtīts + + + + To yourself + Sev + + + + Mined + Atrasts + + + + Other + Cits + + + + Enter address or label to search + Ierakstiet meklējamo nosaukumu vai adresi + + + + Min amount + Minimālais daudzums + + + + Copy address + Kopēt adresi + + + + Copy label + Kopēt nosaukumu + + + + Copy amount + Kopēt daudzumu + + + + Copy transaction ID + + + + + Edit label + Mainīt nosaukumu + + + + Show transaction details + Rādīt transakcijas detaļas + + + + Export Transaction Data + Eksportēt transakcijas datus + + + + Comma separated file (*.csv) + Fails ar komatu kā atdalītāju (*.csv) + + + + Confirmed + Apstiprināts + + + + Date + Datums + + + + Type + Tips + + + + Label + Nosaukums + + + + Address + Adrese + + + + Amount + Daudzums + + + + ID + ID + + + + Error exporting + Eksportēšanas kļūda + + + + Could not write to file %1. + Nevar ierakstīt failā %1. + + + + Range: + Diapazons: + + + + to + + + + + WalletModel + + + Send Coins + + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + Izveidot maciņa rezerves kopiju + + + + Wallet Data (*.dat) + Maciņa dati (*.dat) + + + + Backup Failed + Rezerves kopēšana neizdevās + + + + There was an error trying to save the wallet data to the new location. + Kļūda, saglabājot maciņu jaunajā vietā. + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + Bitcoin versija + + + + Usage: + Lietojums: + + + + Send command to -server or bitcoind + Nosūtīt komantu uz -server vai bitcoind + + + + List commands + Komandu saraksts + + + + Get help for a command + Palīdzība par komandu + + + + Options: + Iespējas: + + + + Specify configuration file (default: bitcoin.conf) + Norādiet konfigurācijas failu (pēc noklusēšanas: bitcoin.conf) + + + + Specify pid file (default: bitcoind.pid) + Norādiet pid failu (pēc noklusēšanas: bitcoind.pid) + + + + Specify data directory + Norādiet datu direktoriju + + + + Set database cache size in megabytes (default: 25) + Uzstādiet datu bāzes bufera izmēru megabaitos (pēc noklusēšanas: 25) + + + + Listen for connections on <port> (default: 8333 or testnet: 18333) + Gaidīt savienojumus portā <port> (pēc noklusēšanas: 8333 vai testnet: 18333) + + + + Maintain at most <n> connections to peers (default: 125) + Uzturēt līdz <n> savienojumiem ar citiem mezgliem(pēc noklusēšanas: 125) + + + + Connect to a node to retrieve peer addresses, and disconnect + Pievienoties mezglam, lai iegūtu citu mezglu adreses, un atvienoties + + + + Specify your own public address + Norādiet savu publisko adresi + + + + Threshold for disconnecting misbehaving peers (default: 100) + Slieksnis pārkāpējmezglu atvienošanai (pēc noklusēšanas: 100) + + + + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) + Sekundes, cik ilgi atturēt pārkāpējmezglus no atkārtotas pievienošanās (pēc noklusēšanas: 86400) + + + + An error occurred while setting up the RPC port %u for listening on IPv4: %s + + + + + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) + + + + + Accept command line and JSON-RPC commands + Pieņemt komandrindas un JSON-RPC komandas + + + + Run in the background as a daemon and accept commands + Darbināt fonā kā servisu un pieņemt komandas + + + + Use the test network + Izmantot testa tīklu + + + + Accept connections from outside (default: 1 if no -proxy or -connect) + + + + + %s, you must set a rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +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 "Bitcoin Alert" admin@foo.com + + + + + + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s + + + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + + + Cannot obtain a lock on data directory %s. Bitcoin is probably already running. + + + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) + + + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications + + + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + + + Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. + + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. + + + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + + + Attempt to recover private keys from a corrupt wallet.dat + + + + + Block creation options: + + + + + Connect only to the specified node(s) + + + + + Corrupted block database detected + + + + + Discover own IP address (default: 1 when listening and no -externalip) + + + + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + + Error loading block database + + + + + Error opening block database + + + + + Error: Disk space is low! + + + + + Error: Wallet locked, unable to create transaction! + + + + + Error: system error: + + + + + Failed to listen on any port. Use -listen=0 if you want this. + + + + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + + + Find peers using DNS lookup (default: 1 unless -connect) + + + + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) + + + + + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + + + + + Verifying wallet... + + + + + Imports blocks from external blk000??.dat file + + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + + Information + + + + + Invalid -tor address: '%s' + + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + + + + + Only accept block chain matching built-in checkpoints (default: 1) + + + + + Only connect to nodes in network <net> (IPv4, IPv6 or Tor) + + + + + Output extra debugging information. Implies all other -debug* options + + + + + Output extra network debugging information + + + + + Prepend debug output with timestamp + Debug izvadei sākumā pievienot laika zīmogu + + + + SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + + + + Select the version of socks proxy to use (4-5, default: 5) + + + + + Send trace/debug info to console instead of debug.log file + Debug/trace informāciju izvadīt konsolē, nevis debug.log failā + + + + Send trace/debug info to debugger + Debug/trace informāciju izvadīt debug programmai + + + + Set maximum block size in bytes (default: 250000) + + + + + Set minimum block size in bytes (default: 0) + + + + + Shrink debug.log file on client startup (default: 1 when no -debug) + + + + + Signing transaction failed + + + + + Specify connection timeout in milliseconds (default: 5000) + + + + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + + + + + Use UPnP to map the listening port (default: 1 when listening) + + + + + Use proxy to reach tor hidden services (default: same as -proxy) + + + + + Username for JSON-RPC connections + JSON-RPC savienojumu lietotājvārds + + + + Warning + Brīdinājums + + + + Warning: This version is obsolete, upgrade required! + + + + + You need to rebuild the databases using -reindex to change -txindex + + + + + wallet.dat corrupt, salvage failed + + + + + Password for JSON-RPC connections + JSON-RPC savienojumu parole + + + + Allow JSON-RPC connections from specified IP address + Atļaut JSON-RPC savienojumus no norādītās IP adreses + + + + Send commands to node running on <ip> (default: 127.0.0.1) + Nosūtīt komandas mezglam, kas darbojas adresē <ip> (pēc noklusēšanas: 127.0.0.1) + + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + Izpildīt komandu, kad labāk atbilstošais bloks izmainās (%s cmd aizvieto ar bloka hešu) + + + + Upgrade wallet to latest format + Atjaunot maciņa formātu uz jaunāko + + + + Set key pool size to <n> (default: 100) + Uzstādīt atslēgu bufera izmēru uz <n> (pēc noklusēšanas: 100) + + + + Rescan the block chain for missing wallet transactions + Atkārtoti skanēt bloku virkni, meklējot trūkstošās maciņa transakcijas + + + + Use OpenSSL (https) for JSON-RPC connections + JSON-RPC savienojumiem izmantot OpenSSL (https) + + + + Server certificate file (default: server.cert) + Servera sertifikāta fails (pēc noklusēšanas: server.cert) + + + + Server private key (default: server.pem) + Servera privātā atslēga (pēc noklusēšanas: server.pem) + + + + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + Pieņemamie šifri (pēc noklusēšanas: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) + + + + This help message + Šis palīdzības paziņojums + + + + Unable to bind to %s on this computer (bind returned error %d, %s) + Nevar pievienoties pie %s šajā datorā (pievienošanās atgrieza kļūdu %d, %s) + + + + Connect through socks proxy + Savienoties caurs socks proxy + + + + Allow DNS lookups for -addnode, -seednode and -connect + Atļaut DNS uzmeklēšanu priekš -addnode, -seednode un -connect + + + + Loading addresses... + Ielādē adreses... + + + + Error loading wallet.dat: Wallet corrupted + Nevar ielādēt wallet.dat: maciņš bojāts + + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin + Nevar ielādēt wallet.dat: maciņa atvēršanai nepieciešama jaunāka Bitcoin versija + + + + Wallet needed to be rewritten: restart Bitcoin to complete + Bija nepieciešams pārstartēt maciņu: pabeigšanai pārstartējiet Bitcoin + + + + Error loading wallet.dat + Kļūda ielādējot wallet.dat + + + + Invalid -proxy address: '%s' + Nederīga -proxy adrese: '%s' + + + + Unknown network specified in -onlynet: '%s' + -onlynet komandā norādīts nepazīstams tīkls: '%s' + + + + Unknown -socks proxy version requested: %i + Pieprasīta nezināma -socks proxy versija: %i + + + + Cannot resolve -bind address: '%s' + Nevar uzmeklēt -bind adresi: '%s' + + + + Cannot resolve -externalip address: '%s' + Nevar atrisināt -externalip adresi: '%s' + + + + Invalid amount for -paytxfee=<amount>: '%s' + Nederīgs daudzums priekš -paytxfree=<amount>: '%s' + + + + Invalid amount + Nederīgs daudzums + + + + Insufficient funds + Nepietiek bitkoinu + + + + Loading block index... + Ielādē bloku indeksu... + + + + Add a node to connect to and attempt to keep the connection open + Pievienot mezglu, kam pievienoties un turēt savienojumu atvērtu + + + + Unable to bind to %s on this computer. Bitcoin is probably already running. + Nevar pievienoties %s uz šī datora. Bitcoin droši vien jau darbojas. + + + + Fee per KB to add to transactions you send + Maksa par KB, ko pievienot nosūtāmajām transakcijām + + + + Loading wallet... + Ielādē maciņu... + + + + Cannot downgrade wallet + Nevar maciņa formātu padarīt vecāku + + + + Cannot write default address + Nevar ierakstīt adresi pēc noklusēšanas + + + + Rescanning... + Skanēju no jauna... + + + + Done loading + Ielāde pabeigta + + + + To use the %s option + Izmantot opciju %s + + + + Error + Kļūda + + + + You must set rpcpassword=<password> in the configuration file: +%s +If the file does not exist, create it with owner-readable-only file permissions. + Konfigurācijas failā jāuzstāda rpcpassword=<password>: +%s +Ja fails neeksistē, izveidojiet to ar atļauju lasīšanai tikai īpašniekam. + + + \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_nb.ts bitcoin-0.8.5/src/qt/locale/bitcoin_nb.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_nb.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_nb.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> versjon - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Bitcoin Utviklerne - - - + This is experimental software. @@ -32,6 +27,16 @@ Dette produktet inneholder programvare utviklet av OpenSSL prosjektet for bruk i OpenSSL Toolkit (http://www.openssl.org/) og kryptografisk programvare skrevet av Eric Young (eay@cryptsoft.com) og UPnP programvare skrevet av Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -41,7 +46,7 @@ Adressebok - + Double-click to edit address or label Dobbeltklikk for å redigere adresse eller merkelapp @@ -61,12 +66,12 @@ &Ny Adresse - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Dette er dine Bitcoin-adresser for mottak av betalinger. Du kan gi forskjellige adresser til alle som skal betale deg for å holde bedre oversikt. - + &Copy Address &Kopier Adresse @@ -88,10 +93,20 @@ Delete the currently selected address from the list + Slett den valgte adressen fra listen. + + + + Export the data in the current tab to a file + Eksporter data fra nåværende fane til fil + + + + &Export - + Verify a message to ensure it was signed with a specified Bitcoin address Verifiser en melding for å være sikker på at den ble signert av en angitt Bitcoin-adresse @@ -106,17 +121,27 @@ &Slett - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Kopier &Merkelapp - + &Edit &Rediger - + + Send &Coins + Send &Coins + + + Export Address Book Data Eksporter adressebok @@ -139,7 +164,7 @@ AddressTableModel - + Label Merkelapp @@ -234,7 +259,7 @@ 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. - + VIKTIG: Tidligere sikkerhetskopier av din lommebok-fil, bør erstattes med den nylig genererte, krypterte filen, da de blir ugyldiggjort av sikkerhetshensyn så snart du begynner å bruke den nye krypterte lommeboken. @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Signer &melding... - + Synchronizing with network... Synkroniserer med nettverk... - + &Overview &Oversikt @@ -328,32 +353,17 @@ Vis transaksjonshistorikk - - &Address Book - &Adressebok - - - + Edit the list of stored addresses and labels Rediger listen over adresser og deres merkelapper - - &Receive coins - &Motta bitcoins - - - + Show the list of addresses for receiving payments Vis listen over adresser for mottak av betalinger - - &Send coins - &Send bitcoins - - - + E&xit &Avslutt @@ -383,7 +393,7 @@ &Innstillinger... - + &Encrypt Wallet... &Krypter Lommebok... @@ -398,27 +408,17 @@ &Endre Adgangsfrase... - + Importing blocks from disk... - + Importere blokker... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - ~%n blokk gjenstår~%n blokker gjenstår + Re-indekserer blokker på disk... - - &Export... - &Eksporter... - - - + Send coins to a Bitcoin address Send til en Bitcoin-adresse @@ -428,12 +428,7 @@ Endre oppsett for Bitcoin - - Export the data in the current tab to a file - Eksporter data fra nåværende fane til fil - - - + Backup wallet to another location Sikkerhetskopiér lommebok til annet sted @@ -443,7 +438,7 @@ Endre adgangsfrasen brukt for kryptering av lommebok - + &Debug window &Feilsøkingsvindu @@ -453,23 +448,38 @@ Åpne konsoll for feilsøk og diagnostikk - + &Verify message... &Verifiser melding... - - + + Bitcoin Bitcoin - + Wallet Lommebok - + + &Send + &Send + + + + &Receive + &Motta + + + + &Addresses + &Adressebok + + + &About Bitcoin &Om Bitcoin @@ -481,30 +491,30 @@ Show or hide the main Window - + Vis eller skjul hovedvinduet - + Encrypt the private keys that belong to your wallet - + Krypter de private nøklene som tilhører lommeboken din Sign messages with your Bitcoin addresses to prove you own them - + Signér en melding for å bevise at du eier denne adressen Verify messages to ensure they were signed with specified Bitcoin addresses - + Bekreft meldinger for å være sikker på at de ble signert av en angitt Bitcoin-adresse - + &File &Fil - + &Settings &Innstillinger @@ -519,108 +529,103 @@ Verktøylinje for faner - - Actions toolbar - Verktøylinje for handlinger - - - + [testnet] [testnett] - + Bitcoin client Bitcoinklient - + %n active connection(s) to Bitcoin network %n aktiv forbindelse til Bitcoin-nettverket%n aktive forbindelser til Bitcoin-nettverket - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error - + + Processed %1 blocks of transaction history. + Lastet %1 blokker med transaksjonshistorikk. + + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? - + + Transactions after this will not yet be visible. + Transaksjoner etter dette vil ikke være synlige enda. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - for %n sekund sidenfor %n sekunder siden - - - - %n minute(s) ago - for %n minutt sidenfor %n minutter siden - - - - %n hour(s) ago - for %n time sidenfor %n timer siden + + + Information + - - - %n day(s) ago - for %n dag sidenfor %n dager siden + + + 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? + Denne transaksjonen overstiger størrelsesbegrensningen. Du kan likevel sende den med et gebyr på %1, som går til nodene som prosesserer transaksjonen din og støtter nettverket. Vil du betale gebyret? - + Up to date Ajour - + Catching up... Kommer ajour... - - Last received block was generated %1. - Siste mottatte blokk ble generert %1. - - - + Confirm transaction fee Bekreft transaksjonsgebyr - + Sent transaction Sendt transaksjon @@ -643,14 +648,14 @@ - - + + URI handling URI håndtering - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI kunne ikke tolkes! Dette kan forårsakes av en ugyldig Bitcoin-adresse eller feil i URI-parametere. @@ -665,27 +670,7 @@ Lommeboken er <b>kryptert</b> og for tiden <b>låst</b> - - Backup Wallet - Sikkerhetskopiér Lommebok - - - - Wallet Data (*.dat) - Lommeboksdata (*.dat) - - - - Backup Failed - Sikkerhetskopiering feilet - - - - There was an error trying to save the wallet data to the new location. - En feil oppstod ved lagring av lommebok til nytt sted - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. En fatal feil har inntruffet. Det er ikke trygt å fortsette og Bitcoin må derfor avslutte. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Nettverksvarsel @@ -726,7 +711,7 @@ Adressen til denne oppføringen i adresseboken. Denne kan kun endres for utsendingsadresser. - + New receiving address Ny mottaksadresse @@ -746,17 +731,17 @@ Rediger utsendingsadresse - + The entered address "%1" is already in the address book. Den oppgitte adressen "%1" er allerede i adresseboken. - + The entered address "%1" is not a valid Bitcoin address. Den angitte adressed "%1" er ikke en gyldig Bitcoin-adresse. - + Could not unlock wallet. Kunne ikke låse opp lommeboken. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -825,8 +810,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Valgfritt transaksjonsgebyr per kB som sikrer at dine transaksjoner blir raskt prosessert. De fleste transaksjoner er 1 kB. Et gebyr på 0.01 er anbefalt. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -984,7 +969,7 @@ &Bruk - + default standardverdi @@ -1029,23 +1014,18 @@ Skjema - - + + 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. Informasjonen som vises kan være foreldet. Din lommebok synkroniseres automatisk med Bitcoin-nettverket etter at tilkobling er opprettet, men denne prosessen er ikke ferdig enda. - + Balance: Saldo: - - Number of transactions: - Antall transaksjoner: - - - + Unconfirmed: Ubekreftet @@ -1055,7 +1035,7 @@ Lommebok - + Immature: Umoden: @@ -1070,7 +1050,7 @@ <b>Siste transaksjoner</b> - + Your current balance Din nåværende saldo @@ -1080,18 +1060,21 @@ Totalt antall ubekreftede transaksjoner som ikke telles med i saldo enda - - Total number of transactions in wallet - Totalt antall transaksjoner i lommeboken - - - + out of sync ute av synk + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Kan ikke starte Bit-coin: klikk-og-betal håndterer + + + QRCodeDialog @@ -1166,7 +1149,7 @@ - + N/A - @@ -1348,7 +1331,7 @@ S&end - + S&avslutt @@ -1398,7 +1381,7 @@ Error: Transaction creation failed! - + Feil: Opprettelse av transaksjon feilet @@ -1426,11 +1409,11 @@ The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Adressen betalingen skal sendes til (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Enter a label for this address to add it to your address book Skriv inn en merkelapp for denne adressen for å legge den til i din adressebok @@ -1664,9 +1647,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testnett] + + + TransactionDesc - + Open until %1 Åpen til %1 @@ -1853,7 +1849,7 @@ TransactionTableModel - + Date Dato @@ -1971,7 +1967,7 @@ TransactionView - + All Alle @@ -2058,6 +2054,11 @@ + Copy transaction ID + Kopier transaksjons-ID + + + Edit label Rediger merkelapp @@ -2067,7 +2068,7 @@ Vis transaksjonsdetaljer - + Export Transaction Data Eksporter transaksjonsdata @@ -2122,7 +2123,7 @@ Kunne ikke skrive til filen %1. - + Range: Intervall: @@ -2133,39 +2134,90 @@ + WalletModel + + + Send Coins + Send Bitcoins + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + Eksporter data fra nåværende fane til fil + + + + Backup Wallet + Sikkerhetskopier lommebok + + + + Wallet Data (*.dat) + Lommebokdata (*.dat) + + + + Backup Failed + Sikkerhetskopiering feilet + + + + There was an error trying to save the wallet data to the new location. + En feil oppstod under lagringen av lommeboken til den nye plasseringen. + + + + Backup Successful + Sikkerhetskopiering fullført + + + + The wallet data was successfully saved to the new location. + Lommebokdata ble lagret til den nye plasseringen. + + + bitcoin-core - + Bitcoin version Bitcoin versjon - + Usage: Bruk: - + Send command to -server or bitcoind Send kommando til -server eller bitcoind - + List commands List opp kommandoer - + Get help for a command Vis hjelpetekst for en kommando - + Options: Innstillinger: - + Specify configuration file (default: bitcoin.conf) Angi konfigurasjonsfil (standardverdi: bitcoin.conf) @@ -2175,107 +2227,108 @@ Angi pid-fil (standardverdi: bitcoind.pid) - - Generate coins - Generér bitcoins - - - - Don't generate coins - Ikke generér bitcoins - - - + Specify data directory Angi mappe for datafiler - + Set database cache size in megabytes (default: 25) Sett størrelse på mellomlager for database i megabytes (standardverdi: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Lytt etter tilkoblinger på <port> (standardverdi: 8333 eller testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Hold maks <n> koblinger åpne til andre noder (standardverdi: 125) - + Connect to a node to retrieve peer addresses, and disconnect Koble til node for å hente adresser til andre noder, koble så fra igjen - + Specify your own public address Angi din egen offentlige adresse - + Threshold for disconnecting misbehaving peers (default: 100) Grenseverdi for å koble fra noder med dårlig oppførsel (standardverdi: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Antall sekunder noder med dårlig oppførsel hindres fra å koble til på nytt (standardverdi: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s En feil oppstod ved opprettelse av RPC port %u for lytting: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Lytt etter JSON-RPC tilkoblinger på <port> (standardverdi: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Ta imot kommandolinje- og JSON-RPC-kommandoer - + Run in the background as a daemon and accept commands Kjør i bakgrunnen som daemon og ta imot kommandoer - + Use the test network Bruk testnettverket - + Accept connections from outside (default: 1 if no -proxy or -connect) Ta imot tilkoblinger fra utsiden (standardverdi: 1 hvis uten -proxy eller -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + %s, du må angi rpcpassord i konfigurasjonsfilen. +%s +Det anbefales at du bruker det følgende tilfeldige passordet: +rpcbruker=bitcoinrpc +rpcpassord=%s +(du behøver ikke å huske passordet) +Brukernavnet og passordet MÅ IKKE være like. +Om filen ikke eksisterer, opprett den nå med eier-kun-les filrettigheter. +Det er også anbefalt at å sette varselsmelding slik du får melding om problemer. +For eksempel: varselmelding=echo %%s | mail -s "Bitcoin varsel" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + En feil oppstod under oppsettet av RPC port %u for IPv6, tilbakestilles til IPv4: %s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Bind til angitt adresse. Bruk [vertsmaskin]:port notasjon for IPv6 @@ -2284,23 +2337,23 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Kjør kommando når relevant varsel blir mottatt (%s i cmd er erstattet med TxID) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Kjør kommando når en lommeboktransaksjon endres (%s i cmd er erstattet med TxID) @@ -2308,7 +2361,7 @@ Sett maks størrelse for transaksjoner med høy prioritet / lavt gebyr, i bytes (standardverdi: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2348,62 +2401,172 @@ Valg for opprettelse av blokker: - + Connect only to the specified node(s) Koble kun til angitt(e) node(r) + Corrupted block database detected + Oppdaget korrupt blokkdatabase + + + Discover own IP address (default: 1 when listening and no -externalip) Oppdag egen IP-adresse (standardverdi: 1 ved lytting og uten -externalip) - + + Do you want to rebuild the block database now? + Ønsker du å gjenopprette blokkdatabasen nå? + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + Feil under oppstart av lommebokdatabasemiljø %s! + + + Error loading block database - + + Error opening block database + Feil under åpning av blokkdatabase + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. Kunne ikke lytte på noen port. Bruk -listen=0 hvis det er dette du vil. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) Finn andre noder gjennom DNS-oppslag (standardverdi: 1 med mindre -connect er oppgit) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + Rebuild block chain index from current blk000??.dat files + Gjenopprett blokkjedeindex fra blk000??.dat filer + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifiserer blokker... + + + Verifying wallet... + Verifiserer lommebok... + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2413,7 +2576,22 @@ Ugyldig -tor adresse: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Maks mottaksbuffer per forbindelse, <n>*1000 bytes (standardverdi: 5000) @@ -2423,7 +2601,7 @@ Maks sendebuffer per forbindelse, <n>*1000 bytes (standardverdi: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2448,12 +2626,7 @@ Sett tidsstempel på debugmeldinger - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL valg: (se Bitcoin Wiki for instruksjoner for oppsett av SSL) @@ -2483,17 +2656,42 @@ Sett minimum blokkstørrelse i bytes (standardverdi: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Krymp debug.log filen når klienten starter (standardverdi: 1 hvis uten -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) Angi tidsavbrudd for forbindelse i millisekunder (standardverdi: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) Bruk UPnP for lytteport (standardverdi: 0) @@ -2524,36 +2722,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Passord for JSON-RPC forbindelser - + Allow JSON-RPC connections from specified IP address Tillat JSON-RPC tilkoblinger fra angitt IP-adresse - + Send commands to node running on <ip> (default: 127.0.0.1) Send kommandoer til node på <ip> (standardverdi: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Eksekvér kommando når beste blokk endrer seg (%s i kommandoen erstattes med blokkens hash) - + Upgrade wallet to latest format Oppgradér lommebok til nyeste format - + Set key pool size to <n> (default: 100) Angi størrelse på nøkkel-lager til <n> (standardverdi: 100) @@ -2563,17 +2766,12 @@ Se gjennom blokk-kjeden etter manglende lommeboktransaksjoner - - How many blocks to check at startup (default: 2500, 0 = all) - Hvor mange blokker som skal sjekkes ved oppstart (standardverdi: 2500, 0 = alle) - - - + Use OpenSSL (https) for JSON-RPC connections Bruk OpenSSL (https) for JSON-RPC forbindelser - + Server certificate file (default: server.cert) Servers sertifikat (standardverdi: server.cert) @@ -2583,37 +2781,37 @@ Servers private nøkkel (standardverdi: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Akseptable krypteringsmetoder (standardverdi: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Denne hjelpemeldingen - + Unable to bind to %s on this computer (bind returned error %d, %s) Kan ikke binde til %s på denne datamaskinen (bind returnerte feil %d, %s) - + Connect through socks proxy Koble til gjennom socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect Tillat DNS oppslag for -addnode, -seednode og -connect - + Loading addresses... Laster adresser... - + Error loading wallet.dat: Wallet corrupted Feil ved lasting av wallet.dat: Lommeboken er skadet @@ -2623,32 +2821,22 @@ Feil ved lasting av wallet.dat: Lommeboken krever en nyere versjon av Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Lommeboken måtte skrives om: start Bitcoin på nytt for å fullføre - + Error loading wallet.dat Feil ved lasting av wallet.dat - + Invalid -proxy address: '%s' Ugyldig -proxy adresse: '%s' - + Unknown network specified in -onlynet: '%s' Ukjent nettverk angitt i -onlynet '%s' @@ -2658,7 +2846,7 @@ Ukjent -socks proxy versjon angitt: %i - + Cannot resolve -bind address: '%s' Kunne ikke slå opp -bind adresse: '%s' @@ -2668,32 +2856,27 @@ Kunne ikke slå opp -externalip adresse: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Ugyldig beløp for -paytxfee=<beløp>: '%s' - - Error: could not start node - Feil: kunne ikke starte node - - - + Invalid amount Ugyldig beløp - + Insufficient funds Utilstrekkelige midler - + Loading block index... Laster blokkindeks... - + Add a node to connect to and attempt to keep the connection open Legg til node for tilkobling og hold forbindelsen åpen @@ -2703,12 +2886,7 @@ Kan ikke binde til %s på denne datamaskinen. Sannsynligvis kjører Bitcoin allerede. - - Find peers using internet relay chat (default: 0) - Finn andre noder via internet relay chat (standardverdi: 0) - - - + Fee per KB to add to transactions you send Gebyr per KB for transaksjoner du sender @@ -2718,42 +2896,37 @@ Laster lommebok... - + Cannot downgrade wallet Kan ikke nedgradere lommebok - - Cannot initialize keypool - Kan ikke initialisere nøkkellager - - Cannot write default address Kan ikke skrive standardadresse - + Rescanning... Leser gjennom... - + Done loading Ferdig med lasting - + To use the %s option For å bruke %s opsjonen - + Error Feil - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_nl.ts bitcoin-0.8.5/src/qt/locale/bitcoin_nl.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_nl.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_nl.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,8 +5,7 @@ About Bitcoin - Over Bitcoin - + Over Bitcoin @@ -14,12 +13,7 @@ <b>Bitcoin</b> versie - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 The Bitcoin Ontwikkelaars - - - + This is experimental software. @@ -33,6 +27,16 @@ Dit product bevat software ontwikkeld door het OpenSSL Project voor gebruik in de OpenSSL Toolkit (http://www.openssl.org/) en cryptografische software gemaakt door Eric Young (eay@cryptsoft.com) en UPnP software geschreven door Thomas Bernard. + + + Copyright + Auteursrecht + + + + The Bitcoin developers + De Bitcoin-ontwikkelaars + AddressBookPage @@ -42,7 +46,7 @@ Adresboek - + Double-click to edit address or label Dubbelklik om adres of label te wijzigen @@ -62,12 +66,12 @@ &Nieuw Adres - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Dit zijn uw Bitcoinadressen om betalingen mee te ontvangen. U kunt er voor kiezen om een uniek adres aan te maken voor elke afzender. Op deze manier kunt u bijhouden wie al aan u betaald heeft. - + &Copy Address &Kopiëer Adres @@ -92,7 +96,17 @@ Verwijder het geselecteerde adres van de lijst - + + Export the data in the current tab to a file + Exporteer de data in de huidige tab naar een bestand + + + + &Export + &Exporteer + + + Verify a message to ensure it was signed with a specified Bitcoin address Controleer een bericht om te verifiëren dat het gespecificeerde Bitcoinadres het bericht heeft ondertekend. @@ -107,17 +121,27 @@ &Verwijder - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Dit zijn uw Bitcoinadressen om betalingen mee te verzenden. Check altijd het bedrag en het ontvangende adres voordat u uw bitcoins verzendt. + + + Copy &Label Kopiëer &Label - + &Edit &Bewerk - + + Send &Coins + Verstuur &Coins + + + Export Address Book Data Exporteer Gegevens van het Adresboek @@ -140,7 +164,7 @@ AddressTableModel - + Label Label @@ -165,12 +189,12 @@ Enter passphrase - Huidig wachtwoord + Voer wachtwoord in New passphrase - Nieuwe wachtwoord + Nieuw wachtwoord @@ -265,7 +289,7 @@ Wallet encryption failed due to an internal error. Your wallet was not encrypted. - Portemonneeversleuteling mislukt door een interne fout, Uw portemonnee is niet versleuteld. + Portemonneeversleuteling mislukt door een interne fout. Uw portemonnee is niet versleuteld. @@ -299,17 +323,17 @@ BitcoinGUI - + Sign &message... &Onderteken bericht... - + Synchronizing with network... Synchroniseren met netwerk... - + &Overview &Overzicht @@ -329,32 +353,17 @@ Blader door transactieverleden - - &Address Book - &Adresboek - - - + Edit the list of stored addresses and labels Bewerk de lijst van opgeslagen adressen en labels - - &Receive coins - &Ontvang munten - - - + Show the list of addresses for receiving payments Toon lijst van adressen om betalingen mee te ontvangen - - &Send coins - &Verstuur munten - - - + E&xit &Afsluiten @@ -384,7 +393,7 @@ O&pties... - + &Encrypt Wallet... &Versleutel Portemonnee... @@ -399,7 +408,7 @@ &Wijzig Wachtwoord - + Importing blocks from disk... Blokken aan het importeren vanaf harde schijf... @@ -408,18 +417,8 @@ Reindexing blocks on disk... Bezig met herindexeren van blokken op harde schijf... - - - ~%n block(s) remaining - ~%n blok resterend~%n blokken resterend - - - - &Export... - &Exporteer... - - + Send coins to a Bitcoin address Verstuur munten naar een Bitcoinadres @@ -429,22 +428,17 @@ Wijzig instellingen van Bitcoin - - Export the data in the current tab to a file - Exporteer de data in de huidige tab naar een bestand - - - + Backup wallet to another location &Backup portemonnee naar een andere locatie Change the passphrase used for wallet encryption - wijzig het wachtwoord voor uw portemonneversleuteling + Wijzig het wachtwoord voor uw portemonneversleuteling - + &Debug window &Debugscherm @@ -454,23 +448,38 @@ Open debugging en diagnostische console - + &Verify message... &Verifiëer bericht... - - + + Bitcoin Bitcoin - + Wallet Portemonnee - + + &Send + &Versturen + + + + &Receive + &Ontvangen + + + + &Addresses + &Adressen + + + &About Bitcoin &Over Bitcoin @@ -485,7 +494,7 @@ Toon of verberg het hoofdvenster - + Encrypt the private keys that belong to your wallet Versleutel de geheime sleutels die bij uw portemonnee horen @@ -500,12 +509,12 @@ Verifiëer handtekeningen om zeker te zijn dat de berichten zijn ondertekend met de gespecificeerde Bitcoinadressen - + &File &Bestand - + &Settings &Instellingen @@ -520,38 +529,68 @@ Tab-werkbalk - - Actions toolbar - Actie-werkbalk - - - + [testnet] [testnetwerk] - + Bitcoin client Bitcoin client - + %n active connection(s) to Bitcoin network %n actieve connectie naar Bitcoinnetwerk%n actieve connecties naar Bitcoinnetwerk - - Processed %1 of %2 blocks of transaction history (%3% done). - %1 van %2 blokken van transactiehistorie verwerkt (%3% klaar). + + No block source available... + Geen bron van blokken beschikbaar... - + + Processed %1 of %2 (estimated) blocks of transaction history. + %1 van %2 (geschat) blokken van de transactiehistorie verwerkt. + + + Processed %1 blocks of transaction history. %1 blokken van transactiehistorie verwerkt. + + + %n hour(s) + %n uur%n uur + + + + %n day(s) + %n dag%n dagen + + + + %n week(s) + %n week%n weken + - + + %1 behind + %1 achter + + + + Last received block was generated %1 ago. + Laatst ontvangen blok was %1 geleden gegenereerd. + + + + Transactions after this will not yet be visible. + Transacties na dit moment zullen nu nog niet zichtbaar zijn. + + + Error Fout @@ -566,62 +605,27 @@ Informatie - + 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? Deze transactie overschrijdt de groottelimiet. Om de transactie alsnog te versturen kunt u transactiekosten betalen van %1. Deze transactiekosten gaan naar de nodes die uw transactie verwerken en het helpt op deze manier bij het ondersteunen van het Bitcoinnetwerk. Wilt u de transactiekosten betalen? - - Backup Successful - Backup Succesvol - - - - The wallet data was successfully saved to the new location. - De portemonneedata is succesvol opgeslagen op de nieuwe locatie. - - - - %n second(s) ago - %n seconde geleden%n seconden geleden - - - - %n minute(s) ago - %n minuut geleden%n minuten geleden - - - - %n hour(s) ago - %n uur geleden%n uur geleden - - - - %n day(s) ago - %n dag geleden%n dagen geleden - - - + Up to date Bijgewerkt - + Catching up... Aan het bijwerken... - - Last received block was generated %1. - Laatst ontvangen blok is %1 gegenereerd. - - - + Confirm transaction fee Bevestig transactiekosten - + Sent transaction Verzonden transactie @@ -644,14 +648,14 @@ - - + + URI handling URI-behandeling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI kan niet worden geïnterpreteerd. Dit kan komen door een ongeldig Bitcoinadres of misvormde URI-parameters. @@ -666,27 +670,7 @@ Portemonnee is <b>versleuteld</b> en momenteel <b>gesloten</b> - - Backup Wallet - Backup Portemonnee - - - - Wallet Data (*.dat) - Portemonnee-data (*.dat) - - - - Backup Failed - Backup Mislukt - - - - There was an error trying to save the wallet data to the new location. - Er is een fout opgetreden bij het wegschrijven van de portemonnee-data naar de nieuwe locatie. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Er is een fatale fout opgetreden. Bitcoin kan niet meer veilig doorgaan en zal nu afgesloten worden. @@ -694,7 +678,7 @@ ClientModel - + Network Alert Netwerkwaarschuwing @@ -727,7 +711,7 @@ Het adres dat geassocieerd is met deze inschrijving in het adresboek. Dit kan alleen worden veranderd voor zend-adressen. - + New receiving address Nieuw ontvangstadres @@ -747,17 +731,17 @@ Bewerk adres om naar te verzenden - + The entered address "%1" is already in the address book. Het opgegeven adres "%1" bestaat al in uw adresboek. - + The entered address "%1" is not a valid Bitcoin address. Het opgegeven adres "%1" is een ongeldig Bitcoinadres - + Could not unlock wallet. Kon de portemonnee niet openen. @@ -770,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -803,8 +787,7 @@ Start minimized - Geminimaliseerd starten - + Geminimaliseerd starten @@ -826,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Optionele transactiekosten per kB die helpen om uw transacties snel te verwerken. De meeste transacties zijn 1 kB. Transactiekosten van 0,01 wordt aangeraden + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Optionele transactiekosten per kB. Transactiekosten helpen ervoor te zorgen dat uw transacties snel verwerkt worden. De meeste transacties zijn 1kB. @@ -842,17 +825,17 @@ &Start Bitcoin on system login - &Start Bitcoin bij het inloggen in het systeem + Start &Bitcoin bij het inloggen in het systeem Reset all client options to default. - + Reset alle clientopties naar de standaardinstellingen. &Reset Options - + &Reset Opties @@ -932,7 +915,7 @@ M&inimize on close - Minimaliseer bij &sluiten van het venster + Minimaliseer bij sluiten van het &venster @@ -942,7 +925,7 @@ User Interface &language: - &Taal Gebruikersinterface: + Taal &Gebruikersinterface: @@ -967,7 +950,7 @@ &Display addresses in transaction list - Toon &adressen in de transactielijst + Toon a&dressen in de transactielijst @@ -977,7 +960,7 @@ &Cancel - &Annuleren + Ann&uleren @@ -985,24 +968,24 @@ &Toepassen - + default standaard Confirm options reset - + Bevestig reset opties Some settings may require a client restart to take effect. - + Sommige instellingen vereisen het herstarten van de client voordat ze in werking treden. Do you want to proceed? - + Wilt u doorgaan? @@ -1030,23 +1013,18 @@ Vorm - - + + 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. De weergegeven informatie kan verouderd zijn. Uw portemonnee synchroniseert automaticsh met het Bitcoinnetwerk nadat een verbinding is gelegd, maar dit proces is nog niet voltooid. - + Balance: Saldo: - - Number of transactions: - Aantal transacties: - - - + Unconfirmed: Onbevestigd: @@ -1056,14 +1034,14 @@ Portemonnee - + Immature: Immatuur: Mined balance that has not yet matured - Ontgonnen saldo dat nog niet tot wasdom is gekomen + Gedolven saldo dat nog niet tot wasdom is gekomen @@ -1071,7 +1049,7 @@ <b>Recente transacties</b> - + Your current balance Uw huidige saldo @@ -1081,18 +1059,21 @@ Totaal van de transacties die nog moeten worden bevestigd en nog niet zijn meegeteld in uw huidige saldo - - Total number of transactions in wallet - Totaal aantal transacties in uw portemonnee - - - + out of sync niet gesynchroniseerd + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Kan bitcoin niet starten: click-to-pay handler + + + QRCodeDialog @@ -1167,7 +1148,7 @@ - + N/A N.v.t. @@ -1209,7 +1190,7 @@ Block chain - Blokkenketen + Blokketen @@ -1431,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Vul een label in voor dit adres om het toe te voegen aan uw adresboek @@ -1523,7 +1504,7 @@ Signature - + Handtekening @@ -1665,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + De Bitcoin-ontwikkelaars + + + + [testnet] + [testnetwerk] + + + TransactionDesc - + Open until %1 Openen totdat %1 @@ -1790,7 +1784,7 @@ Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - Gegeneerde munten moeten 120 blokken wachten voordat ze tot wasdom komen en kunnen worden uitgegeven. Uw net gegenereerde blok is uitgezonden aan het netwerk om te worden toegevoegd aan de blokkenketen. Als het niet wordt geaccepteerd in de keten, zal het blok als "niet geaccepteerd" worden aangemerkt en kan het niet worden uitgegeven. Dit kan soms gebeuren als een andere node net iets sneller een blok heeft gegenereerd; een paar seconden voor het uwe. + Gegeneerde munten moeten 120 blokken wachten voordat ze tot wasdom komen en kunnen worden uitgegeven. Uw net gegenereerde blok is uitgezonden aan het netwerk om te worden toegevoegd aan de blokketen. Als het niet wordt geaccepteerd in de keten, zal het blok als "niet geaccepteerd" worden aangemerkt en kan het niet worden uitgegeven. Dit kan soms gebeuren als een andere node net iets sneller een blok heeft gegenereerd; een paar seconden voor het uwe. @@ -1830,7 +1824,7 @@ Open for %n more block(s) - + Open voor nog %n blokOpen voor nog %n blokken @@ -1854,7 +1848,7 @@ TransactionTableModel - + Date Datum @@ -1876,7 +1870,7 @@ Open for %n more block(s) - + Open voor nog %n blokOpen voor nog %n blokken @@ -1901,7 +1895,7 @@ Mined balance will be available when it matures in %n more block(s) - Ontgonnen saldo zal beschikbaar komen als het tot wasdom komt na %n blokOntgonnen saldo zal beschikbaar komen als het tot wasdom komt na %n blokken + Gedolven saldo zal beschikbaar komen als het tot wasdom komt na %n blokGedolven saldo zal beschikbaar komen als het tot wasdom komt na %n blokken @@ -1936,7 +1930,7 @@ Mined - Ontgonnen + Gedolven @@ -1961,7 +1955,7 @@ Destination address of transaction. - Ontvangend adres van transactie + Ontvangend adres van transactie. @@ -1972,7 +1966,7 @@ TransactionView - + All Alles @@ -2025,7 +2019,7 @@ Mined - Ontgonnen + Gedolven @@ -2059,6 +2053,11 @@ + Copy transaction ID + Kopieer transactie-ID + + + Edit label Bewerk label @@ -2068,7 +2067,7 @@ Toon transactiedetails - + Export Transaction Data Exporteer transactiegegevens @@ -2123,7 +2122,7 @@ Kon niet schrijven naar bestand %1. - + Range: Bereik: @@ -2134,160 +2133,195 @@ + WalletModel + + + Send Coins + Verstuur munten + + + + WalletView + + + &Export + &Exporteer + + + + Export the data in the current tab to a file + Exporteer de data in de huidige tab naar een bestand + + + + Backup Wallet + Portomonnee backuppen + + + + Wallet Data (*.dat) + Portemonnee-data (*.dat) + + + + Backup Failed + Backup Mislukt + + + + There was an error trying to save the wallet data to the new location. + Er is een fout opgetreden bij het wegschrijven van de portemonnee-data naar de nieuwe locatie. + + + + Backup Successful + Backup Succesvol + + + + The wallet data was successfully saved to the new location. + De portemonneedata is succesvol opgeslagen op de nieuwe locatie. + + + bitcoin-core - + Bitcoin version Bitcoinversie - + Usage: Gebruik: - + Send command to -server or bitcoind - Stuur commando naar -server of bitcoind - + Stuur commando naar -server of bitcoind - + List commands - List van commando's - + Lijst van commando's - + Get help for a command - Toon hulp voor een commando - + Toon hulp voor een commando - + Options: - Opties: - + Opties: - + Specify configuration file (default: bitcoin.conf) - Specifieer configuratiebestand (standaard: bitcoin.conf) + Specificeer configuratiebestand (standaard: bitcoin.conf) Specify pid file (default: bitcoind.pid) - Specifieer pid-bestand (standaard: bitcoind.pid) - - - - - Generate coins - Genereer munten - - - - - Don't generate coins - Genereer geen munten + Specificeer pid-bestand (standaard: bitcoind.pid) - + Specify data directory - Stel datamap in - + Stel datamap in - + Set database cache size in megabytes (default: 25) Stel databankcachegrootte in in megabytes (standaard: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Luister voor verbindingen op <poort> (standaard: 8333 of testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Onderhoud maximaal <n> verbindingen naar peers (standaard: 125) - + Connect to a node to retrieve peer addresses, and disconnect Verbind naar een node om adressen van anderen op te halen, en verbreek vervolgens de verbinding - + Specify your own public address Specificeer uw eigen publieke adres - + Threshold for disconnecting misbehaving peers (default: 100) Drempel om verbinding te verbreken naar zich misdragende peers (standaard: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Aantal seconden dat zich misdragende peers niet opnieuw mogen verbinden (standaard: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Er is een fout opgetreden tijdens het instellen van de inkomende RPC-poort %u op IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Wacht op JSON-RPC-connecties op poort <port> (standaard: 8332 of testnet: 18332) - + Accept command line and JSON-RPC commands - Aanvaard commandoregel en JSON-RPC commando's - + Aanvaard commandoregel- en JSON-RPC-commando's - + Run in the background as a daemon and accept commands - Draai in de achtergrond als daemon en aanvaard commando's - + Draai in de achtergrond als daemon en aanvaard commando's - + Use the test network - Gebruik het testnetwerk - + Gebruik het testnetwerk - + Accept connections from outside (default: 1 if no -proxy or -connect) Accepteer verbindingen van buitenaf (standaard: 1 als geen -proxy of -connect is opgegeven) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - %s, u moet een rpcpassword instellen in het configuratiebestand: %s -Het wordt aangeraden het volgende willekeurige wachtwoord te gebruiken: + %s, u moet een RPC-wachtwoord instellen in het configuratiebestand: %s +U wordt aangeraden het volgende willekeurige wachtwoord te gebruiken: rpcuser=bitcoinrpc rpcpassword=%s -(U hoeft het wachtwoord niet te onthouden) -De gebruikersnaam en het wachtwoord mogen NIET OVEREENKOMEN. -Als het bestand niet bestaat, maak het aan met een alleen-lezen-permissie. +(u hoeft dit wachtwoord niet te onthouden) +De gebruikersnaam en wachtwoord mogen niet hetzelfde zijn. +Als het bestand niet bestaat, make hem dan aan met leesrechten voor enkel de eigenaar. +Het is ook aan te bevelen "alertnotify" in te stellen zodat u op de hoogte gesteld wordt van problemen; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Er is een fout opgetreden tijdens het instellen van de inkomende RPC-poort %u op IPv6, terugval naar IPv4: %s @@ -2303,16 +2337,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Fout bij het initialiseren van database-omgeving %s! Om te herstellen, MAAK EEN BACKUP VAN DIE MAP, verwijder vervolgens alle bestanden in de map behalve wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Fout: De transactie was afgewezen! Dit kan gebeuren als sommige munten in uw portemonnee al eerder uitgegeven zijn, zoals wanneer u een kopie van uw wallet.dat heeft gebruikt en in de kopie deze munten zijn uitgegeven, maar in deze portemonnee die munten nog niet als zodanig zijn gemarkeerd. @@ -2322,14 +2346,24 @@ Fout: Deze transactie vereist transactiekosten van tenminste %s, vanwege zijn grootte, complexiteit, of het gebruik van onlangs ontvangen munten! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Voer opdracht uit zodra een relevante melding ontvangen is (%s wordt in cmd vervangen door het bericht) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Voer opdracht uit zodra een portemonneetransactie verandert (%s in cmd wordt vervangen door TxID) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Stel maximumgrootte in in bytes voor hoge-prioriteits-/lage-transactiekosten-transacties (standaard: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - Dit is een pre-release testversie - gebruik op eigen risico! Gebruik deze niet voor het ontginnen van munten of handelsapplicaties + Dit is een pre-release testversie - gebruik op eigen risico! Gebruik deze niet voor het delven van munten of handelsdoeleinden @@ -2367,62 +2401,172 @@ Blokcreatie-opties: - + Connect only to the specified node(s) Verbind alleen naar de gespecificeerde node(s) + Corrupted block database detected + Corrupte blokkendatabase gedetecteerd + + + Discover own IP address (default: 1 when listening and no -externalip) Ontdek eigen IP-adres (standaard: 1 als er wordt geluisterd en geen -externalip is opgegeven) - + + Do you want to rebuild the block database now? + Wilt u de blokkendatabase nu herbouwen? + + + + Error initializing block database + Fout bij intialisatie blokkendatabase + + + + Error initializing wallet database environment %s! + Probleem met initializeren van de database-omgeving %s! + + + Error loading block database - + Fout bij het laden van blokkendatabase - + + Error opening block database + Fout bij openen blokkendatabase + + + Error: Disk space is low! Fout: Weinig vrije diskruimte! - Error: Transaction creation failed! - Fout: Aanmaak transactie mislukt! + Error: Wallet locked, unable to create transaction! + Fout: Portemonnee vergrendeld, aanmaak transactie niet mogelijk! - Error: Wallet locked, unable to create transaction! - Fout: Portemonnee vergrendeld, aanmaak transactie niet mogelijk! + Error: system error: + Fout: Systeemfout: - + Failed to listen on any port. Use -listen=0 if you want this. Mislukt om op welke poort dan ook te luisteren. Gebruik -listen=0 as u dit wilt. + + Failed to read block info + Lezen van blokinformatie mislukt + + + + Failed to read block + Lezen van blok mislukt + + + + Failed to sync block index + Synchroniseren van blokindex mislukt + + + + Failed to write block index + Schrijven van blokindex mislukt + + + + Failed to write block info + Schrijven van blokinformatie mislukt + + + + Failed to write block + Schrijven van blok mislukt + + + + Failed to write file info + Schrijven van bestandsinformatie mislukt + + + + Failed to write to coin database + Schrijven naar coindatabase mislukt + + + + Failed to write transaction index + Schrijven van transactieindex mislukt + + + + Failed to write undo data + Schrijven van undo-data mislukt + + Find peers using DNS lookup (default: 1 unless -connect) Vind andere nodes d.m.v. DNS-naslag (standaard: 1 tenzij -connect) - - How thorough the block verification is (0-4, default: 3) - + + Generate coins (default: 0) + Genereer munten (standaard: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Aantal te checken blokken bij het opstarten (standaard: 288, 0 = allemaal) - Importing blocks from block database... - Bezig met importeren van blokken uit blokkendatabase... + How thorough the block verification is (0-4, default: 3) + Hoe grondig de blokverificatie is (0-4, standaard: 3) + + + + Not enough file descriptors available. + Niet genoeg file descriptors beschikbaar. + + + + Rebuild block chain index from current blk000??.dat files + Blokketen opnieuw opbouwen van huidige blk000??.dat-bestanden + + + + Set the number of threads to service RPC calls (default: 4) + Stel het aantal threads in om RPC-aanvragen mee te bedienen (standaard: 4) + + + + Verifying blocks... + Blokken aan het controleren... + Verifying wallet... + Portomonnee aan het controleren... + + + Imports blocks from external blk000??.dat file Importeert blokken van extern blk000??.dat bestand - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Stel het aantal threads voor scriptverificatie in (max 16, 0 = auto, <0 = laat zoveel cores vrij, standaard: 0) + + + Information Informatie @@ -2432,7 +2576,22 @@ Ongeldig -tor adres: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Ongeldig bedrag voor -minrelaytxfee=<bedrag>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Ongeldig bedrag voor -mintxfee=<bedrag>: '%s' + + + + Maintain a full transaction index (default: 0) + Onderhoud een volledige transactieindex (standaard: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Maximum per-connectie ontvangstbuffer, <n>*1000 bytes (standaard: 5000) @@ -2442,9 +2601,9 @@ Maximum per-connectie zendbuffer, <n>*1000 bytes (standaard: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) - Accepteer alleen blokkenketen die overeenkomt met de ingebouwde checkpoints (standaard: 1) + Accepteer alleen blokketen die overeenkomt met de ingebouwde checkpoints (standaard: 1) @@ -2467,12 +2626,7 @@ Voorzie de debuggingsuitvoer van een tijdsaanduiding - - Rebuild blockchain index from current blk000??.dat files - Herbouw blokkenketenindex uit huidige blk000??.dat bestanden - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL-opties: (zie de Bitcoin wiki voor SSL-instructies) @@ -2502,17 +2656,42 @@ Stel minimum blokgrootte in in bytes (standaard: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Verklein debug.log-bestand bij het opstarten van de client (standaard: 1 als geen -debug) + + Signing transaction failed + Ondertekenen van transactie mislukt + + Specify connection timeout in milliseconds (default: 5000) - Specificeer de time-out tijd in milliseconden (standaard: 5000) + Specificeer de time-outtijd in milliseconden (standaard: 5000) - + + System error: + Systeemfout: + + + + Transaction amount too small + Transactiebedrag te klein + + + + Transaction amounts must be positive + Transactiebedragen moeten positief zijn + + + + Transaction too large + Transactie te groot + + + Use UPnP to map the listening port (default: 0) Gebruik UPnP om de luisterende poort te mappen (standaard: 0) @@ -2529,8 +2708,7 @@ Username for JSON-RPC connections - Gebruikersnaam voor JSON-RPC verbindingen - + Gebruikersnaam voor JSON-RPC-verbindingen @@ -2544,104 +2722,96 @@ + You need to rebuild the databases using -reindex to change -txindex + U moet de databases herbouwen met behulp van -reindex om -txindex te kunnen veranderen + + + wallet.dat corrupt, salvage failed wallet.dat corrupt, veiligstellen mislukt - + Password for JSON-RPC connections - Wachtwoord voor JSON-RPC verbindingen - + Wachtwoord voor JSON-RPC-verbindingen - + Allow JSON-RPC connections from specified IP address - Sta JSON-RPC verbindingen van opgegeven IP adres toe - + Sta JSON-RPC verbindingen van opgegeven IP-adres toe - + Send commands to node running on <ip> (default: 127.0.0.1) - Verstuur commando's naar proces dat op <ip> draait (standaard: 127.0.0.1) - + Verstuur commando's naar proces dat op <ip> draait (standaard: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Voer commando uit zodra het beste blok verandert (%s in cmd wordt vervangen door blockhash) - + Upgrade wallet to latest format Vernieuw portemonnee naar nieuwste versie - + Set key pool size to <n> (default: 100) - Stel sleutelpoelgrootte in op <n> (standaard: 100) - + Stel sleutelpoelgrootte in op <n> (standaard: 100) Rescan the block chain for missing wallet transactions - Doorzoek de blokkenketen op ontbrekende portemonnee-transacties - - - - How many blocks to check at startup (default: 2500, 0 = all) - Het aantal blokken na te kijken bij opstarten (standaard: 2500, 0=alle) + Doorzoek de blokketen op ontbrekende portemonnee-transacties - + Use OpenSSL (https) for JSON-RPC connections - Gebruik OpenSSL (https) voor JSON-RPC verbindingen - + Gebruik OpenSSL (https) voor JSON-RPC-verbindingen - + Server certificate file (default: server.cert) - Certificaat-bestand voor server (standaard: server.cert) - + Certificaat-bestand voor server (standaard: server.cert) Server private key (default: server.pem) - Geheime sleutel voor server (standaard: server.pem) - + Geheime sleutel voor server (standaard: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Aanvaardbare ciphers (standaard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - Dit helpbericht - + Dit helpbericht - + Unable to bind to %s on this computer (bind returned error %d, %s) Niet in staat om aan %s te binden op deze computer (bind gaf error %d, %s) - + Connect through socks proxy Verbind via een socks-proxy - + Allow DNS lookups for -addnode, -seednode and -connect Sta DNS-naslag toe voor -addnode, -seednode en -connect - + Loading addresses... Adressen aan het laden... - + Error loading wallet.dat: Wallet corrupted Fout bij laden wallet.dat: Portemonnee corrupt @@ -2651,32 +2821,22 @@ Fout bij laden wallet.dat: Portemonnee vereist een nieuwere versie van Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Portemonnee moest herschreven worden: Herstart Bitcoin om te voltooien - + Error loading wallet.dat Fout bij laden wallet.dat - + Invalid -proxy address: '%s' Ongeldig -proxy adres: '%s' - + Unknown network specified in -onlynet: '%s' Onbekend netwerk gespecificeerd in -onlynet: '%s' @@ -2686,7 +2846,7 @@ Onbekende -socks proxyversie aangegeven: %i - + Cannot resolve -bind address: '%s' Kan -bind adres niet herleiden: '%s' @@ -2696,34 +2856,29 @@ Kan -externlip adres niet herleiden: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Ongeldig bedrag voor -paytxfee=<bedrag>: '%s' - - Error: could not start node - Fout: Kon node niet starten - - - + Invalid amount - Ongeldig aantal + Ongeldig bedrag - + Insufficient funds Ontoereikend saldo - + Loading block index... Blokindex aan het laden... - + Add a node to connect to and attempt to keep the connection open - Voeg een knooppunt om te verbinden toe en probeer de verbinding open te houden + Voeg een node om naar te verbinden toe en probeer de verbinding open te houden @@ -2731,12 +2886,7 @@ Niet in staat om aan %s te binden op deze computer. Bitcoin draait vermoedelijk reeds. - - Find peers using internet relay chat (default: 0) - Vind anderen door middel van Internet Relay Chat (standaard: 0) - - - + Fee per KB to add to transactions you send Kosten per KB om aan transacties toe te voegen die u verstuurt @@ -2746,42 +2896,37 @@ Portemonnee aan het laden... - + Cannot downgrade wallet Kan portemonnee niet downgraden - - Cannot initialize keypool - Kan sleutel-pool niet initialiseren - - Cannot write default address - Kan standaard adres niet schrijven + Kan standaardadres niet schrijven - + Rescanning... - Opnieuw aan het scannen ... + Blokketen aan het doorzoeken... - + Done loading Klaar met laden - + To use the %s option Om de %s optie te gebruiken - + Error Fout - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_pl.ts bitcoin-0.8.5/src/qt/locale/bitcoin_pl.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_pl.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_pl.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ Wersja <b>Bitcoin</b> - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 The Bitcoin developers - - - + This is experimental software. @@ -32,6 +27,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + Prawo autorskie + + + + The Bitcoin developers + Deweloperzy Bitcoin + AddressBookPage @@ -41,7 +46,7 @@ Książka Adresowa - + Double-click to edit address or label Kliknij dwukrotnie, aby edytować adres lub etykietę @@ -61,12 +66,12 @@ &Nowy Adres - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Tutaj znajdują się twoje adresy Bitcoin do odbioru płatności. Możesz nadać oddzielne adresy dla każdego z wysyłających monety, żeby śledzić oddzielnie ich opłaty. - + &Copy Address &Kopiuj adres @@ -88,10 +93,20 @@ Delete the currently selected address from the list - + Usuń zaznaczony adres z listy - + + Export the data in the current tab to a file + Eksportuj dane z aktywnej karty do pliku + + + + &Export + &Eksportuj + + + Verify a message to ensure it was signed with a specified Bitcoin address Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem Bitcoin. @@ -106,17 +121,27 @@ &Usuń - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Tutaj znajdują się Twoje adresy Bitcoin do wysyłania płatności. Zawsze sprawdzaj ilość i adres odbiorcy przed wysyłką monet. + + + Copy &Label Kopiuj &Etykietę - + &Edit &Edytuj - + + Send &Coins + Wyślij monety + + + Export Address Book Data Eksportuj książkę adresową @@ -139,7 +164,7 @@ AddressTableModel - + Label Etykieta @@ -234,7 +259,7 @@ 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. - + WAŻNE: Wszystkie wykonane wcześniej kopie pliku portfela powinny być zamienione na nowe, szyfrowane pliki. Z powodów bezpieczeństwa, poprzednie kopie nieszyfrowanych plików portfela staną się bezużyteczne jak tylko zaczniesz korzystać z nowego, szyfrowanego portfela. @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Podpisz wiado&mość... - + Synchronizing with network... Synchronizacja z siecią... - + &Overview P&odsumowanie @@ -328,32 +353,17 @@ Przeglądaj historię transakcji - - &Address Book - Książka &adresowa - - - + Edit the list of stored addresses and labels Edytuj listę zapisanych adresów i i etykiet - - &Receive coins - Odbie&rz monety - - - + Show the list of addresses for receiving payments Pokaż listę adresów do otrzymywania płatności - - &Send coins - Wy&syłka monet - - - + E&xit &Zakończ @@ -383,7 +393,7 @@ &Opcje... - + &Encrypt Wallet... Zaszyfruj Portf&el @@ -398,27 +408,17 @@ &Zmień hasło... - + Importing blocks from disk... - + Importowanie bloków z dysku... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - pozostał ~%n blokpozostało ~%n blokipozostało ~%n bloków - - - - &Export... - &Eksportuj... + Ponowne indeksowanie bloków na dysku... - + Send coins to a Bitcoin address Wyślij monety na adres Bitcoin @@ -428,12 +428,7 @@ Zmienia opcje konfiguracji bitcoina - - Export the data in the current tab to a file - Eksportuj dane z aktywnej karty do pliku - - - + Backup wallet to another location Zapasowy portfel w innej lokalizacji @@ -443,7 +438,7 @@ Zmień hasło użyte do szyfrowania portfela - + &Debug window &Okno debudowania @@ -453,23 +448,38 @@ Otwórz konsolę debugowania i diagnostyki - + &Verify message... &Zweryfikuj wiadomość... - - + + Bitcoin Bitcoin - + Wallet Portfel - + + &Send + Wyślij + + + + &Receive + Odbie&rz + + + + &Addresses + &Adresy + + + &About Bitcoin O Bitcoin @@ -484,27 +494,27 @@ Pokazuje lub ukrywa główne okno - + Encrypt the private keys that belong to your wallet Szyfruj klucze prywatne, które są powiązane z twoim portfelem Sign messages with your Bitcoin addresses to prove you own them - + Podpisz wiadomości swoim adresem aby udowodnić jego posiadanie Verify messages to ensure they were signed with specified Bitcoin addresses - + Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem Bitcoin. - + &File &Plik - + &Settings P&referencje @@ -519,38 +529,68 @@ Pasek zakładek - - Actions toolbar - Pasek akcji - - - + [testnet] [testnet] - + Bitcoin client Bitcoin klient - + %n active connection(s) to Bitcoin network %n aktywne połączenie do sieci Bitcoin%n aktywne połączenia do sieci Bitcoin%n aktywnych połączeń do sieci Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Przetworzono (w przybliżeniu) %1 z %2 bloków historii transakcji. + + + Processed %1 blocks of transaction history. + Pobrano %1 bloków z historią transakcji. + + + + %n hour(s) + %n godzina%n godzin%n godzin + + + + %n day(s) + %n dzień%n dni%n dni + + + + %n week(s) + %n tydzień%n tygodni%n tygodni + + + + %1 behind - + + Last received block was generated %1 ago. + Ostatni otrzymany blok został wygenerowany %1 temu. + + + + Transactions after this will not yet be visible. + + + + Error Błąd @@ -565,62 +605,27 @@ Informacja - + 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? - + Transakcja przekracza limit. Możesz wysłać ją płacąc prowizję %1, która zostaje przekazana do węzłów, które ją prześlą i pomoże wspierać sieć Bitcoin. Czy chcesz zapłacić prowizję? - - Backup Successful - - - - - The wallet data was successfully saved to the new location. - Dane portfela zostały poprawnie zapisane w nowym miejscu. - - - - %n second(s) ago - %n sekundę temu%n sekundy temu%n sekund temu - - - - %n minute(s) ago - %n minutę temu%n minuty temu%n minut temu - - - - %n hour(s) ago - %n godzinę temu%n godziny temu%n godzin temu - - - - %n day(s) ago - %n dzień temu%n dni temu%n dni temu - - - + Up to date Aktualny - + Catching up... Łapanie bloków... - - Last received block was generated %1. - Ostatnio otrzymany blok został wygenerowany %1. - - - + Confirm transaction fee Potwierdź prowizję transakcyjną - + Sent transaction Transakcja wysłana @@ -643,14 +648,14 @@ - - + + URI handling Obsługa URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI nie może zostać przetworzony! Prawdopodobnie błędny adres Bitcoin bądź nieprawidłowe parametry URI. @@ -665,27 +670,7 @@ Portfel jest <b>zaszyfrowany</b> i obecnie <b>zablokowany</b> - - Backup Wallet - Kopia Zapasowa Portfela - - - - Wallet Data (*.dat) - Dane Portfela (*.dat) - - - - Backup Failed - Kopia Zapasowa Nie Została Wykonana - - - - There was an error trying to save the wallet data to the new location. - Wystąpił błąd podczas próby zapisu portfela do nowej lokalizacji. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Błąd krytyczny. Bitcoin nie może kontynuować bezpiecznie więc zostanie zamknięty. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Sieć Alert @@ -726,7 +711,7 @@ Ten adres jest skojarzony z wpisem w książce adresowej. Może być zmodyfikowany jedynie dla adresów wysyłających. - + New receiving address Nowy adres odbiorczy @@ -746,17 +731,17 @@ Edytuj adres wysyłania - + The entered address "%1" is already in the address book. Wprowadzony adres "%1" już istnieje w książce adresowej. - + The entered address "%1" is not a valid Bitcoin address. Wprowadzony adres "%1" nie jest poprawnym adresem Bitcoin. - + Could not unlock wallet. Nie można było odblokować portfela. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -824,13 +809,13 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Opcjonalna prowizja za transakcje za kB, wspomaga ona szybkość przebiegu transakcji. Większość transakcji jest 1 kB. Zalecana prowizja 0.01 . + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Pay transaction &fee - Płać prowizję za t&ransakcje + Płać prowizję za transakcje @@ -845,12 +830,12 @@ Reset all client options to default. - + Przywróć domyślne wszystkie ustawienia klienta. &Reset Options - + Z&resetuj Ustawienia @@ -983,24 +968,24 @@ Z&astosuj - + default domyślny Confirm options reset - + Potwierdź reset ustawień Some settings may require a client restart to take effect. - + Niektóre ustawienia mogą wymagać ponownego uruchomienia klienta, żeby zacząć działać. Do you want to proceed? - + Czy chcesz kontynuować? @@ -1028,23 +1013,18 @@ Formularz - - + + 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. Wyświetlana informacja może być nieaktualna. Twój portfel synchronizuje się automatycznie z siecią bitcoin, zaraz po tym jak uzyskano połączenie, ale proces ten nie został jeszcze ukończony. - + Balance: Saldo: - - Number of transactions: - Liczba transakcji: - - - + Unconfirmed: Niepotwierdzony: @@ -1054,7 +1034,7 @@ Portfel - + Immature: Niedojrzały: @@ -1069,7 +1049,7 @@ <b>Ostatnie transakcje</b> - + Your current balance Twoje obecne saldo @@ -1079,18 +1059,21 @@ Suma transakcji, które nie zostały jeszcze potwierdzone, i które nie zostały wliczone do twojego obecnego salda - - Total number of transactions in wallet - Całkowita liczba transakcji w portfelu - - - + out of sync desynchronizacja + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1165,7 +1148,7 @@ - + N/A NIEDOSTĘPNE @@ -1262,7 +1245,7 @@ Bitcoin Core - + Rdzeń BitCoin @@ -1420,7 +1403,7 @@ Pay &To: - Płać &Do: + Zapłać dla: @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Wprowadź etykietę dla tego adresu by dodać go do książki adresowej @@ -1474,7 +1457,7 @@ Signatures - Sign / Verify a Message - + Podpisy - Podpisz / zweryfikuj wiadomość @@ -1521,7 +1504,7 @@ Signature - + Podpis @@ -1536,7 +1519,7 @@ Sign &Message - + Podpisz Wiado&mość @@ -1572,12 +1555,12 @@ Verify &Message - + Zweryfikuj Wiado&mość Reset all verify message fields - + Resetuje wszystkie pola weryfikacji wiadomości @@ -1613,7 +1596,7 @@ The entered address does not refer to a key. - + Wprowadzony adres nie odnosi się do klucza. @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + Deweloperzy Bitcoin + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Otwórz do %1 @@ -1828,7 +1824,7 @@ Open for %n more block(s) - + Otwórz dla %n blokuOtwórz dla %n następnych blokówOtwórz dla %n następnych bloków @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date Data @@ -1874,7 +1870,7 @@ Open for %n more block(s) - + Otwórz dla %n następnych bloków @@ -1970,7 +1966,7 @@ TransactionView - + All Wszystko @@ -2057,6 +2053,11 @@ + Copy transaction ID + Skopiuj ID transakcji + + + Edit label Edytuj etykietę @@ -2066,7 +2067,7 @@ Pokaż szczegóły transakcji - + Export Transaction Data Eksportuj Dane Transakcyjne @@ -2121,7 +2122,7 @@ Błąd zapisu do pliku %1. - + Range: Zakres: @@ -2132,39 +2133,90 @@ + WalletModel + + + Send Coins + Wyślij płatność + + + + WalletView + + + &Export + &Eksportuj + + + + Export the data in the current tab to a file + Eksportuj dane z aktywnej karty do pliku + + + + Backup Wallet + Kopia Zapasowa Portfela + + + + Wallet Data (*.dat) + Dane Portfela (*.dat) + + + + Backup Failed + Nie udało się wykonać kopii zapasowej + + + + There was an error trying to save the wallet data to the new location. + Wystąpił błąd przy zapisywaniu portfela do nowej lokalizacji. + + + + Backup Successful + Wykonano Kopię Zapasową + + + + The wallet data was successfully saved to the new location. + Dane portfela zostały poprawnie zapisane w nowym miejscu. + + + bitcoin-core - + Bitcoin version Wersja Bitcoin - + Usage: Użycie: - + Send command to -server or bitcoind Wyślij polecenie do -server lub bitcoind - + List commands Lista poleceń - + Get help for a command Uzyskaj pomoc do polecenia - + Options: Opcje: - + Specify configuration file (default: bitcoin.conf) Wskaż plik konfiguracyjny (domyślnie: bitcoin.conf) @@ -2174,140 +2226,141 @@ Wskaż plik pid (domyślnie: bitcoin.pid) - - Generate coins - Generuj monety - - - - Don't generate coins - Nie generuj monet - - - + Specify data directory Wskaż folder danych - + Set database cache size in megabytes (default: 25) Ustaw rozmiar w megabajtach cache-u bazy danych (domyślnie: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Nasłuchuj połączeń na <port> (domyślnie: 8333 lub testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Utrzymuj maksymalnie <n> połączeń z peerami (domyślnie: 125) - + Connect to a node to retrieve peer addresses, and disconnect Podłącz się do węzła aby otrzymać adresy peerów i rozłącz - + Specify your own public address Podaj swój publiczny adres - + Threshold for disconnecting misbehaving peers (default: 100) Próg po którym nastąpi rozłączenie nietrzymających się zasad peerów (domyślnie: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Czas w sekundach, przez jaki nietrzymający się zasad peerzy nie będą mogli ponownie się podłączyć (domyślnie: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Wystąpił błąd podczas ustawiania portu RPC %u w tryb nasłuchu: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Nasłuchuj połączeń JSON-RPC na <port> (domyślnie: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Akceptuj linię poleceń oraz polecenia JSON-RPC - + Run in the background as a daemon and accept commands Uruchom w tle jako daemon i przyjmuj polecenia - + Use the test network Użyj sieci testowej - + Accept connections from outside (default: 1 if no -proxy or -connect) Akceptuj połączenia z zewnątrz (domyślnie: 1 jeśli nie ustawiono -proxy lub -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + %s, musisz ustawić rpcpassword w pliku konfiguracyjnym:⏎ +%s⏎ +Zalecane jest użycie losowego hasła:⏎ +rpcuser=bitcoinrpc⏎ +rpcpassword=%s⏎ +(nie musisz pamiętać tego hasła)⏎ +Użytkownik i hasło nie mogą być takie same.⏎ +Jeśli plik nie istnieje, utwórz go z uprawnieniami tylko-do-odczytu dla właściciela.⏎ +Zalecane jest ustawienie alertnotify aby poinformować o problemach:⏎ +na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + Wystąpił błąd podczas ustawiania portu RPC %u w tryb nasłuchu dla IPv6, korzystam z IPv4: %s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Skojarz z podanym adresem. Użyj formatu [host]:port dla IPv6 Cannot obtain a lock on data directory %s. Bitcoin is probably already running. - + Nie można zablokować folderu danych %s. Bitcoin prawdopodobnie już działa. - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Uruchom polecenie przy otrzymaniu odpowiedniego powiadomienia (%s w poleceniu jest podstawiane za komunikat) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Wykonaj polecenie, kiedy transakcja portfela ulegnie zmianie (%s w poleceniu zostanie zastąpione przez TxID) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Ustaw maksymalny rozmiar transakcji o wysokim priorytecie/niskiej prowizji w bajtach (domyślnie: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2329,17 +2382,17 @@ Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Ostrzeżenie: błąd odczytu wallet.dat! Wszystkie klucze zostały odczytane, ale może brakować pewnych danych transakcji lub wpisów w książce adresowej lub mogą one być nieprawidłowe. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Ostrzeżenie: Odtworzono dane z uszkodzonego pliku wallet.dat! Oryginalny wallet.dat został zapisany jako wallet.{timestamp}.bak w %s; jeśli twoje saldo lub transakcje są niepoprawne powinieneś odtworzyć kopię zapasową. Attempt to recover private keys from a corrupt wallet.dat - + Próbuj odzyskać klucze prywatne z uszkodzonego wallet.dat @@ -2347,62 +2400,172 @@ Opcje tworzenia bloku: - + Connect only to the specified node(s) Łącz tylko do wskazanego węzła + Corrupted block database detected + Wykryto uszkodzoną bazę bloków + + + Discover own IP address (default: 1 when listening and no -externalip) Odkryj własny adres IP (domyślnie: 1 kiedy w trybie nasłuchu i brak -externalip ) - + + Do you want to rebuild the block database now? + Czy chcesz teraz przebudować bazę bloków? + + + + Error initializing block database + Błąd inicjowania bloku bazy danych + + + + Error initializing wallet database environment %s! + Błąd inicjowania środowiska bazy portfela %s! + + + Error loading block database - + Błąd ładowania bazy bloków - + + Error opening block database + Błąd ładowania bazy bloków + + + Error: Disk space is low! Błąd: Mało miejsca na dysku! - Error: Transaction creation failed! - + Error: Wallet locked, unable to create transaction! + Błąd: Zablokowany portfel, nie można utworzyć transakcji! - Error: Wallet locked, unable to create transaction! - + Error: system error: + Błąd: błąd systemu: - + Failed to listen on any port. Use -listen=0 if you want this. Próba otwarcia jakiegokolwiek portu nie powiodła się. Użyj -listen=0 jeśli tego chcesz. + + Failed to read block info + Nie udało się odczytać informacji bloku + + + + Failed to read block + Nie udało się odczytać bloku. + + + + Failed to sync block index + Nie udało się zsynchronizować indeksu bloków. + + + + Failed to write block index + Nie udało się zapisać indeksu bloków. + + + + Failed to write block info + Nie udało się zapisać informacji bloku + + + + Failed to write block + Nie udało się zapisać bloku + + + + Failed to write file info + + + + + Failed to write to coin database + Nie udało się zapisać do bazy monet + + + + Failed to write transaction index + Nie udało się zapisać indeksu transakcji + + + + Failed to write undo data + Nie udało się zapisać danych odtwarzających + + Find peers using DNS lookup (default: 1 unless -connect) - + Wyszukaj połączenia wykorzystując zapytanie DNS (domyślnie 1 jeśli nie użyto -connect) - - How thorough the block verification is (0-4, default: 3) - + + Generate coins (default: 0) + Generuj monety (domyślnie: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Ile bloków sprawdzić przy starcie (domyślnie: 288, 0 = wszystkie) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + Jak dokładna jest weryfikacja bloku (0-4, domyślnie: 3) + + + + Not enough file descriptors available. + + Rebuild block chain index from current blk000??.dat files + Odbuduj indeks łańcucha bloków z obecnych plików blk000??.dat + + + + Set the number of threads to service RPC calls (default: 4) + Ustaw liczbę wątków do odwołań RPC (domyślnie: 4) + + + + Verifying blocks... + Weryfikacja bloków... + + + Verifying wallet... + Weryfikacja portfela... + + + Imports blocks from external blk000??.dat file - + Importuj bloki z zewnętrznego pliku blk000??.dat - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Ustaw liczbę wątków skryptu weryfikacji (do 16, 0 = auto, <0 = zostawia taką ilość rdzenie wolnych, domyślnie: 0) + + + Information Informacja @@ -2412,7 +2575,22 @@ Nieprawidłowy adres -tor: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + Utrzymuj pełen indeks transakcji (domyślnie: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Maksymalny bufor odbioru na połączenie, <n>*1000 bajtów (domyślnie: 5000) @@ -2422,9 +2600,9 @@ Maksymalny bufor wysyłu na połączenie, <n>*1000 bajtów (domyślnie: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) - + Akceptuj tylko łańcuch bloków zgodny z wbudowanymi punktami kontrolnymi (domyślnie: 1) @@ -2447,12 +2625,7 @@ Poprzedź informacje debugowania znacznikiem czasowym - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opcje SSL: (odwiedź Bitcoin Wiki w celu uzyskania instrukcji) @@ -2482,8 +2655,13 @@ Ustaw minimalny rozmiar bloku w bajtach (domyślnie: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) + Zmniejsz plik debug.log przy starcie programu (domyślnie: 1 jeśli nie użyto -debug) + + + + Signing transaction failed @@ -2492,7 +2670,27 @@ Wskaż czas oczekiwania bezczynności połączenia w milisekundach (domyślnie: 5000) - + + System error: + Błąd systemu: + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) Używaj UPnP do mapowania portu nasłuchu (domyślnie: 0) @@ -2523,36 +2721,41 @@ + You need to rebuild the databases using -reindex to change -txindex + Musisz przebudować bazę używając parametru -reindex aby zmienić -txindex + + + wallet.dat corrupt, salvage failed - + wallet.dat uszkodzony, odtworzenie się nie powiodło - + Password for JSON-RPC connections Hasło do połączeń JSON-RPC - + Allow JSON-RPC connections from specified IP address Przyjmuj połączenia JSON-RPC ze wskazanego adresu IP - + Send commands to node running on <ip> (default: 127.0.0.1) Wysyłaj polecenia do węzła działającego na <ip> (domyślnie: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Wykonaj polecenie kiedy najlepszy blok ulegnie zmianie (%s w komendzie zastanie zastąpione przez hash bloku) - + Upgrade wallet to latest format Zaktualizuj portfel do najnowszego formatu. - + Set key pool size to <n> (default: 100) Ustaw rozmiar puli kluczy na <n> (domyślnie: 100) @@ -2562,17 +2765,12 @@ Przeskanuj blok łańcuchów żeby znaleźć zaginione transakcje portfela - - How many blocks to check at startup (default: 2500, 0 = all) - Ile bloków sprawdzać przy uruchomieniu (domyślnie: 2500, 0 = wszystkie) - - - + Use OpenSSL (https) for JSON-RPC connections Użyj OpenSSL (https) do połączeń JSON-RPC - + Server certificate file (default: server.cert) Plik certyfikatu serwera (domyślnie: server.cert) @@ -2582,37 +2780,37 @@ Klucz prywatny serwera (domyślnie: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Aceptowalne szyfry (domyślnie: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Ta wiadomość pomocy - + Unable to bind to %s on this computer (bind returned error %d, %s) Nie można przywiązać %s na tym komputerze (bind returned error %d, %s) - + Connect through socks proxy Łączy przez proxy socks - + Allow DNS lookups for -addnode, -seednode and -connect Zezwól -addnode, -seednode i -connect na łączenie się z serwerem DNS - + Loading addresses... Wczytywanie adresów... - + Error loading wallet.dat: Wallet corrupted Błąd ładowania wallet.dat: Uszkodzony portfel @@ -2622,32 +2820,22 @@ Błąd ładowania wallet.dat: Portfel wymaga nowszej wersji Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Portfel wymaga przepisania: zrestartuj Bitcoina żeby ukończyć - + Error loading wallet.dat Błąd ładowania wallet.dat - + Invalid -proxy address: '%s' Nieprawidłowy adres -proxy: '%s' - + Unknown network specified in -onlynet: '%s' Nieznana sieć w -onlynet: '%s' @@ -2657,7 +2845,7 @@ Nieznana wersja proxy w -socks: %i - + Cannot resolve -bind address: '%s' Nie można uzyskać adresu -bind: '%s' @@ -2667,32 +2855,27 @@ Nie można uzyskać adresu -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Nieprawidłowa kwota dla -paytxfee=<amount>: '%s' - - Error: could not start node - Błąd: nie można utworzyć węzła - - - + Invalid amount Nieprawidłowa kwota - + Insufficient funds Niewystarczające środki - + Loading block index... Ładowanie indeksu bloku... - + Add a node to connect to and attempt to keep the connection open Dodaj węzeł do łączenia się and attempt to keep the connection open @@ -2702,12 +2885,7 @@ Nie można przywiązać %s na tym komputerze. Bitcoin prawdopodobnie już działa. - - Find peers using internet relay chat (default: 0) - Znajdź peery używające IRC (domyślnie: 0) - - - + Fee per KB to add to transactions you send @@ -2718,42 +2896,37 @@ Wczytywanie portfela... - + Cannot downgrade wallet Nie można dezaktualizować portfela - - Cannot initialize keypool - Inicjalizacja puli kluczy nieudana - - Cannot write default address Nie można zapisać domyślnego adresu - + Rescanning... Ponowne skanowanie... - + Done loading Wczytywanie zakończone - + To use the %s option Aby użyć opcji %s - + Error Błąd - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_pt_BR.ts bitcoin-0.8.5/src/qt/locale/bitcoin_pt_BR.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_pt_BR.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_pt_BR.ts 2013-09-12 03:35:18.000000000 +0000 @@ -10,22 +10,32 @@ <b>Bitcoin</b> version - <b>Bitcoin</b> versão + Versão do <b>Bitcoin</b> - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. - + ⏎ +Este é um software experimental.⏎ +⏎ +Distribuido sob a licença de software MIT/X11, veja o arquivo anexo COPYING ou http://www.opensource.org/licenses/mit-license.php.⏎ +⏎ +Este produto inclui software desenvolvido pelo Projeto OpenSSL para uso no OpenSSL Toolkit (http://www.openssl.org/), software de criptografia escrito por Eric Young (eay@cryptsoft.com) e sofware UPnP escrito por Thomas Bernard. + + + + Copyright + Copyright + + + + The Bitcoin developers + Desenvolvedores do Bitcoin @@ -36,7 +46,7 @@ Catálogo de endereços - + Double-click to edit address or label Clique duas vezes para editar o endereço ou o etiqueta @@ -56,14 +66,14 @@ &Novo endereço - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Estes são os seus endereços Bitcoin para receber pagamentos. Você pode querer enviar um endereço diferente para cada remetente, para acompanhar quem está pagando. - + &Copy Address - + &Copiar Endereço @@ -73,7 +83,7 @@ Sign a message to prove you own a Bitcoin address - + Assine uma mensagem para provar que você é dono de um endereço Bitcoin @@ -83,17 +93,27 @@ Delete the currently selected address from the list - + Excluir os endereços selecionados da lista - + + Export the data in the current tab to a file + Exportar os dados na aba atual para um arquivo + + + + &Export + &Exportar + + + Verify a message to ensure it was signed with a specified Bitcoin address - + Verificar mensagem para se assegurar que ela foi assinada pelo dono de um endereço Bitcoin específico. &Verify Message - + &Verificar Mensagem @@ -101,19 +121,29 @@ &Excluir - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Estes são os seus endereços Bitcoin para receber pagamentos. Você pode querer enviar um endereço diferente para cada remetente, para acompanhar quem está pagando. + + + Copy &Label - + Copiar &Etiqueta - + &Edit &Editar - + + Send &Coins + Enviar bit&coins + + + Export Address Book Data - Exportação de dados do Catálogo de Endereços + Exportar Catálogo de Endereços @@ -128,13 +158,13 @@ Could not write to file %1. - + Não foi possível gravar no arquivo %1. AddressTableModel - + Label Rótulo @@ -154,7 +184,7 @@ Passphrase Dialog - + Janela da Frase de Segurança @@ -229,13 +259,13 @@ 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. - + IMPORTANTE: Qualquer backup prévio que você tenha feito do seu arquivo wallet deve ser substituído pelo novo e encriptado arquivo wallet gerado. Por razões de segurança, qualquer backup do arquivo wallet não criptografado se tornará inútil assim que você começar a usar uma nova carteira criptografada. Warning: The Caps Lock key is on! - + Cuidado: A tecla Caps Lock está ligada! @@ -293,17 +323,17 @@ BitcoinGUI - + Sign &message... &Assinar Mensagem... - + Synchronizing with network... Sincronizando com a rede... - + &Overview &Visão geral @@ -323,34 +353,19 @@ Navegar pelo histórico de transações - - &Address Book - &Catálogo de endereços - - - + Edit the list of stored addresses and labels Editar a lista de endereços e rótulos - - &Receive coins - &Receber moedas - - - + Show the list of addresses for receiving payments Mostrar a lista de endereços para receber pagamentos - - &Send coins - &Enviar moedas - - - + E&xit - + S&air @@ -378,7 +393,7 @@ &Opções... - + &Encrypt Wallet... &Criptografar Carteira... @@ -393,27 +408,17 @@ &Mudar frase de segurança... - + Importing blocks from disk... - + Importando blocos do disco... Reindexing blocks on disk... - - - - - ~%n block(s) remaining - ~%n bloco restante~%n blocos restantes - - - - &Export... - &Exportar... + Reindexando blocos no disco... - + Send coins to a Bitcoin address Enviar moedas para um endereço bitcoin @@ -423,12 +428,7 @@ Modificar opções de configuração para bitcoin - - Export the data in the current tab to a file - Exportar os dados na aba atual para um arquivo - - - + Backup wallet to another location Fazer cópia de segurança da carteira para uma outra localização @@ -438,33 +438,48 @@ Mudar a frase de segurança utilizada na criptografia da carteira - + &Debug window - + Janela de &Depuração Open debugging and diagnostic console - + Abrir console de depuração e diagnóstico - + &Verify message... - + &Verificar mensagem... - - + + Bitcoin Bitcoin - + Wallet Carteira - + + &Send + &Enviar + + + + &Receive + &Receber + + + + &Addresses + &Endereços + + + &About Bitcoin &Sobre o Bitcoin @@ -476,30 +491,30 @@ Show or hide the main Window - + Mostrar ou esconder a Janela Principal. - + Encrypt the private keys that belong to your wallet - + Criptografar as chaves privadas que pertencem à sua carteira Sign messages with your Bitcoin addresses to prove you own them - + Assine mensagems com seus endereços Bitcoin para provar que você é dono deles Verify messages to ensure they were signed with specified Bitcoin addresses - + Verificar mensagens para se assegurar que elas foram assinadas pelo dono de Endereços Bitcoin específicos - + &File &Arquivo - + &Settings &Configurações @@ -514,115 +529,110 @@ Barra de ferramentas - - Actions toolbar - Barra de ações - - - + [testnet] [testnet] - + Bitcoin client Cliente Bitcoin - + %n active connection(s) to Bitcoin network %n conexão ativa na rede Bitcoin%n conexões ativas na rede Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Processado %1 de %2 blocos (estimado) de histórico de transações. + + + Processed %1 blocks of transaction history. - + Processado %1 blocos do histórico de transações. + + + + %n hour(s) + %n hora%n horas + + + + %n day(s) + %n dia%n dias + + + + %n week(s) + %n semana%n semanas - + + %1 behind + %1 atrás + + + + Last received block was generated %1 ago. + Último bloco recebido foi gerado %1 atrás. + + + + Transactions after this will not yet be visible. + Transações após isso ainda não estão visíveis. + + + Error - + Erro Warning - + Cuidado Information - + Informação - + 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? - - - - - Backup Successful - - - - - The wallet data was successfully saved to the new location. - - - - - %n second(s) ago - %n segundo atrás%n segundos atrás - - - - %n minute(s) ago - %n minutos atrás%n minutos atrás - - - - %n hour(s) ago - %n hora atrás%n horas atrás - - - - %n day(s) ago - %n dia atrás%n dias atrás + A transação está acima do tamanho limite. Você ainda enviar ela com uma taxa de %1, que vai para os nós processam sua transação e ajuda a manter a rede. Você quer pagar a taxa? - + Up to date Atualizado - + Catching up... Recuperando o atraso ... - - Last received block was generated %1. - - - - + Confirm transaction fee - + Confirmar taxa de transação - + Sent transaction - + Transação enviada Incoming transaction - + Transação recebida @@ -637,59 +647,39 @@ Endereço: %4 - - + + URI handling - + Manipulação de URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - + URI não pode ser decodificado! Isso pode ter sido causado por um endereço Bitcoin inválido ou por parâmetros URI malformados. Wallet is <b>encrypted</b> and currently <b>unlocked</b> - + Carteira está <b>criptografada</b> e atualmente <b>desbloqueada</b> Wallet is <b>encrypted</b> and currently <b>locked</b> - - - - - Backup Wallet - Fazer cópia de segurança da Carteira - - - - Wallet Data (*.dat) - Dados da Carteira (*.dat) - - - - Backup Failed - Cópia de segurança Falhou - - - - There was an error trying to save the wallet data to the new location. - Houve um erro ao tentar salvar os dados da carteira para uma nova localização. + Carteira está <b>criptografada</b> e atualmente <b>bloqueada</b> - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. - + Um erro fatal ocorreu. Bitcoin não pode continuar em segurança e irá fechar. ClientModel - + Network Alert - + Alerta da Rede @@ -697,111 +687,111 @@ Edit Address - + Editar Endereço &Label - + &Etiqueta The label associated with this address book entry - + A etiqueta associada a esse endereço do catálogo &Address - + &Endereço The address associated with this address book entry. This can only be modified for sending addresses. - + O endereço associado à essa entrada do seu catálogo de endereços. Isso só pode ser modificado para endereço de envio. - + New receiving address - + Novo endereço de recebimento New sending address - + Novo endereço de envio Edit receiving address - + Editar endereço de recebimento Edit sending address - + Editar endereço de envio - + The entered address "%1" is already in the address book. - + O endereço digitado "%1" já se encontra no catálogo de endereços. - + The entered address "%1" is not a valid Bitcoin address. - + O endereço digitado "%1" não é um endereço Bitcoin válido. - + Could not unlock wallet. - + Não foi possível destravar a carteira. New key generation failed. - + A geração de nova chave falhou. GUIUtil::HelpMessageBox - + Bitcoin-Qt - + Bitcoin-Qt version - + versão Usage: - + Uso: command-line options - + opções da linha de comando UI options - + opções da UI Set language, for example "de_DE" (default: system locale) - + Escolher língua, por exemplo "de_DE" (padrão: localização do sistema) Start minimized - + Inicializar minimizado Show splash screen on startup (default: 1) - + Mostrar tela inicial ao ligar (padrão: 1) @@ -809,209 +799,209 @@ Options - + Opções &Main - + Principal - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Taxa opcional de transações por kB que ajuda a garantir que suas transações serão processadas rapidamente. A maior parte das transações é de 1 kB. Taxa de 0.01 recomendada. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Pay transaction &fee - + Pagar taxa de &transação Automatically start Bitcoin after logging in to the system. - + Iniciar Bitcoin automaticamente após se logar no sistema. &Start Bitcoin on system login - + Iniciar Bitcoin no login do sistema Reset all client options to default. - + Redefinir todas as opções do cliente para opções padrão. &Reset Options - + &Redefinir opções &Network - + Rede Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. - + Abrir as portas do cliente Bitcoin automaticamente no roteador. Isto só funcionará se seu roteador suportar UPnP e esta função estiver habilitada. Map port using &UPnP - + Mapear porta usando &UPnP Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). - + Conectar à rede Bitcoin através de um proxy SOCKS (ex. quando estiver usando através do Tor) &Connect through SOCKS proxy: - + &Conectar através de um proxy SOCKS: Proxy &IP: - + &IP do proxy: IP address of the proxy (e.g. 127.0.0.1) - + Endereço &IP do proxy (ex. 127.0.0.1) &Port: - + &Porta: Port of the proxy (e.g. 9050) - + Porta do serviço de proxy (ex. 9050) SOCKS &Version: - + &Versão do SOCKS: SOCKS version of the proxy (e.g. 5) - + Versão do proxy SOCKS (ex. 5) &Window - + &Janela Show only a tray icon after minimizing the window. - + Mostrar apenas um ícone na bandeja ao minimizar a janela. &Minimize to the tray instead of the taskbar - + &Minimizar para a bandeja em vez da barra de tarefas. Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. - + Minimizar em vez de sair do aplicativo quando a janela for fechada. Quando esta opção é escolhida, o aplicativo só será fechado selecionando Sair no menu Arquivo. M&inimize on close - + M&inimizar ao sair &Display - + &Mostrar User Interface &language: - + &Língua da interface com usuário: The user interface language can be set here. This setting will take effect after restarting Bitcoin. - + A língua da interface com usuário pode ser escolhida aqui. Esta configuração só surtirá efeito após reiniciar o Bitcoin. &Unit to show amounts in: - + &Unidade usada para mostrar quantidades: Choose the default subdivision unit to show in the interface and when sending coins. - + Escolha a unidade padrão de subdivisão para interface mostrar quando enviar bitcoins. Whether to show Bitcoin addresses in the transaction list or not. - + Mostrar ou não endereços Bitcoin na lista de transações. &Display addresses in transaction list - + Mostrar en&dereços na lista de transações &OK - + &OK &Cancel - + &Cancelar &Apply - + &Aplicar - + default - + padrão Confirm options reset - + Confirmar redefinição de opções Some settings may require a client restart to take effect. - + Algumas configurações requerem reinicialização para surtirem efeito. Do you want to proceed? - + Você quer continuar? Warning - + Cuidado This setting will take effect after restarting Bitcoin. - + Esta configuração surtirá efeito após reinicializar o aplicativo Bitcoin The supplied proxy address is invalid. - + O endereço proxy fornecido é inválido. @@ -1019,28 +1009,23 @@ Form - + Formulário - - + + 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. - + A informação mostrada pode estar desatualizada. Sua carteira sincroniza automaticamente com a rede Bitcoin depois que a conexão é estabelecida, mas este processo pode não estar completo ainda. - + Balance: - + Saldo: - - Number of transactions: - - - - + Unconfirmed: - + Não confirmadas: @@ -1048,40 +1033,43 @@ Carteira - + Immature: - + Imaturo: Mined balance that has not yet matured - + Saldo minerado que ainda não maturou <b>Recent transactions</b> - + <b>Transações recentes</b> - + Your current balance - + Seu saldo atual Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - - - - - Total number of transactions in wallet - + Total de transações ainda não confirmadas, e que ainda não contam no saldo atual - + out of sync - + fora de sincronia + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Não foi possível iniciar bitcoin: manipulador clique-para-pagar @@ -1089,7 +1077,7 @@ QR Code Dialog - + Janela do código QR @@ -1109,7 +1097,7 @@ Message: - + Mensagem: @@ -1119,12 +1107,12 @@ Error encoding URI into QR Code. - + Erro ao codigicar o URI em código QR The entered amount is invalid, please check. - + A quantidade digitada é inválida, favor verificar. @@ -1134,7 +1122,7 @@ Save QR Code - + Salvar código QR @@ -1147,7 +1135,7 @@ Client name - + Nome do cliente @@ -1159,134 +1147,134 @@ - + N/A - + N/A Client version - + Versão do cliente &Information - + &Informação Using OpenSSL version - + Usando OpenSSL versão Startup time - + Horário de inicialização Network - + Rede Number of connections - + Número de conexões On testnet - + Na rede de teste Block chain - + Corrente de blocos Current number of blocks - + Quantidade atual de blocos Estimated total blocks - + Total estimado de blocos Last block time - + Horário do último bloco &Open - + &Abrir Command-line options - + Opções da linha de comando Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Mostrar mensagem de ajuda do Bitcoin-Qt para obter uma lista com possíveis opções da linha de comando do Bitcoin. &Show - + &Mostrar &Console - + &Console Build date - + Data do 'build' Bitcoin - Debug window - + Bitcoin - Janela de Depuração Bitcoin Core - + Núcleo Bitcoin Debug log file - + Arquivo de log de Depuração Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - + Abrir o arquivo de log de depuração do Bitcoin do diretório atual de dados. Isso pode levar alguns segundos para arquivos de log grandes. Clear console - + Limpar console Welcome to the Bitcoin RPC console. - + Bem-vindo ao console Bitcoin RPC. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Use as setas para cima e para baixo para navegar pelo histórico, e <b>Ctrl-L</b> para limpar a tela. Type <b>help</b> for an overview of available commands. - + Digite <b>help</b> para uma visão geral dos comandos disponíveis. @@ -1301,17 +1289,17 @@ Send Coins - + Enviar dinheiro Send to multiple recipients at once - + Enviar para vários destinatários de uma só vez Add &Recipient - + Adicionar destinatário @@ -1321,12 +1309,12 @@ Clear &All - + Limpar Tudo Balance: - + Saldo: @@ -1336,67 +1324,67 @@ Confirm the send action - + Confirmar o envio S&end - + Enviar <b>%1</b> to %2 (%3) - + <b>%1</b> para %2 (%3) Confirm send coins - + Confirmar envio de dinheiro Are you sure you want to send %1? - + Você tem certeza que deseja enviar %1? and - + e The recipient address is not valid, please recheck. - + O endereço do destinatário não é válido, favor verificar. The amount to pay must be larger than 0. - + A quantidade a ser paga precisa ser maior que 0. The amount exceeds your balance. - + A quantidade excede seu saldo. The total exceeds your balance when the %1 transaction fee is included. - + O total excede seu saldo quando uma taxa de transação de %1 é incluída. Duplicate address found, can only send to each address once per send operation. - + Endereço duplicado: pode-se enviar para cada endereço apenas uma vez por transação. Error: Transaction creation failed! - + Erro: Criação da transação falhou! Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Erro: A transação foi rejeitada. Isso pode acontecer se alguns dos bitcoins de sua carteira já haviam sido gastos, por exemplo se você usou uma cópia do arquivo wallet.dat e alguns bitcoins foram gastos na cópia mas não foram marcados como gastos aqui. @@ -1404,38 +1392,38 @@ Form - + Formulário A&mount: - + Q&uantidade: Pay &To: - + Pagar &Para: The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + O endereço para onde enviar o pagamento (ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Enter a label for this address to add it to your address book - + Digite uma etiqueta para este endereço para adicioná-lo ao catálogo de endereços &Label: - + &Etiqueta: Choose address from address book - + Escolha um endereço do seu catálogo @@ -1445,7 +1433,7 @@ Paste address from clipboard - + Colar o endereço da área de transferência @@ -1455,12 +1443,12 @@ Remove this recipient - + Remover este destinatário Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Digite um endereço Bitcoin (exemplo: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1468,7 +1456,7 @@ Signatures - Sign / Verify a Message - + Assinaturas - Assinar / Verificar uma mensagem @@ -1483,13 +1471,13 @@ The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Endereço a ser usado para assinar a mensagem (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Choose an address from the address book - + Escolha um endereço do catálogo @@ -1500,7 +1488,7 @@ Paste address from clipboard - + Colar o endereço da área de transferência @@ -1515,85 +1503,85 @@ Signature - + Assinatura Copy the current signature to the system clipboard - + Copiar a assinatura para a área de transferência do sistema Sign the message to prove you own this Bitcoin address - + Assinar mensagem para provar que você é dono deste endereço Bitcoin Sign &Message - + Assinar &Mensagem Reset all sign message fields - + Limpar todos os campos de assinatura da mensagem Clear &All - + Limpar Tudo &Verify Message - + &Verificar Mensagem Enter the signing 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. - + Forneça o endereço da assinatura, a mensagem (se assegure que você copiou quebras de linha, espaços, tabs, etc. exatamente) e a assinatura abaixo para verificar a mensagem. Cuidado para não ler mais na assinatura do que está escrito na mensagem propriamente, para evitar ser vítima de uma ataque do tipo "man-in-the-middle". The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + O endereço usado para assinar a mensagem (ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Verify the message to ensure it was signed with the specified Bitcoin address - + Verificar mensagem para se assegurar que ela foi assinada pelo dono de um endereço Bitcoin específico. Verify &Message - + Verificar %Mensagem Reset all verify message fields - + Limpar todos os campos de assinatura da mensagem Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Digite um endereço Bitcoin (exemplo: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) Click "Sign Message" to generate signature - + Clique em "Assinar Mensagem" para gerar a assinatura Enter Bitcoin signature - + Entre com a assinatura Bitcoin The entered address is invalid. - + O endereço fornecido é inválido. @@ -1601,92 +1589,105 @@ Please check the address and try again. - + Por favor, verifique o endereço e tente novamente. The entered address does not refer to a key. - + O endereço fornecido não se refere a uma chave. Wallet unlock was cancelled. - + Destravamento da Carteira foi cancelado. Private key for the entered address is not available. - + A chave privada para o endereço fornecido não está disponível. Message signing failed. - + Assinatura da mensagem falhou. Message signed. - + Mensagem assinada. The signature could not be decoded. - + A assinatura não pode ser decodificada. Please check the signature and try again. - + Por favor, verifique a assinatura e tente novamente. The signature did not match the message digest. - + A assinatura não corresponde ao "resumo da mensagem". Message verification failed. - + Verificação da mensagem falhou. Message verified. - + Mensagem verificada. + + + + SplashScreen + + + The Bitcoin developers + Desenvolvedores do Bitcoin + + + + [testnet] + [testnet] TransactionDesc - + Open until %1 - + Aberto até %1 %1/offline - + %1/offline %1/unconfirmed - + %1/não confirmadas %1 confirmations - + %1 confirmações Status - + Status , broadcast through %n node(s) - + , difundir atráves de %n nó, difundir atráves de %n nós @@ -1696,7 +1697,7 @@ Source - + Fonte @@ -1707,25 +1708,25 @@ From - + De To - + Para own address - + seu próprio endereço label - + etiqueta @@ -1739,12 +1740,12 @@ matures in %n more block(s) - + matura em mais %n blocomatura em mais %n blocos not accepted - + não aceito @@ -1757,77 +1758,77 @@ Transaction fee - + Taxa de transação Net amount - + Valor líquido Message - + Mensagem Comment - + Comentário Transaction ID - + ID da transação Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - + Bitcoins gerados precisam maturar por 120 blocos antes de serem gastos. Quando você gera este bloco, ele é difundido na rede para ser adicionado ao blockchain. Se ele falhar ao ser acrescentado no blockchain, seu estado mudará para "não aceito" e não poderá ser gasto. Isso pode ocasionamente acontecer se outro nó gerou um bloco poucos segundos antes do seu. Debug information - + Informação de depuração Transaction - + Transação Inputs - + Entradas Amount - + Quantidade true - + verdadeiro false - + falso , has not been successfully broadcast yet - + , ainda não foi propagada na rede com sucesso. Open for %n more block(s) - + Abrir para mais %n blocoAbrir para mais %n blocos unknown - + desconhecido @@ -1835,80 +1836,80 @@ Transaction details - + Detalhes da transação This pane shows a detailed description of the transaction - + Este painel mostra uma descrição detalhada da transação TransactionTableModel - + Date - + Data Type - + Tipo Address - + Endereço Amount - + Quantidade Open for %n more block(s) - + Abrir para mais %n blocoAbrir para mais %n blocos Open until %1 - + Aberto até %1 Offline (%1 confirmations) - + Offline (%1 confirmações) Unconfirmed (%1 of %2 confirmations) - + Não confirmado (%1 of %2 confirmações) Confirmed (%1 confirmations) - + Confirmado (%1 confirmações) Mined balance will be available when it matures in %n more block(s) - + Saldo minerado vai estar disponível quando ele maturar em mais %n blocoSaldo minerado vai estar disponível quando ele maturar em mais %n blocos This block was not received by any other nodes and will probably not be accepted! - + Este bloco não foi recebido por nenhum outro participante da rede e provavelmente não será aceito! Generated but not accepted - + Gerado mas não aceito Received with - + Recebido por @@ -1918,131 +1919,131 @@ Sent to - + Enviado para Payment to yourself - + Pagamento para você mesmo Mined - + Minerado (n/a) - + (n/a) Transaction status. Hover over this field to show number of confirmations. - + Status da transação. Passe o mouse sobre este campo para mostrar o número de confirmações. Date and time that the transaction was received. - + Data e hora em que a transação foi recebida. Type of transaction. - + Tipo de transação. Destination address of transaction. - + Endereço de destino da transação. Amount removed from or added to balance. - + Quantidade debitada ou creditada ao saldo. TransactionView - + All - + Todos Today - + Hoje This week - + Esta semana This month - + Este mês Last month - + Mês passado This year - + Este ano Range... - + Intervalo... Received with - + Recebido por Sent to - + Enviado para To yourself - + Para você mesmo Mined - + Minerado Other - + Outro Enter address or label to search - + Procure um endereço ou etiqueta Min amount - + Quantidade mínima Copy address - + Copiar endereço Copy label - + Copiar etiqueta @@ -2051,53 +2052,58 @@ + Copy transaction ID + Copiar ID da transação + + + Edit label - + Editar etiqueta Show transaction details - + Mostrar detalhes da transação - + Export Transaction Data - + Exportar Dados das Transações Comma separated file (*.csv) - + Arquivo separado por vírgulas (*. csv) Confirmed - + Confirmado Date - + Data Type - + Tipo Label - + Etiqueta Address - + Endereço Amount - + Quantidade @@ -2107,333 +2113,511 @@ Error exporting - + Erro ao exportar Could not write to file %1. - + Não foi possível gravar no arquivo %1. - + Range: - + Intervalo: to - + para - bitcoin-core + WalletModel - - Bitcoin version - + + Send Coins + Send Coins + + + WalletView - - Usage: - + + &Export + &Exportar - - Send command to -server or bitcoind - + + Export the data in the current tab to a file + Exportar os dados na aba atual para um arquivo - - List commands - + + Backup Wallet + Fazer cópia de segurança da Carteira - - Get help for a command - + + Wallet Data (*.dat) + Dados da Carteira (*.dat) - - Options: - + + Backup Failed + Cópia de segurança Falhou - - Specify configuration file (default: bitcoin.conf) - + + There was an error trying to save the wallet data to the new location. + Houve um erro ao tentar salvar os dados da carteira para uma nova localização. - - Specify pid file (default: bitcoind.pid) - + + Backup Successful + Backup feito com sucesso - - Generate coins - + + The wallet data was successfully saved to the new location. + Os dados da carteira foram salvos com sucesso na nova localização + + + bitcoin-core - - Don't generate coins - + + Bitcoin version + Versão do Bitcoin + + + + Usage: + Uso: + + + + Send command to -server or bitcoind + Enviar comando para -server ou bitcoind + + + + List commands + Lista de comandos + + + + Get help for a command + Obtenha ajuda sobre um comando + + + + Options: + Opções: + + + + Specify configuration file (default: bitcoin.conf) + Especifique um arquivo de configurações (padrão: bitcoin.conf) + + + + Specify pid file (default: bitcoind.pid) + Especifique um arquivo de pid (padrão: bitcoind.pid) - + Specify data directory - + Especificar diretório de dados - + Set database cache size in megabytes (default: 25) Definir o tamanho do cache do banco de dados em megabytes (padrão: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Procurar por conexões em <port> (padrão: 8333 ou testnet:18333) - + Maintain at most <n> connections to peers (default: 125) Manter no máximo <n> conexões aos peers (padrão: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Conectar a um nó para receber endereços de participantes, e desconectar. - + Specify your own public address - + Especificar seu próprio endereço público - + Threshold for disconnecting misbehaving peers (default: 100) Limite para desconectar peers mal comportados (padrão: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Número de segundos para impedir que peers mal comportados reconectem (padrão: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Um erro ocorreu ao configurar a porta RPC %u para escuta em IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Escutar conexões JSON-RPC na porta <porta> (padrão: 8332 ou testnet: 18332) - + Accept command line and JSON-RPC commands - + Aceitar linha de comando e comandos JSON-RPC - + Run in the background as a daemon and accept commands - + Rodar em segundo plano como serviço e aceitar comandos - + Use the test network - + Usar rede de teste - + Accept connections from outside (default: 1 if no -proxy or -connect) - + Aceitar conexões externas (padrão: 1 se opções -proxy ou -connect não estiverem presentes) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + %s, você deve especificar uma senha rpcpassword no arquivo de configuração:⏎ +%s⏎ +É recomendado que você use a seguinte senha aleatória:⏎ +rpcuser=bitcoinrpc⏎ +rpcpassword=%s⏎ +(você não precisa lembrar esta senha)⏎ +O nome de usuário e a senha NÃO PODEM ser os mesmos.⏎ +Se o arquivo não existir, crie um com permissão de leitura apenas para o dono.⏎ +É recomendado também definir um alertnotify para que você seja notificado de problemas;⏎ +por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s - + Um erro ocorreu ao configurar a porta RPC %u para escuta em IPv6, voltando ao IPv4: %s Bind to given address and always listen on it. Use [host]:port notation for IPv6 - + Vincular ao endereço fornecido e sempre escutar nele. Use a notação [host]:port para IPv6 Cannot obtain a lock on data directory %s. Bitcoin is probably already running. - + Não foi possível obter exclusividade de escrita no endereço %s. O Bitcoin provavelmente já está rodando. - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Erro: A transação foi rejeitada. Isso pode acontecer se alguns dos bitcoins de sua carteira já haviam sido gastos, por exemplo se você usou uma cópia do arquivo wallet.dat e alguns bitcoins foram gastos na cópia mas não foram marcados como gastos aqui. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Erro: Esta transação requer uma taxa de transação de pelo menos %s, por causa sua quantidade, complexidade ou uso de dinheiro recebido recentemente. - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Executar comando quando um alerta relevante for recebido (%s no comando será substituído pela mensagem) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Executar comando quando uma transação da carteira mudar (%s no comando será substituído por TxID) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Determinar tamanho máximo de transações de alta-prioridade/baixa-taxa em bytes (padrão: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + Este pode ser um build de teste pré-lançamento - use por sua conta e risco - não use para mineração ou aplicações de comércio. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - + Cuidado: valor de -paytxfee escolhido é muito alto! Este é o valor da taxa de transação que você irá pagar se enviar a transação. Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. - + Cuidado: Transações mostradas podem não estar corretas! Você pode precisar atualizar, ou outros nós podem precisar atualizar o cliente. Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. - + Cuidado: Por favor, verifique que a data e hora do seu computador estão corretas! If o seu relógio estiver errado, o Bitcoin não irá funcionar corretamente. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Cuidado: erro ao ler arquivo wallet.dat! Todas as chaves foram lidas corretamente, mas dados transações e do catálogo de endereços podem estar faltando ou estar incorretas. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Aviso: wallet.dat corrompido, dados recuperados! Arquivo wallet.dat original salvo como wallet.{timestamp}.bak em %s; se seu saldo ou transações estiverem incorretos, você deve restauras o backup. Attempt to recover private keys from a corrupt wallet.dat - + Tentar recuperar chaves privadas de um arquivo wallet.dat corrompido Block creation options: - + Opções de criação de blocos: - + Connect only to the specified node(s) - + Conectar apenas a nó(s) específico(s) + Corrupted block database detected + Detectado Banco de dados de blocos corrompido + + + Discover own IP address (default: 1 when listening and no -externalip) - + Descobrir os próprios endereços IP (padrão: 1 quando no modo listening e opção -externalip não estiver presente) - + + Do you want to rebuild the block database now? + Você quer reconstruir o banco de dados de blocos agora? + + + + Error initializing block database + Erro ao inicializar banco de dados de blocos + + + + Error initializing wallet database environment %s! + Erro ao inicializar ambiente de banco de dados de carteira %s! + + + Error loading block database - + Erro ao carregar banco de dados de blocos - + + Error opening block database + Erro ao abrir banco de dados de blocos + + + Error: Disk space is low! - + Erro: Espaço em disco insuficiente! - Error: Transaction creation failed! - + Error: Wallet locked, unable to create transaction! + Erro: Carteira travada, impossível criar transação! - Error: Wallet locked, unable to create transaction! - + Error: system error: + Erro: erro de sistema - + Failed to listen on any port. Use -listen=0 if you want this. - + Falha ao escutar em qualquer porta. Use -listen=0 se você quiser isso. + + + + Failed to read block info + Falha ao ler informação de bloco + + + + Failed to read block + Falha ao ler bloco + + + + Failed to sync block index + Falha ao sincronizar índice de blocos + + + + Failed to write block index + Falha ao escrever índice de blocos + + + + Failed to write block info + Falha ao escrever informações de bloco + + + + Failed to write block + Falha ao escrever bloco + + + + Failed to write file info + Falha ao escrever informções de arquivo + + + + Failed to write to coin database + Falha ao escrever banco de dados de moedas + + + + Failed to write transaction index + Falha ao escrever índice de transações + + + + Failed to write undo data + Falha ao escrever dados para desfazer ações Find peers using DNS lookup (default: 1 unless -connect) - + Procurar pares usando consulta de DNS (padrão: 1 a menos que a opção -connect esteja presente) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + How many blocks to check at startup (default: 288, 0 = all) + Quantos blocos checar ao inicializar (padrão: 288, 0 = todos) + + - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + Quão minuciosa é a verificação dos blocos (0-4, padrão: 3) + + + + Not enough file descriptors available. + + Rebuild block chain index from current blk000??.dat files + Reconstruir índice de blockchain a partir dos arquivos atuais blk000??.dat + + + + Set the number of threads to service RPC calls (default: 4) + Defina o número de threads de script de verificação. (Padrão: 4) + + + + Verifying blocks... + Verificando blocos... + + + Verifying wallet... + Verificando carteira... + + + Imports blocks from external blk000??.dat file + Importar blocos de um arquivo externo blk000??.dat + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information - + Informação Invalid -tor address: '%s' - + Endereço -tor inválido: '%s' - - Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + + Invalid amount for -minrelaytxfee=<amount>: '%s' - Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + Invalid amount for -mintxfee=<amount>: '%s' + + Maintain a full transaction index (default: 0) + Manter índice completo de transações (padrão: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) + Buffer máximo de recebimento por conexão, <n>*1000 bytes (padrão: 5000) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) + Buffer máximo de envio por conexão, <n>*1000 bytes (padrão: 1000) + + + Only accept block chain matching built-in checkpoints (default: 1) - + Apenas aceitar cadeia de blocos correspondente a marcas de verificação internas (padrão: 1) Only connect to nodes in network <net> (IPv4, IPv6 or Tor) - + Apenas conectar em nós na rede <net> (IPv4, IPv6, ou Tor) Output extra debugging information. Implies all other -debug* options - + Mostrar informações extras de depuração. Implica em outras opções -debug* Output extra network debugging information - + Mostrar informações extras de depuração da rede @@ -2441,19 +2625,14 @@ Pré anexar a saída de debug com estampa de tempo - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) - + Opções SSL: (veja a Wiki do Bitcoin para instruções de configuração SSL) Select the version of socks proxy to use (4-5, default: 5) - + Escolher versão do proxy socks a ser usada (4-5, padrão: 5) @@ -2468,145 +2647,170 @@ Set maximum block size in bytes (default: 250000) - + Determinar tamanho máximo de bloco em bytes (padrão: 250000) Set minimum block size in bytes (default: 0) - + Determinar tamanho mínimo de bloco em bytes (padrão: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) + Encolher arquivo debug.log ao iniciar o cliente (padrão 1 se opção -debug não estiver presente) + + + + Signing transaction failed Specify connection timeout in milliseconds (default: 5000) + Especifique o tempo limite (timeout) da conexão em milissegundos (padrão: 5000) + + + + System error: + Erro de sistema: + + + + Transaction amount too small - - Use UPnP to map the listening port (default: 0) + + Transaction amounts must be positive - Use UPnP to map the listening port (default: 1 when listening) + Transaction too large + + Use UPnP to map the listening port (default: 0) + Usar UPnP para mapear porta de escuta (padrão: 0) + + + + Use UPnP to map the listening port (default: 1 when listening) + Usar UPnP para mapear porta de escuta (padrão: 1 quando estiver escutando) + + Use proxy to reach tor hidden services (default: same as -proxy) - + Usar proxy para alcançar serviços escondidos (padrão: mesmo que -proxy) Username for JSON-RPC connections - + Nome de usuário para conexões JSON-RPC Warning - + Cuidado Warning: This version is obsolete, upgrade required! - + Cuidado: Esta versão está obsoleta, atualização exigida! + + + + You need to rebuild the databases using -reindex to change -txindex + Você precisa reconstruir os bancos de dados usando -reindex para mudar -txindex wallet.dat corrupt, salvage failed - + wallet.dat corrompido, recuperação falhou - + Password for JSON-RPC connections - + Senha para conexões JSON-RPC - + Allow JSON-RPC connections from specified IP address - + Permitir conexões JSON-RPC de endereços IP específicos - + Send commands to node running on <ip> (default: 127.0.0.1) - + Enviar comando para nó rodando em <ip> (pardão: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Executar comando quando o melhor bloco mudar (%s no comando será substituído pelo hash do bloco) - + Upgrade wallet to latest format Atualizar carteira para o formato mais recente - + Set key pool size to <n> (default: 100) - + Determinar tamanho do pool de endereços para <n> (padrão: 100) Rescan the block chain for missing wallet transactions - + Re-escanear blocos procurando por transações perdidas da carteira - - How many blocks to check at startup (default: 2500, 0 = all) - Quantos blocos verificar ao iniciar (padrão: 2500, 0 = todos) - - - + Use OpenSSL (https) for JSON-RPC connections - + Usar OpenSSL (https) para conexões JSON-RPC - + Server certificate file (default: server.cert) - + Arquivo de certificado do servidor (padrão: server.cert) Server private key (default: server.pem) - + Chave privada do servidor (padrão: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + Algoritmos de criptografia aceitos (padrão: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Esta mensagem de ajuda - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Impossível vincular a %s neste computador (bind retornou erro %d, %s) - + Connect through socks proxy - + Conectar através de um proxy socks - + Allow DNS lookups for -addnode, -seednode and -connect - + Permitir consultas DNS para -addnode, -seednode e -connect - + Loading addresses... - + Carregando endereços... - + Error loading wallet.dat: Wallet corrupted Erro ao carregar wallet.dat: Carteira corrompida @@ -2616,141 +2820,118 @@ Erro ao carregar wallet.dat: Carteira requer uma versão mais nova do Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete A Carteira precisou ser reescrita: reinicie o Bitcoin para completar - + Error loading wallet.dat Erro ao carregar wallet.dat - + Invalid -proxy address: '%s' - + Endereço -proxy inválido: '%s' - + Unknown network specified in -onlynet: '%s' - + Rede desconhecida especificada em -onlynet: '%s' Unknown -socks proxy version requested: %i - + Versão desconhecida do proxy -socks requisitada: %i - + Cannot resolve -bind address: '%s' - + Impossível encontrar o endereço -bind: '%s' Cannot resolve -externalip address: '%s' - + Impossível encontrar endereço -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' - - - - - Error: could not start node - + Quantidade inválida para -paytxfee=<quantidade>: '%s' - + Invalid amount - + Quantidade inválida - + Insufficient funds - + Saldo insuficiente - + Loading block index... - + Carregando índice de blocos... - + Add a node to connect to and attempt to keep the connection open - + Adicionar um nó com o qual se conectar e tentar manter a conexão ativa Unable to bind to %s on this computer. Bitcoin is probably already running. - + Impossível vincular a %s neste computador. O Bitcoin provavelmente já está rodando. - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send - + Taxa por KB a ser acrescida nas transações que você enviar Loading wallet... - + Carregando carteira... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + Não é possível fazer downgrade da carteira Cannot write default address - + Não foi possível escrever no endereço padrão - + Rescanning... - + Re-escaneando... - + Done loading - + Carregamento terminado - + To use the %s option - + Para usar a opção %s - + Error - + Erro - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. - + Você precisa especificar rpcpassword=<senha> no arquivo de configurações:⏎ +%s⏎ +Se o arquivo não existir, crie um com permissão de leitura apenas pelo dono \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_pt_PT.ts bitcoin-0.8.5/src/qt/locale/bitcoin_pt_PT.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_pt_PT.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_pt_PT.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,20 +5,15 @@ About Bitcoin - Sobre o Bitcoin + Sobre Bitcoin <b>Bitcoin</b> version - <b>Bitcoin</b> versão + Versão do <b>Bitcoin</b> - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Os Programadores Bitcoin - - - + This is experimental software. @@ -32,6 +27,16 @@ Este produto inclui software desenvolvido pelo Projecto OpenSSL para uso no OpenSSL Toolkit (http://www.openssl.org/), software criptográfico escrito por Eric Young (eay@cryptsoft.com) e software UPnP escrito por Thomas Bernard. + + + Copyright + Copyright + + + + The Bitcoin developers + Os programadores Bitcoin + AddressBookPage @@ -41,7 +46,7 @@ Livro de endereços - + Double-click to edit address or label Clique duas vezes para editar o endereço ou o rótulo @@ -61,12 +66,12 @@ &Novo Endereço - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Estes são os seus endereços Bitcoin para receber pagamentos. Poderá enviar um endereço diferente para cada remetente para poder identificar os pagamentos. - + &Copy Address &Copiar Endereço @@ -91,7 +96,17 @@ Apagar o endereço selecionado da lista - + + Export the data in the current tab to a file + Exportar os dados no separador actual para um ficheiro + + + + &Export + &Exportar + + + Verify a message to ensure it was signed with a specified Bitcoin address Verifique a mensagem para assegurar que foi assinada com o endereço Bitcoin especificado @@ -106,17 +121,27 @@ E&liminar - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Estes são os seus endereços Bitcoin para enviar pagamentos. Verifique sempre o valor e a morada de envio antes de enviar moedas. + + + Copy &Label Copiar &Rótulo - + &Edit &Editar - + + Send &Coins + Enviar &Moedas + + + Export Address Book Data Exportar dados do Livro de Endereços @@ -133,13 +158,13 @@ Could not write to file %1. - Não conseguiu escrever para o ficheiro %1. + Não foi possível escrever para o ficheiro %1. AddressTableModel - + Label Rótulo @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... Assinar &mensagem... - + Synchronizing with network... Sincronizando com a rede... - + &Overview Visã&o geral @@ -328,32 +353,17 @@ Navegar pelo histórico de transações - - &Address Book - L&ivro de endereços - - - + Edit the list of stored addresses and labels Editar a lista de endereços e rótulos - - &Receive coins - &Receber moedas - - - + Show the list of addresses for receiving payments Mostrar a lista de endereços para receber pagamentos - - &Send coins - &Enviar moedas - - - + E&xit Fec&har @@ -383,7 +393,7 @@ &Opções... - + &Encrypt Wallet... E&ncriptar Carteira... @@ -398,7 +408,7 @@ Mudar &Palavra-passe... - + Importing blocks from disk... Importando blocos do disco... @@ -407,18 +417,8 @@ Reindexing blocks on disk... Reindexando blocos no disco... - - - ~%n block(s) remaining - ~%n bloco restante~%n blocos restantes - - - - &Export... - &Exportar... - - + Send coins to a Bitcoin address Enviar moedas para um endereço bitcoin @@ -428,12 +428,7 @@ Modificar opções de configuração para bitcoin - - Export the data in the current tab to a file - Exportar os dados no separador actual para um ficheiro - - - + Backup wallet to another location Faça uma cópia de segurança da carteira para outra localização @@ -443,7 +438,7 @@ Mudar a frase de segurança utilizada na encriptação da carteira - + &Debug window Janela de &depuração @@ -453,23 +448,38 @@ Abrir consola de diagnóstico e depuração - + &Verify message... &Verificar mensagem... - - + + Bitcoin Bitcoin - + Wallet Carteira - + + &Send + &Enviar + + + + &Receive + &Receber + + + + &Addresses + E&ndereços + + + &About Bitcoin &Sobre o Bitcoin @@ -484,7 +494,7 @@ Mostrar ou esconder a Janela principal - + Encrypt the private keys that belong to your wallet Encriptar as chaves privadas que pertencem à sua carteira @@ -499,12 +509,12 @@ Verifique mensagens para assegurar que foram assinadas com o endereço Bitcoin especificado - + &File &Ficheiro - + &Settings Con&figurações @@ -519,38 +529,68 @@ Barra de separadores - - Actions toolbar - Barra de ações - - - + [testnet] [rede de testes] - + Bitcoin client Cliente Bitcoin - + %n active connection(s) to Bitcoin network %n ligação ativa à rede Bitcoin%n ligações ativas à rede Bitcoin - - Processed %1 of %2 blocks of transaction history (%3% done). - Processados %1 de %2 blocos do histórico de transações (%3% completo). + + No block source available... + Nenhum bloco fonto disponível - + + Processed %1 of %2 (estimated) blocks of transaction history. + Processados %1 dos %2 blocos (estimados) do histórico de transacções. + + + Processed %1 blocks of transaction history. Processados %1 blocos do histórico de transações. + + + %n hour(s) + %n hora%n horas + + + + %n day(s) + %n dia%n dias + + + + %n week(s) + %n semana%n semanas + - + + %1 behind + %1 em atraso + + + + Last received block was generated %1 ago. + Último bloco recebido foi gerado há %1 atrás. + + + + Transactions after this will not yet be visible. + Transações posteriores poderão não ser imediatamente visíveis. + + + Error Erro @@ -565,62 +605,27 @@ Informação - + 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? Esta transação tem um tamanho superior ao limite máximo. Poderá enviá-la pagando uma taxa de %1, que será entregue ao nó que processar a sua transação e ajudará a suportar a rede. Deseja pagar a taxa? - - Backup Successful - Cópia de Segurança Bem Sucedida - - - - The wallet data was successfully saved to the new location. - Os dados da carteira foram salvos com sucesso numa nova localização. - - - - %n second(s) ago - %n segundo%n segundos - - - - %n minute(s) ago - %n minutos%n minutos - - - - %n hour(s) ago - %n hora%n horas - - - - %n day(s) ago - %n dia%n dias - - - + Up to date Atualizado - + Catching up... Recuperando... - - Last received block was generated %1. - Último bloco recebido foi gerado há %1. - - - + Confirm transaction fee Confirme a taxa de transação - + Sent transaction Transação enviada @@ -643,14 +648,14 @@ - - + + URI handling Manuseamento URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI não foi lido correctamente! Isto pode ser causado por um endereço Bitcoin inválido ou por parâmetros URI malformados. @@ -665,27 +670,7 @@ A carteira está <b>encriptada</b> e atualmente <b>bloqueada</b> - - Backup Wallet - Cópia de Segurança da Carteira - - - - Wallet Data (*.dat) - Dados da Carteira (*.dat) - - - - Backup Failed - Cópia de Segurança Falhada - - - - There was an error trying to save the wallet data to the new location. - Ocorreu um erro ao tentar guardar os dados da carteira na nova localização. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Ocorreu um erro fatal. O Bitcoin não pode continuar com segurança e irá fechar. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Alerta da Rede @@ -726,7 +711,7 @@ O endereço associado com esta entrada do livro de endereços. Apenas poderá ser modificado para endereços de saída. - + New receiving address Novo endereço de entrada @@ -746,17 +731,17 @@ Editar endereço de saída - + The entered address "%1" is already in the address book. O endereço introduzido "%1" já se encontra no livro de endereços. - + The entered address "%1" is not a valid Bitcoin address. O endereço introduzido "%1" não é um endereço bitcoin válido. - + Could not unlock wallet. Impossível desbloquear carteira. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Taxa de transação opcional por KB que ajuda a assegurar que as suas transações serão processadas rapidamente. A maioria das transações tem 1 kB. Taxa de 0.01 recomendada. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Taxa de transação opcional por KB que ajuda a assegurar que as suas transações serão processadas rapidamente. A maioria das transações tem 1 kB. @@ -845,12 +830,12 @@ Reset all client options to default. - + Repôr todas as opções. &Reset Options - + &Repôr Opções @@ -983,24 +968,24 @@ &Aplicar - + default padrão Confirm options reset - + Confirme a reposição de opções Some settings may require a client restart to take effect. - + Algumas opções requerem o reinício do programa para funcionar. Do you want to proceed? - + Deseja proceder? @@ -1028,23 +1013,18 @@ Formulário - - + + 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. A informação mostrada poderá estar desatualizada. A sua carteira sincroniza automaticamente com a rede Bitcoin depois de estabelecer ligação, mas este processo ainda não está completo. - + Balance: Saldo: - - Number of transactions: - Número de transações: - - - + Unconfirmed: Não confirmado: @@ -1054,7 +1034,7 @@ Carteira - + Immature: Imaturo: @@ -1069,7 +1049,7 @@ <b>Transações recentes</b> - + Your current balance O seu saldo atual @@ -1079,18 +1059,21 @@ Total de transações ainda não confirmadas, e que não estão contabilizadas ainda no seu saldo actual - - Total number of transactions in wallet - Número total de transações na carteira - - - + out of sync fora de sincronia + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Impossível começar o modo clicar-para-pagar com bitcoin: + + + QRCodeDialog @@ -1165,7 +1148,7 @@ - + N/A N/D @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Escreva um rótulo para este endereço para o adicionar ao seu livro de endereços @@ -1521,7 +1504,7 @@ Signature - + Assinatura @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + Os programadores Bitcoin + + + + [testnet] + [rede de testes] + + + TransactionDesc - + Open until %1 Aberto até %1 @@ -1828,7 +1824,7 @@ Open for %n more block(s) - + Aberta por mais %n blocoAberta por mais %n blocos @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date Data @@ -1874,7 +1870,7 @@ Open for %n more block(s) - + Aberta por mais %n blocoAberta por mais %n blocos @@ -1970,7 +1966,7 @@ TransactionView - + All Todas @@ -2057,6 +2053,11 @@ + Copy transaction ID + Copiar ID da Transação + + + Edit label Editar rótulo @@ -2066,7 +2067,7 @@ Mostrar detalhes da transação - + Export Transaction Data Exportar Dados das Transações @@ -2121,7 +2122,7 @@ Impossível escrever para o ficheiro %1. - + Range: Período: @@ -2132,39 +2133,90 @@ + WalletModel + + + Send Coins + Enviar Moedas + + + + WalletView + + + &Export + &Exportar + + + + Export the data in the current tab to a file + Exportar os dados no separador actual para um ficheiro + + + + Backup Wallet + Cópia de Segurança da Carteira + + + + Wallet Data (*.dat) + Dados da Carteira (*.dat) + + + + Backup Failed + Cópia de Segurança Falhou + + + + There was an error trying to save the wallet data to the new location. + Ocorreu um erro ao tentar guardar os dados da carteira na nova localização. + + + + Backup Successful + Cópia de Segurança Bem Sucedida + + + + The wallet data was successfully saved to the new location. + Os dados da carteira foram salvos com sucesso numa nova localização. + + + bitcoin-core - + Bitcoin version Versão Bitcoin - + Usage: Utilização: - + Send command to -server or bitcoind Enviar comando para -server ou bitcoind - + List commands Listar comandos - + Get help for a command Obter ajuda para um comando - + Options: Opções: - + Specify configuration file (default: bitcoin.conf) Especificar ficheiro de configuração (por defeito: bitcoin.conf) @@ -2174,107 +2226,102 @@ Especificar ficheiro pid (por defeito: bitcoind.pid) - - Generate coins - Gerar moedas - - - - Don't generate coins - Não gerar moedas - - - + Specify data directory Especificar pasta de dados - + Set database cache size in megabytes (default: 25) Definir o tamanho da cache de base de dados em megabytes (por defeito: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Escute por ligações em <port> (por defeito: 8333 ou testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Manter no máximo <n> ligações a outros nós da rede (por defeito: 125) - + Connect to a node to retrieve peer addresses, and disconnect Ligar a um nó para recuperar endereços de pares, e desligar - + Specify your own public address Especifique o seu endereço público - + Threshold for disconnecting misbehaving peers (default: 100) Tolerância para desligar nós mal-formados (por defeito: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Número de segundos a impedir que nós mal-formados se liguem de novo (por defeito: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Ocorreu um erro ao definir a porta %u do serviço RPC a escutar em IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Escutar por ligações JSON-RPC em <port> (por defeito: 8332 ou rede de testes: 18332) - + Accept command line and JSON-RPC commands Aceitar comandos da consola e JSON-RPC - + Run in the background as a daemon and accept commands Correr o processo como um daemon e aceitar comandos - + Use the test network Utilizar a rede de testes - testnet - + Accept connections from outside (default: 1 if no -proxy or -connect) Aceitar ligações externas (padrão: 1 sem -proxy ou -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - %s, deverá definir uma palavra-passe de RPC no ficheiro de configuração : + %s, deverá definir rpcpassword no ficheiro de configuração : %s É recomendado que use a seguinte palavra-passe aleatória: rpcuser=bitcoinrpc rpcpassword=%s (não precisa recordar esta palavra-passe) O nome de utilizador e password NÃO DEVEM ser iguais. -Se o ficheiro não existir, crie-o com permissões de leitura apenas para o dono. +Se o ficheiro não existir, crie-o com permissões de leitura apenas para o dono. +Também é recomendado definir alertnotify para que seja alertado sobre problemas; +por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Ocorreu um erro ao definir a porta %u do serviço RPC a escutar em IPv6, a usar IPv4: %s @@ -2290,16 +2337,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Erro ao inicializar o ambiente de recuperação de base de dados %s! Para recuperar, COPIE A PASTA PARA OUTRO LOCAL, e então remova tudo de dentro dela excepto o ficheiro wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Erro: A transação foi rejeitada. Isso poderá acontecer se algumas das moedas na sua carteira já tiverem sido gastas, se por exemplo tiver usado uma cópia do ficheiro wallet.dat e as moedas foram gastas na cópia mas não foram marcadas como gastas aqui. @@ -2309,12 +2346,22 @@ Erro: Esta transação requer uma taxa de transação mínima de %s devido á sua quantia, complexidade, ou uso de fundos recebidos recentemente! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Executar comando quando um alerta relevante for recebido (no comando, %s é substituído pela mensagem) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Executar comando quando uma das transações na carteira mudar (no comando, %s é substituído pelo ID da Transação) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Definir tamanho máximo de transações de alta-/baixa-prioridade em bytes (por defeito: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Esta é uma versão de pré-lançamento - use à sua responsabilidade - não usar para minar ou aplicações comerciais @@ -2351,65 +2398,175 @@ Block creation options: - Opções de criação de Bloco: + Opções de criação de bloco: - + Connect only to the specified node(s) Apenas ligar ao(s) nó(s) especificado(s) + Corrupted block database detected + Cadeia de blocos corrompida detectada + + + Discover own IP address (default: 1 when listening and no -externalip) Descobrir endereço IP próprio (padrão: 1 ao escutar e sem -externalip) - + + Do you want to rebuild the block database now? + Deseja reconstruir agora a cadeia de blocos? + + + + Error initializing block database + Erro ao inicializar a cadeia de blocos + + + + Error initializing wallet database environment %s! + Erro ao inicializar o ambiente de base de dados da carteira %s! + + + Error loading block database - + Erro ao carregar cadeia de blocos - + + Error opening block database + Erro ao abrir a cadeia de blocos + + + Error: Disk space is low! Erro: Pouco espaço em disco! - Error: Transaction creation failed! - Erro: A criação da transacção falhou! + Error: Wallet locked, unable to create transaction! + Erro: Carteira bloqueada, incapaz de criar transação! - Error: Wallet locked, unable to create transaction! - Erro: Carteira bloqueada, incapaz de criar transação! + Error: system error: + Erro: erro do sistema: - + Failed to listen on any port. Use -listen=0 if you want this. Falhou a escutar em qualquer porta. Use -listen=0 se quer isto. + + Failed to read block info + Falha ao ler info do bloco + + + + Failed to read block + Falha ao ler bloco + + + + Failed to sync block index + Falha ao sincronizar índice do bloco + + + + Failed to write block index + Falha ao escrever índice do bloco + + + + Failed to write block info + Falha ao escrever info do bloco + + + + Failed to write block + Falha ao escrever o bloco + + + + Failed to write file info + Falha ao escrever info do ficheiro + + + + Failed to write to coin database + Falha ao escrever na base de dados de moedas + + + + Failed to write transaction index + Falha ao escrever índice de transações + + + + Failed to write undo data + Falha ao escrever histórico de modificações + + Find peers using DNS lookup (default: 1 unless -connect) Encontrar pares usando procura DNS (por defeito: 1 excepto -connect) - - How thorough the block verification is (0-4, default: 3) - + + Generate coins (default: 0) + Gerar moedas (por defeito: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Quantos blocos verificar ao começar (por defeito: 288, 0 = todos) - Importing blocks from block database... - Importando blocos da base de dados de blocos... + How thorough the block verification is (0-4, default: 3) + Qual a minúcia na verificação de blocos (0-4, por defeito: 3) + + + + Not enough file descriptors available. + Descritores de ficheiros disponíveis são insuficientes. + + + + Rebuild block chain index from current blk000??.dat files + Reconstruir a cadeia de blocos dos ficheiros blk000??.dat actuais + + + + Set the number of threads to service RPC calls (default: 4) + Defina o número de processos para servir as chamadas RPC (por defeito: 4) + + + + Verifying blocks... + Verificando blocos... + Verifying wallet... + Verificando a carteira... + + + Imports blocks from external blk000??.dat file Importar blocos de um ficheiro blk000??.dat externo - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Defina o número de processos de verificação (até 16, 0 = automático, <0 = disponibiliza esse número de núcleos livres, por defeito: 0) + + + Information Informação @@ -2419,7 +2576,22 @@ Endereço -tor inválido: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Quantia inválida para -minrelaytxfee=<amount>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Quantia inválida para -mintxfee=<amount>: '%s' + + + + Maintain a full transaction index (default: 0) + Manter índice de transações completo (por defeito: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Armazenamento intermédio de recepção por ligação, <n>*1000 bytes (por defeito: 5000) @@ -2429,7 +2601,7 @@ Armazenamento intermédio de envio por ligação, <n>*1000 bytes (por defeito: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) Apenas aceitar cadeia de blocos coincidente com marcas de verificação internas (por defeito: 1) @@ -2454,12 +2626,7 @@ Preceder informação de depuração com selo temporal - - Rebuild blockchain index from current blk000??.dat files - Reconstruir a cadeia de blocos dos ficheiros blk000??.dat actuais - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opções SSL: (ver a Wiki Bitcoin para instruções de configuração SSL) @@ -2489,17 +2656,42 @@ Definir tamanho minímo de um bloco em bytes (por defeito: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Encolher ficheiro debug.log ao iniciar o cliente (por defeito: 1 sem -debug definido) + + Signing transaction failed + Falhou assinatura da transação + + Specify connection timeout in milliseconds (default: 5000) Especificar tempo de espera da ligação em millisegundos (por defeito: 5000) - + + System error: + Erro de sistema: + + + + Transaction amount too small + Quantia da transação é muito baixa + + + + Transaction amounts must be positive + Quantia da transação deverá ser positiva + + + + Transaction too large + Transação grande demais + + + Use UPnP to map the listening port (default: 0) Usar UPnP para mapear a porta de escuta (padrão: 0) @@ -2530,36 +2722,41 @@ + You need to rebuild the databases using -reindex to change -txindex + Necessita reconstruir as bases de dados usando -reindex para mudar -txindex + + + wallet.dat corrupt, salvage failed - carteira corrupta, salvamento falhou + wallet.dat corrupta, recuperação falhou - + Password for JSON-RPC connections Palavra-passe para ligações JSON-RPC - + Allow JSON-RPC connections from specified IP address Permitir ligações JSON-RPC do endereço IP especificado - + Send commands to node running on <ip> (default: 127.0.0.1) Enviar comandos para o nó a correr em <ip> (por defeito: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - Executar comando quando mudar o melhor bloco (na consola, %s é substituído pela hash do bloco) + Executar comando quando mudar o melhor bloco (no comando, %s é substituído pela hash do bloco) - + Upgrade wallet to latest format Atualize a carteira para o formato mais recente - + Set key pool size to <n> (default: 100) Definir o tamanho da memória de chaves para <n> (por defeito: 100) @@ -2569,17 +2766,12 @@ Reexaminar a cadeia de blocos para transações em falta na carteira - - How many blocks to check at startup (default: 2500, 0 = all) - Verificar quantos blocos ao iniciar (por defeito: 2500, 0 = todos) - - - + Use OpenSSL (https) for JSON-RPC connections Usar OpenSSL (https) para ligações JSON-RPC - + Server certificate file (default: server.cert) Ficheiro de certificado do servidor (por defeito: server.cert) @@ -2589,37 +2781,37 @@ Chave privada do servidor (por defeito: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Cifras aceitáveis (por defeito: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Esta mensagem de ajuda - + Unable to bind to %s on this computer (bind returned error %d, %s) Incapaz de vincular a %s neste computador (vínculo retornou erro %d, %s) - + Connect through socks proxy Ligar através de um proxy socks - + Allow DNS lookups for -addnode, -seednode and -connect Permitir procuras DNS para -addnode, -seednode e -connect - + Loading addresses... Carregar endereços... - + Error loading wallet.dat: Wallet corrupted Erro ao carregar wallet.dat: Carteira danificada @@ -2629,32 +2821,22 @@ Erro ao carregar wallet.dat: A Carteira requer uma versão mais recente do Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete A Carteira precisou ser reescrita: reinicie o Bitcoin para completar - + Error loading wallet.dat Erro ao carregar wallet.dat - + Invalid -proxy address: '%s' Endereço -proxy inválido: '%s' - + Unknown network specified in -onlynet: '%s' Rede desconhecida especificada em -onlynet: '%s' @@ -2664,7 +2846,7 @@ Versão desconhecida de proxy -socks requisitada: %i - + Cannot resolve -bind address: '%s' Não conseguiu resolver endereço -bind: '%s' @@ -2674,32 +2856,27 @@ Não conseguiu resolver endereço -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Quantia inválida para -paytxfee=<amount>: '%s' - - Error: could not start node - Erro: não iniciou o nó - - - + Invalid amount Quantia inválida - + Insufficient funds Fundos insuficientes - + Loading block index... Carregar índice de blocos... - + Add a node to connect to and attempt to keep the connection open Adicione um nó ao qual se ligar e tentar manter a ligação aberta @@ -2709,12 +2886,7 @@ Incapaz de vincular à porta %s neste computador. Provavelmente o Bitcoin já está a funcionar. - - Find peers using internet relay chat (default: 0) - Encontrar pares usando IRC (por defeito: 0) - - - + Fee per KB to add to transactions you send Taxa por KB a adicionar a transações enviadas @@ -2724,42 +2896,37 @@ Carregar carteira... - + Cannot downgrade wallet Impossível mudar a carteira para uma versão anterior - - Cannot initialize keypool - Impossível inicializar keypool - - Cannot write default address Impossível escrever endereço por defeito - + Rescanning... Reexaminando... - + Done loading Carregamento completo - + To use the %s option Para usar a opção %s - + Error Erro - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_ro_RO.ts bitcoin-0.8.5/src/qt/locale/bitcoin_ro_RO.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_ro_RO.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_ro_RO.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> versiunea - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,7 +41,7 @@ Listă de adrese - + Double-click to edit address or label Dublu-click pentru a edita adresa sau eticheta @@ -56,44 +61,54 @@ &Adresă nouă - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Acestea sunt adresele dumneavoastră Bitcoin pentru a primi plăţi. Dacă doriţi, puteți da o adresa diferită fiecărui expeditor, pentru a putea ţine evidenţa plăţilor. - + &Copy Address &Copiază adresa Show &QR Code - + Arata codul QR Sign a message to prove you own a Bitcoin address - + Semneaza mesajul pentru a dovedi ca detii aceasta adresa Bitocin Sign &Message - + Semneaza mesajul Delete the currently selected address from the list + Sterge adresele curent selectate din lista + + + + Export the data in the current tab to a file - - Verify a message to ensure it was signed with a specified Bitcoin address + + &Export + + Verify a message to ensure it was signed with a specified Bitcoin address + Verifica mesajul pentru a te asigura ca a fost insemnat cu o adresa bitcoin specifica + + &Verify Message - + Verifica mesajele @@ -101,17 +116,27 @@ &Șterge - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Copiază &eticheta - + &Edit &Editează - + + Send &Coins + + + + Export Address Book Data Exportă Lista de adrese @@ -134,7 +159,7 @@ AddressTableModel - + Label Etichetă @@ -235,7 +260,7 @@ Warning: The Caps Lock key is on! - + Atentie! Caps Lock este pornit @@ -246,7 +271,7 @@ Bitcoin 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. - + Bitcoin se va închide acum pentru a termina procesul de criptare. Amintiți-vă că criptarea portofelului dumneavoastră nu poate proteja în totalitate bitcoins dvs. de a fi furate de intentii rele. @@ -293,17 +318,17 @@ BitcoinGUI - + Sign &message... - + Semneaza &mesaj... - + Synchronizing with network... Se sincronizează cu reţeaua... - + &Overview &Detalii @@ -323,34 +348,19 @@ Istoricul tranzacţiilor - - &Address Book - &Lista de adrese - - - + Edit the list of stored addresses and labels Editaţi lista de adrese şi etichete. - - &Receive coins - &Primiţi Bitcoin - - - + Show the list of addresses for receiving payments Lista de adrese pentru recepţionarea plăţilor - - &Send coins - &Trimiteţi Bitcoin - - - + E&xit - + Ieșire @@ -378,7 +388,7 @@ &Setări... - + &Encrypt Wallet... Criptează portofelul electronic... @@ -393,27 +403,17 @@ &Schimbă parola... - + Importing blocks from disk... - + Importare blocks de pe disk... Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - &Exportă... - - + Send coins to a Bitcoin address &Trimiteţi Bitcoin către o anumită adresă @@ -423,14 +423,9 @@ Modifică setările pentru Bitcoin - - Export the data in the current tab to a file - - - - + Backup wallet to another location - + Creaza copie de rezerva a portofelului intr-o locatie diferita @@ -438,40 +433,55 @@ &Schimbă parola folosită pentru criptarea portofelului electronic - + &Debug window - + & Fereastra debug Open debugging and diagnostic console - + Deschide consola de debug si diagnosticare - + &Verify message... - + Verifica mesajul - - + + Bitcoin Bitcoin - + Wallet Portofelul - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &Despre Bitcoin &Show / Hide - + Arata/Ascunde @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,12 +504,12 @@ - + &File &Fişier - + &Settings &Setări @@ -514,108 +524,103 @@ Bara de ferestre de lucru - - Actions toolbar - Bara de acţiuni - - - + [testnet] [testnet] - + Bitcoin client - + Client Bitcoin - + %n active connection(s) to Bitcoin network %n active connections to Bitcoin network%n active connections to Bitcoin network%n active connections to Bitcoin network - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - %n seconds ago%n seconds ago%n seconds ago - - - - %n minute(s) ago - Acum %n minutAcum %n minuteAcum %n minute - - - - %n hour(s) ago - Acum %n orăAcum %n oreAcum %n ore + + + Information + - - - %n day(s) ago - Acum %n ziAcum %n zileAcum %n zile + + + 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? + - + Up to date Actualizat - + Catching up... Se actualizează... - - Last received block was generated %1. - Ultimul bloc primit a fost generat %1. - - - + Confirm transaction fee - + Confirma taxa tranzactiei - + Sent transaction Tranzacţie expediată @@ -631,17 +636,17 @@ Type: %3 Address: %4 - + Data: %1⏎ Suma: %2⏎ Tipul: %3⏎ Addresa: %4⏎ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -656,27 +661,7 @@ Portofelul electronic este <b>criptat</b> iar in momentul de faţă este <b>blocat</b> - - Backup Wallet - Backup portofelul electronic - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -684,9 +669,9 @@ ClientModel - + Network Alert - + Alerta retea @@ -717,7 +702,7 @@ Adresa asociată cu această înregistrare în Lista de adrese. Aceasta poate fi modificată doar pentru expediere. - + New receiving address Noua adresă de primire @@ -737,17 +722,17 @@ Editează adresa de trimitere - + The entered address "%1" is already in the address book. Adresa introdusă "%1" se află deja în Lista de adrese. - + The entered address "%1" is not a valid Bitcoin address. Adresa introdusă "%1" nu este o adresă bitcoin valabilă. - + Could not unlock wallet. Portofelul electronic nu a putut fi deblocat . @@ -760,10 +745,10 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt - + Bitcoin-Qt @@ -788,17 +773,17 @@ Set language, for example "de_DE" (default: system locale) - + Seteaza limba, de exemplu: "de_DE" (initialt: system locale) Start minimized - + Incepe miniaturizare Show splash screen on startup (default: 1) - + Afișează pe ecran splash la pornire (implicit: 1) @@ -815,7 +800,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -846,7 +831,7 @@ &Network - + &Retea @@ -871,7 +856,7 @@ Proxy &IP: - + Proxy &IP: @@ -881,7 +866,7 @@ &Port: - + &Port: @@ -891,17 +876,17 @@ SOCKS &Version: - + SOCKS &Versiune: SOCKS version of the proxy (e.g. 5) - + Versiunea SOCKS a proxiului (ex. 5) &Window - + &Fereastra @@ -931,12 +916,12 @@ User Interface &language: - + Interfata & limba userului The user interface language can be set here. This setting will take effect after restarting Bitcoin. - + Limba interfeței utilizatorului poate fi setat aici. Această setare va avea efect după repornirea Bitcoin. @@ -951,7 +936,7 @@ Whether to show Bitcoin addresses in the transaction list or not. - + Vezi dacă adresele Bitcoin sunt în lista de tranzacție sau nu @@ -961,22 +946,22 @@ &OK - + & OK &Cancel - + & Renunta &Apply - + Aplica - + default - + Initial @@ -997,7 +982,7 @@ Warning - + Atentie! @@ -1008,7 +993,7 @@ The supplied proxy address is invalid. - + Adresa bitcoin pe care a-ti specificat-o este invalida @@ -1019,23 +1004,18 @@ Form - - + + 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. - + Informațiile afișate pot fi expirate. Portofelul tău se sincronizează automat cu rețeaua Bitcoin după ce o conexiune este stabilita, dar acest proces nu a fost finalizat încă. - + Balance: Balanţă: - - Number of transactions: - Număr total de tranzacţii: - - - + Unconfirmed: Neconfirmat: @@ -1045,14 +1025,14 @@ Portofelul - + Immature: - + Nematurizat: Mined balance that has not yet matured - + Balanta minata care nu s-a maturizat inca @@ -1060,7 +1040,7 @@ <b>Ultimele tranzacţii</b> - + Your current balance Soldul contul @@ -1070,14 +1050,17 @@ Totalul tranzacţiilor care aşteaptă să fie confirmate şi care nu sunt încă luate în calcul la afişarea soldului contului. - - Total number of transactions in wallet - Numărul total de tranzacţii din portofelul electronic - - - + out of sync + Nu este sincronizat + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler @@ -1086,12 +1069,12 @@ QR Code Dialog - + Dialogul codului QR Request Payment - + Cerere de plata @@ -1111,17 +1094,17 @@ &Save As... - + Salvare ca... Error encoding URI into QR Code. - + Eroare la incercarea codarii URl-ului in cod QR The entered amount is invalid, please check. - + Suma introdusa nu este valida, verifica suma. @@ -1131,12 +1114,12 @@ Save QR Code - + Salveaza codul QR PNG Images (*.png) - + Imagini de tip PNG (*.png) @@ -1144,7 +1127,7 @@ Client name - + Numaele clientului @@ -1156,69 +1139,69 @@ - + N/A - + N/A Client version - + Versiunea clientului &Information - + & Informatie Using OpenSSL version - + Foloseste versiunea OpenSSL Startup time - + Data pornirii Network - + Retea Number of connections - + Numarul de conexiuni On testnet - + Pe testnet Block chain - + Lant bloc Current number of blocks - + Numarul curent de blockuri Estimated total blocks - + Estimarea totala a blocks Last block time - + Ultimul block a fost gasit la: &Open - + &Deschide @@ -1228,62 +1211,62 @@ Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Arata mesajul de ajutor Bitcoin-QT pentru a obtine o lista cu posibilele optiuni ale comenzilor Bitcoin &Show - + & Arata &Console - + &Consola Build date - + Construit la data: Bitcoin - Debug window - + Bitcoin-Fereastra pentru debug Bitcoin Core - + Bitcoin Core Debug log file - + Loguri debug Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - + Deschide logurile debug din directorul curent. Aceasta poate dura cateva secunde pentru fisierele mai mari Clear console - + Curata consola Welcome to the Bitcoin RPC console. - + Bun venit la consola bitcoin RPC Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Foloseste sagetile sus si jos pentru a naviga in istoric si <b>Ctrl-L</b> pentru a curata. Type <b>help</b> for an overview of available commands. - + Scrie <b>help</b> pentru a vedea comenzile disponibile @@ -1313,7 +1296,7 @@ Remove all transaction fields - + Sterge toate spatiile de tranzactie @@ -1420,7 +1403,7 @@ - + Enter a label for this address to add it to your address book Adaugă o etichetă acestei adrese pentru a o trece în Lista de adrese @@ -1465,12 +1448,12 @@ Signatures - Sign / Verify a Message - + Semnatura- Semneaza/verifica un mesaj &Sign Message - + Semneaza Mesajul @@ -1507,7 +1490,7 @@ Enter the message you want to sign here - + Introduce mesajul pe care vrei sa il semnezi, aici. @@ -1517,12 +1500,12 @@ Copy the current signature to the system clipboard - + Copiaza semnatura curenta in clipboard-ul sistemului Sign the message to prove you own this Bitcoin address - + Semneaza mesajul pentru a dovedi ca detii acesta adresa Bitcoin @@ -1532,7 +1515,7 @@ Reset all sign message fields - + Reseteaza toate spatiile mesajelor semnate. @@ -1543,7 +1526,7 @@ &Verify Message - + Verifica mesajul @@ -1558,7 +1541,7 @@ Verify the message to ensure it was signed with the specified Bitcoin address - + Verifica mesajul pentru a fi sigur ca a fost semnat cu adresa Bitcoin specifica @@ -1568,7 +1551,7 @@ Reset all verify message fields - + Reseteaza toate spatiile mesajelor semnate. @@ -1579,18 +1562,18 @@ Click "Sign Message" to generate signature - + Click "Semneaza msajul" pentru a genera semnatura Enter Bitcoin signature - + Introduce semnatura bitocin The entered address is invalid. - + Adresa introdusa nu este valida @@ -1598,65 +1581,78 @@ Please check the address and try again. - + Te rugam verifica adresa si introduce-o din nou The entered address does not refer to a key. - + Adresa introdusa nu se refera la o cheie. Wallet unlock was cancelled. - + Blocarea portofelului a fost intrerupta Private key for the entered address is not available. - + Cheia privata pentru adresa introdusa nu este valida. Message signing failed. - + Semnarea mesajului a esuat Message signed. - + Mesaj Semnat! The signature could not be decoded. - + Aceasta semnatura nu a putut fi decodata Please check the signature and try again. - + Verifica semnatura si incearca din nou The signature did not match the message digest. - + Semnatura nu seamana! Message verification failed. - + Verificarea mesajului a esuat Message verified. + Mesaj verificat + + + + SplashScreen + + + The Bitcoin developers + + + [testnet] + [testnet] + TransactionDesc - + Open until %1 Deschis până la %1 @@ -1693,7 +1689,7 @@ Source - + Sursa @@ -1717,7 +1713,7 @@ own address - + Adresa posedata @@ -1774,7 +1770,7 @@ Transaction ID - + ID-ul tranzactiei @@ -1784,7 +1780,7 @@ Debug information - + Informatii pentru debug @@ -1794,7 +1790,7 @@ Inputs - + Intrari @@ -1804,12 +1800,12 @@ true - + Adevarat! false - + Fals! @@ -1843,7 +1839,7 @@ TransactionTableModel - + Date Data @@ -1910,7 +1906,7 @@ Received from - + Primit de la: @@ -1961,7 +1957,7 @@ TransactionView - + All Toate @@ -2048,16 +2044,21 @@ + Copy transaction ID + + + + Edit label Editează eticheta Show transaction details - + Arata detaliile tranzactiei - + Export Transaction Data Exportă tranzacţiile @@ -2112,7 +2113,7 @@ Fisierul %1 nu a putut fi accesat pentru scriere. - + Range: Interval: @@ -2123,41 +2124,92 @@ + WalletModel + + + Send Coins + Trimite Bitcoin + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + Date portofel (*.dat) + + + + Backup Failed + Copia de rezerva a esuat + + + + There was an error trying to save the wallet data to the new location. + A apărut o eroare la încercarea de a salva datele din portofel intr-o noua locație. + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + bitcoin-core - + Bitcoin version versiunea Bitcoin - + Usage: Uz: - + Send command to -server or bitcoind Trimite comanda la -server sau bitcoind - + List commands Listă de comenzi - + Get help for a command Ajutor pentru o comandă - + Options: Setări: - + Specify configuration file (default: bitcoin.conf) - + Specifica-ți configurația fisierului (in mod normal: bitcoin.conf) @@ -2165,100 +2217,93 @@ - - Generate coins - - - - - Don't generate coins - - - - + Specify data directory - + Specifica datele directorului - + Set database cache size in megabytes (default: 25) - + Seteaza marimea cache a bazei de date in MB (initial: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Lista a conectiunile in <port> (initial: 8333 sau testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Se menține la cele mai multe conexiuni <n> cu colegii (implicit: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Conecteaza-te la nod pentru a optine adresa peer, si deconecteaza-te - + Specify your own public address - + Specifica adresa ta publica - + Threshold for disconnecting misbehaving peers (default: 100) - + Prag pentru deconectarea colegii funcționează corect (implicit: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + Numărul de secunde pentru a păstra colegii funcționează corect la reconectare (implicit: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Se accepta command line si comenzi JSON-RPC - + Run in the background as a daemon and accept commands - + Ruleaza în background ca un demon și accepta comenzi. - + Use the test network - + Utilizeaza test de retea - + Accept connections from outside (default: 1 if no -proxy or -connect) - + Accepta conexiuni de la straini (initial: 1 if no -proxy or -connect) + - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2274,31 +2319,31 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + Seteaza marimea maxima a tranzactie mare/mica in bytes (initial:27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2335,65 +2380,175 @@ Block creation options: - + Optiuni creare block - + Connect only to the specified node(s) - + Conecteaza-te doar la nod(urile) specifice + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) + Descopera propria ta adresa IP (intial: 1) + + + + Do you want to rebuild the block database now? - + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2403,7 +2558,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2413,7 +2583,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2435,32 +2605,27 @@ Prepend debug output with timestamp - + Copie de ieșire de depanare cu timestamp - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) - + Optiuni SSl (vezi Bitcoin wiki pentru intructiunile de instalare) Select the version of socks proxy to use (4-5, default: 5) - + Selecteaza versiunea socks-ului pe care vrei sa il folosesti (4-5, initial: 5) Send trace/debug info to console instead of debug.log file - + Trimite urmări / debug info la consola loc de debug.log fișier Send trace/debug info to debugger - + Trimite urmări / debug info la depanatorul @@ -2473,34 +2638,59 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - - Use UPnP to map the listening port (default: 0) + + System error: + + + + + Transaction amount too small - Use UPnP to map the listening port (default: 1 when listening) + Transaction amounts must be positive + Transaction too large + + + + + Use UPnP to map the listening port (default: 0) + Foloseste UPnP pentru a vedea porturile (initial: 0) + + + + Use UPnP to map the listening port (default: 1 when listening) + Foloseste UPnP pentru a vedea porturile (initial: 1 cand listezi) + + + Use proxy to reach tor hidden services (default: same as -proxy) Username for JSON-RPC connections - + Username pentru conectiunile JSON-RPC @@ -2514,193 +2704,177 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Parola pentru conectiunile JSON-RPC - + Allow JSON-RPC connections from specified IP address - + Permiteti conectiunile JSON-RPC de la o adresa IP specifica. - + Send commands to node running on <ip> (default: 127.0.0.1) - + Trimite comenzi la nod, ruland pe ip-ul (initial: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Executa comanda cand cel mai bun block se schimba (%s in cmd se inlocuieste cu block hash) - + Upgrade wallet to latest format - + Actualizeaza portofelul la ultimul format - + Set key pool size to <n> (default: 100) - + Setarea marimii cheii bezinului la <n>(initial 100) Rescan the block chain for missing wallet transactions - + Rescanare lanțul de bloc pentru tranzacțiile portofel lipsă - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Foloseste Open SSL(https) pentru coneciunile JSON-RPC - + Server certificate file (default: server.cert) - + Certificatul serverulu (initial: server.cert) Server private key (default: server.pem) - + Cheia privata a serverului ( initial: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + Accepta cifruri (initial: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Acest mesaj de ajutor. - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Nu se poate lega %s cu acest calculator (retunare eroare legatura %d, %s) + + - + Connect through socks proxy Conectează prin proxy SOCKS - + Allow DNS lookups for -addnode, -seednode and -connect - + Permite DNS-ului sa se uite dupa -addnode, -seednode si -connect - + Loading addresses... Încarc adrese... - + Error loading wallet.dat: Wallet corrupted - + Eroare incarcand wallet.dat: Portofel corupt Error loading wallet.dat: Wallet requires newer version of Bitcoin - - - - - Verifying block database integrity... - + Eroare incarcare wallet.dat: Portofelul are nevoie de o versiune Bitcoin mai noua - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Portofelul trebuie rescris: restarteaza aplicatia bitcoin pentru a face asta. - + Error loading wallet.dat - + Eroare incarcand wallet.dat - + Invalid -proxy address: '%s' - + Adresa proxy invalida: '%s' - + Unknown network specified in -onlynet: '%s' - + Retea specificata necunoscuta -onlynet: '%s' Unknown -socks proxy version requested: %i - + Necunoscut -socks proxy version requested: %i - + Cannot resolve -bind address: '%s' - + Nu se poate rezolca -bind address: '%s' Cannot resolve -externalip address: '%s' - + Nu se poate rezolva -externalip address: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' - - - - - Error: could not start node - + Suma invalida pentru -paytxfee=<amount>: '%s' - + Invalid amount - + Suma invalida - + Insufficient funds Fonduri insuficiente - + Loading block index... Încarc indice bloc... - + Add a node to connect to and attempt to keep the connection open - + Add a node to connect to and attempt to keep the connection open +details suggestions history + Unable to bind to %s on this computer. Bitcoin is probably already running. - - - - - Find peers using internet relay chat (default: 0) - + Imposibilitatea de a lega la% s pe acest computer. Bitcoin este, probabil, deja în execuție. - + Fee per KB to add to transactions you send - + Taxa pe kb pentru a adauga tranzactii trimise @@ -2708,42 +2882,37 @@ Încarc portofel... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + Nu se poate face downgrade la portofel Cannot write default address - + Nu se poate scrie adresa initiala - + Rescanning... Rescanez... - + Done loading Încărcare terminată - + To use the %s option - + Pentru a folosii optiunea %s - + Error Eroare - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_ru.ts bitcoin-0.8.5/src/qt/locale/bitcoin_ru.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_ru.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_ru.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,7 +5,7 @@ About Bitcoin - О Bitcoin + &О Bitcoin @@ -13,12 +13,7 @@ <b>Bitcoin</b> версия - - Copyright © 2009-2012 The Bitcoin developers - Все права защищены © 2009-2012 Разработчики Bitcoin - - - + This is experimental software. @@ -32,18 +27,28 @@ Этот продукт включает ПО, разработанное OpenSSL Project для использования в OpenSSL Toolkit (http://www.openssl.org/) и криптографическое ПО, написанное Eric Young (eay@cryptsoft.com) и ПО для работы с UPnP, написанное Thomas Bernard. + + + Copyright + Все права защищены + + + + The Bitcoin developers + Разработчики Bitcoin + AddressBookPage Address Book - Адресная книга + &Адресная книга - + Double-click to edit address or label - Для того, чтобы изменить адрес или метку давжды кликните по изменяемому объекту + Для того, чтобы изменить адрес или метку, дважды кликните по изменяемому объекту @@ -61,12 +66,12 @@ &Новый адрес - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Это Ваши адреса для получения платежей. Вы можете дать разные адреса отправителям, чтобы отслеживать, кто именно вам платит. - + &Copy Address &Копировать адрес @@ -91,7 +96,17 @@ Удалить выбранный адрес из списка - + + Export the data in the current tab to a file + Экспортировать данные из вкладки в файл + + + + &Export + &Экспорт + + + Verify a message to ensure it was signed with a specified Bitcoin address Проверить сообщение, чтобы убедиться, что оно было подписано указанным адресом Bitcoin @@ -106,17 +121,27 @@ &Удалить - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Ваши адреса для получения средств. Совет: проверьте сумму и адрес назначения перед переводом. + + + Copy &Label Копировать &метку - + &Edit &Правка - + + Send &Coins + &Отправить монеты + + + Export Address Book Data Экспортировать адресную книгу @@ -139,7 +164,7 @@ AddressTableModel - + Label Метка @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... - &Подписать сообщение + &Подписать сообщение... - + Synchronizing with network... Синхронизация с сетью... - + &Overview О&бзор @@ -328,32 +353,17 @@ Показать историю транзакций - - &Address Book - &Адресная книга - - - + Edit the list of stored addresses and labels Изменить список сохранённых адресов и меток к ним - - &Receive coins - &Получение монет - - - + Show the list of addresses for receiving payments Показать список адресов для получения платежей - - &Send coins - Отп&равка монет - - - + E&xit В&ыход @@ -383,22 +393,22 @@ Оп&ции... - + &Encrypt Wallet... - &Зашифровать бумажник + &Зашифровать бумажник... &Backup Wallet... - &Сделать резервную копию бумажника + &Сделать резервную копию бумажника... &Change Passphrase... - &Изменить пароль + &Изменить пароль... - + Importing blocks from disk... Импортируются блоки с диска... @@ -407,18 +417,8 @@ Reindexing blocks on disk... Идёт переиндексация блоков на диске... - - - ~%n block(s) remaining - остался ~%n блокосталось ~%n блоковосталось ~%n блоков - - - - &Export... - &Экспорт... - - + Send coins to a Bitcoin address Отправить монеты на указанный адрес Bitcoin @@ -428,12 +428,7 @@ Изменить параметры конфигурации Bitcoin - - Export the data in the current tab to a file - Экспортировать данные из вкладки в файл - - - + Backup wallet to another location Сделать резервную копию бумажника в другом месте @@ -443,7 +438,7 @@ Изменить пароль шифрования бумажника - + &Debug window &Окно отладки @@ -453,23 +448,38 @@ Открыть консоль отладки и диагностики - + &Verify message... &Проверить сообщение... - - + + Bitcoin Биткоин - + Wallet Бумажник - + + &Send + &Отправить + + + + &Receive + &Получить + + + + &Addresses + &Адреса + + + &About Bitcoin &О Bitcoin @@ -484,7 +494,7 @@ Показать или скрыть главное окно - + Encrypt the private keys that belong to your wallet Зашифровать приватные ключи, принадлежащие вашему бумажнику @@ -499,12 +509,12 @@ Проверить сообщения, чтобы удостовериться, что они были подписаны определённым адресом Bitcoin - + &File &Файл - + &Settings &Настройки @@ -519,38 +529,68 @@ Панель вкладок - - Actions toolbar - Панель действий - - - + [testnet] [тестовая сеть] - + Bitcoin client Bitcoin клиент - + %n active connection(s) to Bitcoin network %n активное соединение с сетью%n активных соединений с сетью%n активных соединений с сетью - - Processed %1 of %2 blocks of transaction history (%3% done). - Обработано %1 из %2 блоков истории транзакций (%3% выполнено). + + No block source available... + Источник блоков недоступен... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Обработано %1 из %2 (примерно) блоков истории транзакций. + + + Processed %1 blocks of transaction history. Обработано %1 блоков истории транзакций. + + + %n hour(s) + %n час%n часа%n часов + + + + %n day(s) + %n день%n дня%n дней + + + + %n week(s) + %n неделя%n недели%n недель + - + + %1 behind + %1 позади + + + + Last received block was generated %1 ago. + Последний полученный блок был сгенерирован %1 назад. + + + + Transactions after this will not yet be visible. + Транзакции после этой пока не будут видны. + + + Error Ошибка @@ -565,62 +605,27 @@ Информация - + 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? Транзакция превышает максимальный размер. Вы можете провести её, заплатив комиссию %1, которая достанется узлам, обрабатывающим эту транзакцию, и поможет работе сети. Вы действительно хотите заплатить комиссию? - - Backup Successful - Резервное копирование успешно завершено - - - - The wallet data was successfully saved to the new location. - Данные бумажника успешно сохранены в новое местоположение - - - - %n second(s) ago - %n секунду назад%n секунды назад%n секунд назад - - - - %n minute(s) ago - %n минуту назад%n минуты назад%n минут назад - - - - %n hour(s) ago - %n час назад%n часа назад%n часов назад - - - - %n day(s) ago - %n день назад%n дня назад%n дней назад - - - + Up to date - Синхронизированно + Синхронизировано - + Catching up... Синхронизируется... - - Last received block was generated %1. - Последний полученный блок был сгенерирован %1. - - - + Confirm transaction fee Подтвердите комиссию - + Sent transaction Исходящая транзакция @@ -643,14 +648,14 @@ - - + + URI handling Обработка URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. Не удалось обработать URI! Это может быть связано с неверным адресом Bitcoin или неправильными параметрами URI. @@ -665,27 +670,7 @@ Бумажник <b>зашифрован</b> и в настоящее время <b>заблокирован</b> - - Backup Wallet - Сделать резервную копию бумажника - - - - Wallet Data (*.dat) - Данные бумажника (*.dat) - - - - Backup Failed - Резервное копирование не удалось - - - - There was an error trying to save the wallet data to the new location. - При попытке сохранения данных бумажника в новое место произошла ошибка. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Произошла неисправимая ошибка. Bitcoin не может безопасно продолжать работу и будет закрыт. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Сетевая Тревога @@ -726,7 +711,7 @@ Адрес, связанный с данной записью. - + New receiving address Новый адрес для получения @@ -746,17 +731,17 @@ Изменение адреса для отправки - + The entered address "%1" is already in the address book. Введённый адрес «%1» уже находится в адресной книге. - + The entered address "%1" is not a valid Bitcoin address. Введённый адрес "%1" не является правильным Bitcoin-адресом. - + Could not unlock wallet. Не удается разблокировать бумажник. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Опциональная комиссия за каждый КБ транзакции, которая позволяет быть уверенным, что Ваша транзакция будет обработана быстро. Большинство транзакций занимают 1КБ. Рекомендуется комиссия 0.01. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Необязательная комиссия за каждый КБ транзакции, которая ускоряет обработку Ваших транзакций. Большинство транзакций занимают 1КБ. @@ -983,7 +968,7 @@ &Применить - + default по умолчанию @@ -1028,23 +1013,18 @@ Форма - - + + 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. Отображаемая информация может быть устаревшей. Ваш бумажник автоматически синхронизируется с сетью Bitcoin после подключения, но этот процесс пока не завершён. - + Balance: Баланс: - - Number of transactions: - Количество транзакций: - - - + Unconfirmed: Не подтверждено: @@ -1054,7 +1034,7 @@ Бумажник - + Immature: Незрелые: @@ -1069,7 +1049,7 @@ <b>Последние транзакции</b> - + Your current balance Ваш текущий баланс @@ -1079,18 +1059,21 @@ Общая сумма всех транзакций, которые до сих пор не подтверждены, и до сих пор не учитываются в текущем балансе - - Total number of transactions in wallet - Общее количество транзакций в Вашем бумажнике - - - + out of sync не синхронизировано + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Не удаётся запустить bitcoin: обработчик click-to-pay + + + QRCodeDialog @@ -1165,7 +1148,7 @@ - + N/A Н/Д @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Введите метку для данного адреса (для добавления в адресную книгу) @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + Разработчики Bitcoin + + + + [testnet] + [тестовая сеть] + + + TransactionDesc - + Open until %1 Открыто до %1 @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date Дата @@ -1970,7 +1966,7 @@ TransactionView - + All Все @@ -2057,6 +2053,11 @@ + Copy transaction ID + Скопировать ID транзакции + + + Edit label Изменить метку @@ -2066,7 +2067,7 @@ Показать подробности транзакции - + Export Transaction Data Экспортировать данные транзакций @@ -2121,7 +2122,7 @@ Невозможно записать в файл %1. - + Range: Промежуток от: @@ -2132,138 +2133,181 @@ + WalletModel + + + Send Coins + Отправка + + + + WalletView + + + &Export + &Экспорт + + + + Export the data in the current tab to a file + Экспортировать данные из вкладки в файл + + + + Backup Wallet + Сделать резервную копию бумажника + + + + Wallet Data (*.dat) + Данные бумажника (*.dat) + + + + Backup Failed + Резервное копирование не удалось + + + + There was an error trying to save the wallet data to the new location. + При попытке сохранения данных бумажника в новое место произошла ошибка. + + + + Backup Successful + Резервное копирование успешно завершено + + + + The wallet data was successfully saved to the new location. + Данные бумажника успешно сохранены в новое место. + + + bitcoin-core - + Bitcoin version Версия - + Usage: Использование: - + Send command to -server or bitcoind Отправить команду на -server или bitcoind - + List commands Список команд - + Get help for a command Получить помощь по команде - + Options: Опции: - + Specify configuration file (default: bitcoin.conf) Указать конфигурационный файл (по умолчанию: bitcoin.conf) Specify pid file (default: bitcoind.pid) - Указать pid-файл (по умолчанию: bitcoin.pid) - - - - Generate coins - Генерировать монеты - - - - Don't generate coins - Не генерировать монеты + Задать pid-файл (по умолчанию: bitcoin.pid) - + Specify data directory - Укажите каталог данных + Задать каталог данных - + Set database cache size in megabytes (default: 25) Установить размер кэша базы данных в мегабайтах (по умолчанию: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Принимать входящие подключения на <port> (по умолчанию: 8333 или 18333 в тестовой сети) - + Maintain at most <n> connections to peers (default: 125) Поддерживать не более <n> подключений к узлам (по умолчанию: 125) - + Connect to a node to retrieve peer addresses, and disconnect Подключиться к узлу, чтобы получить список адресов других участников и отключиться - + Specify your own public address Укажите ваш собственный публичный адрес - + Threshold for disconnecting misbehaving peers (default: 100) Порог для отключения неправильно ведущих себя узлов (по умолчанию: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Число секунд блокирования неправильно ведущих себя узлов (по умолчанию: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Произошла ошибка при открытии RPC-порта %u для прослушивания на IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Прослушивать подключения JSON-RPC на <порту> (по умолчанию: 8332 или для testnet: 18332) - + Accept command line and JSON-RPC commands Принимать командную строку и команды JSON-RPC - + Run in the background as a daemon and accept commands Запускаться в фоне как демон и принимать команды - + Use the test network Использовать тестовую сеть - + Accept connections from outside (default: 1 if no -proxy or -connect) Принимать подключения извне (по умолчанию: 1, если не используется -proxy или -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, вы должны установить опцию rpcpassword в конфигурационном файле: %s @@ -2271,11 +2315,14 @@ rpcuser=bitcoinrpc rpcpassword=%s (вам не нужно запоминать этот пароль) -Имя и пароль ДОЛЖНЫ отличаться. -Если файл не существует, создайте его и установите права доступа только для владельца, только для чтения. +Имя и пароль ДОЛЖНЫ различаться. +Если файл не существует, создайте его и установите права доступа только для владельца, только для чтения. +Также рекомендуется включить alertnotify для оповещения о проблемах; +Например: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Произошла ошибка при открытии на прослушивание IPv6 RCP-порта %u, возвращаемся к IPv4: %s @@ -2291,16 +2338,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Обнаружено повреждение базы данных блоков. Пожалуйста, перезапустите клиент с параметром -reindex. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Ошибка инициализации окружения базы данных %s! Чтобы восстановить работоспособность, СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ЭТОГО КАТАЛОГА, после чего удалите из него всё, кроме wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Ошибка: транзакция была отклонена! Это могло произойти в случае, если некоторые монеты в вашем бумажнике уже были потрачены, например, если вы используете копию wallet.dat, и монеты были использованы в копии, но не отмечены как потраченные здесь. @@ -2310,12 +2347,22 @@ Ошибка: эта транзакция требует комиссию как минимум %s из-за суммы, сложности или использования недавно полученных средств! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Выполнить команду, когда приходит сообщение о тревоге (%s в команде заменяется на сообщение) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Выполнить команду, когда меняется транзакция в бумажнике (%s в команде заменяется на TxID) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Максимальный размер высокоприоритетных/низкокомиссионных транзакций в байтах (по умолчанию: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Это пре-релизная тестовая сборка - используйте на свой страх и риск - не используйте для добычи или торговых приложений @@ -2347,7 +2394,7 @@ Attempt to recover private keys from a corrupt wallet.dat - Попытка восстановления приватных ключей из повреждённого wallet.dat + Попытаться восстановить приватные ключи из повреждённого wallet.dat @@ -2355,62 +2402,172 @@ Параметры создания блоков: - + Connect only to the specified node(s) Подключаться только к указанному узлу(ам) + Corrupted block database detected + БД блоков повреждена + + + Discover own IP address (default: 1 when listening and no -externalip) Определить свой IP (по умолчанию: 1 при прослушивании и если не используется -externalip) - + + Do you want to rebuild the block database now? + Пересобрать БД блоков прямо сейчас? + + + + Error initializing block database + Ошибка инициализации БД блоков + + + + Error initializing wallet database environment %s! + Ошибка инициализации окружения БД бумажника %s! + + + Error loading block database Ошибка чтения базы данных блоков - + + Error opening block database + Не удалось открыть БД блоков + + + Error: Disk space is low! Ошибка: мало места на диске! - Error: Transaction creation failed! - Ошибка: не удалось создать транзакцию! + Error: Wallet locked, unable to create transaction! + Ошибка: бумажник заблокирован, невозможно создать транзакцию! - Error: Wallet locked, unable to create transaction! - Ошибка: бумажник заблокирован, невозможно создать транзакцию! + Error: system error: + Ошибка: системная ошибка: - + Failed to listen on any port. Use -listen=0 if you want this. Не удалось начать прослушивание на порту. Используйте -listen=0 если вас это устраивает. + + Failed to read block info + Не удалось прочитать информацию блока + + + + Failed to read block + Не удалось прочитать блок + + + + Failed to sync block index + Не удалось синхронизировать индекс блоков + + + + Failed to write block index + Не удалось записать индекс блоков + + + + Failed to write block info + Не удалось записать информацию блока + + + + Failed to write block + Не удалось записать блок + + + + Failed to write file info + Не удалось записать информацию файла + + + + Failed to write to coin database + Не удалось записать БД монет + + + + Failed to write transaction index + Не удалось записать индекс транзакций + + + + Failed to write undo data + Не удалось записать данные для отмены + + Find peers using DNS lookup (default: 1 unless -connect) Искать узлы с помощью DNS (по умолчанию: 1, если не указан -connect) - + + Generate coins (default: 0) + Включить добычу монет (по умолчанию: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Сколько блоков проверять при запуске (по умолчанию: 288, 0 = все) + + + How thorough the block verification is (0-4, default: 3) Насколько тщательно проверять блок (0-4, по умолчанию: 3) - - Importing blocks from block database... - Импортируются блоки из базы данных блоков... + + Not enough file descriptors available. + Недостаточно файловых дескрипторов. + + + + Rebuild block chain index from current blk000??.dat files + Перестроить индекс цепи блоков из текущих файлов blk000??.dat + + + + Set the number of threads to service RPC calls (default: 4) + Задать число потоков выполнения(по умолчанию: 4) + + + + Verifying blocks... + Проверка блоков... + Verifying wallet... + Проверка бумажника... + + + Imports blocks from external blk000??.dat file Импортировать блоки из внешнего файла blk000??.dat - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Задать число потоков проверки скрипта (вплоть до 16, 0=авто, <0 = оставить столько ядер свободными, по умолчанию: 0) + + + Information Информация @@ -2420,7 +2577,22 @@ Неверный адрес -tor: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Неверное количество в параметре -minrelaytxfee=<кол-во>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Неверное количество в параметре -mintxfee=<кол-во>: '%s' + + + + Maintain a full transaction index (default: 0) + Держать полный индекс транзакций (по умолчанию: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Максимальный размер буфера приёма на соединение, <n>*1000 байт (по умолчанию: 5000) @@ -2430,7 +2602,7 @@ Максимальный размер буфера отправки на соединение, <n>*1000 байт (по умолчанию: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) Принимать цепь блоков, только если она соответствует встроенным контрольным точкам (по умолчанию: 1) @@ -2455,12 +2627,7 @@ Дописывать отметки времени к отладочному выводу - - Rebuild blockchain index from current blk000??.dat files - Перестроить индекс цепи блоков из текущих файлов blk000??.dat - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) Параметры SSL: (см. Bitcoin Wiki для инструкций по настройке SSL) @@ -2468,7 +2635,7 @@ Select the version of socks proxy to use (4-5, default: 5) - Выберите версию SOCKS-прокси (4-5, по умолчанию: 5) + Выбрать версию SOCKS-прокси (4-5, по умолчанию: 5) @@ -2491,17 +2658,42 @@ Минимальный размер блока в байтах (по умолчанию: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Сжимать файл debug.log при запуске клиента (по умолчанию: 1, если нет -debug) + + Signing transaction failed + Не удалось подписать транзакцию + + Specify connection timeout in milliseconds (default: 5000) Таймаут соединения в миллисекундах (по умолчанию: 5000) - + + System error: + Системная ошибка: + + + + Transaction amount too small + Объём транзакции слишком мал + + + + Transaction amounts must be positive + Объём транзакции должен быть положителен + + + + Transaction too large + Транзакция слишком большая + + + Use UPnP to map the listening port (default: 0) Использовать UPnP для проброса порта (по умолчанию: 0) @@ -2532,36 +2724,41 @@ + You need to rebuild the databases using -reindex to change -txindex + Вам необходимо пересобрать базы данных с помощью -reindex, чтобы изменить -txindex + + + wallet.dat corrupt, salvage failed wallet.dat повреждён, спасение данных не удалось - + Password for JSON-RPC connections Пароль для подключений JSON-RPC - + Allow JSON-RPC connections from specified IP address Разрешить подключения JSON-RPC с указанного IP - + Send commands to node running on <ip> (default: 127.0.0.1) Посылать команды узлу, запущенному на <ip> (по умолчанию: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Выполнить команду, когда появляется новый блок (%s в команде заменяется на хэш блока) - + Upgrade wallet to latest format Обновить бумажник до последнего формата - + Set key pool size to <n> (default: 100) Установить размер запаса ключей в <n> (по умолчанию: 100) @@ -2571,17 +2768,12 @@ Перепроверить цепь блоков на предмет отсутствующих в бумажнике транзакций - - How many blocks to check at startup (default: 2500, 0 = all) - Сколько блоков проверять при запуске (по умолчанию: 2500, 0 = все) - - - + Use OpenSSL (https) for JSON-RPC connections Использовать OpenSSL (https) для подключений JSON-RPC - + Server certificate file (default: server.cert) Файл серверного сертификата (по умолчанию: server.cert) @@ -2591,37 +2783,37 @@ Приватный ключ сервера (по умолчанию: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Разрешённые алгоритмы (по умолчанию: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Эта справка - + Unable to bind to %s on this computer (bind returned error %d, %s) Невозможно привязаться к %s на этом компьютере (bind вернул ошибку %d, %s) - + Connect through socks proxy Подключаться через socks прокси - + Allow DNS lookups for -addnode, -seednode and -connect Разрешить поиск в DNS для -addnode, -seednode и -connect - + Loading addresses... Загрузка адресов... - + Error loading wallet.dat: Wallet corrupted Ошибка загрузки wallet.dat: Бумажник поврежден @@ -2631,32 +2823,22 @@ Ошибка загрузки wallet.dat: бумажник требует более новую версию Bitcoin - - Verifying block database integrity... - Проверка целостности базы данных блоков... - - - - Verifying wallet integrity... - Проверка целостности бумажника... - - - + Wallet needed to be rewritten: restart Bitcoin to complete Необходимо перезаписать бумажник, перезапустите Bitcoin для завершения операции. - + Error loading wallet.dat Ошибка при загрузке wallet.dat - + Invalid -proxy address: '%s' Неверный адрес -proxy: '%s' - + Unknown network specified in -onlynet: '%s' В параметре -onlynet указана неизвестная сеть: '%s' @@ -2666,7 +2848,7 @@ В параметре -socks запрошена неизвестная версия: %i - + Cannot resolve -bind address: '%s' Не удаётся разрешить адрес в параметре -bind: '%s' @@ -2676,32 +2858,27 @@ Не удаётся разрешить адрес в параметре -externalip: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Неверное количество в параметре -paytxfee=<кол-во>: '%s' - - Error: could not start node - Ошибка: не удалось запустить узел - - - + Invalid amount Неверное количество - + Insufficient funds Недостаточно монет - + Loading block index... Загрузка индекса блоков... - + Add a node to connect to and attempt to keep the connection open Добавить узел для подключения и пытаться поддерживать соединение открытым @@ -2711,12 +2888,7 @@ Невозможно привязаться к %s на этом компьютере. Возможно, Bitcoin уже работает. - - Find peers using internet relay chat (default: 0) - Найти участников через IRC (по умолчанию: 0) - - - + Fee per KB to add to transactions you send Комиссия на килобайт, добавляемая к вашим транзакциям @@ -2726,42 +2898,37 @@ Загрузка бумажника... - + Cannot downgrade wallet Не удаётся понизить версию бумажника - - Cannot initialize keypool - Не удаётся инициализировать массив ключей - - Cannot write default address Не удаётся записать адрес по умолчанию - + Rescanning... Сканирование... - + Done loading Загрузка завершена - + To use the %s option Чтобы использовать опцию %s - + Error Ошибка - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_sk.ts bitcoin-0.8.5/src/qt/locale/bitcoin_sk.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_sk.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_sk.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> verzia - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,7 +41,7 @@ Adresár - + Double-click to edit address or label Dvojklikom editovať adresu alebo popis @@ -56,12 +61,12 @@ &Nová adresa - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Toto sú Vaše Bitcoin adresy pre prijímanie platieb. Môžete dať každému odosielateľovi inú rôznu adresu a tak udržiavať prehľad o platbách. - + &Copy Address &Kopírovať adresu @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + Exportovať tento náhľad do súboru + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -101,17 +116,27 @@ &Zmazať - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Kopírovať &popis - + &Edit &Upraviť - + + Send &Coins + + + + Export Address Book Data Exportovať dáta z adresára @@ -134,7 +159,7 @@ AddressTableModel - + Label Popis @@ -293,17 +318,17 @@ BitcoinGUI - + Sign &message... Podpísať &správu... - + Synchronizing with network... Synchronizácia so sieťou... - + &Overview &Prehľad @@ -323,32 +348,17 @@ Prechádzať históriu transakcií - - &Address Book - &Adresár - - - + Edit the list of stored addresses and labels Editovať zoznam uložených adries a popisov - - &Receive coins - &Prijať bitcoins - - - + Show the list of addresses for receiving payments Zobraziť zoznam adries pre prijímanie platieb. - - &Send coins - &Poslať bitcoins - - - + E&xit U&končiť @@ -378,7 +388,7 @@ &Možnosti... - + &Encrypt Wallet... &Zašifrovať Peňaženku... @@ -393,7 +403,7 @@ &Zmena Hesla... - + Importing blocks from disk... @@ -402,18 +412,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - &Export... - &Export... - - - + Send coins to a Bitcoin address Poslať bitcoins na adresu @@ -423,12 +423,7 @@ Upraviť možnosti nastavenia pre bitcoin - - Export the data in the current tab to a file - Exportovať tento náhľad do súboru - - - + Backup wallet to another location Zálohovať peňaženku na iné miesto @@ -438,33 +433,48 @@ Zmeniť heslo použité na šifrovanie peňaženky - + &Debug window - + &Okno pre ladenie Open debugging and diagnostic console - + Otvor konzolu pre ladenie a diagnostiku - + &Verify message... - - + + Bitcoin - + Wallet Peňaženka - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &O Bitcoin @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,12 +504,12 @@ - + &File &Súbor - + &Settings &Nastavenia @@ -514,108 +524,103 @@ Lišta záložiek - - Actions toolbar - Lišta aktvivít - - - + [testnet] [testovacia sieť] - + Bitcoin client - + Bitcoin klient - + %n active connection(s) to Bitcoin network %n aktívne spojenie v Bitcoin sieti%n aktívne spojenia v Bitcoin sieti%n aktívnych spojení v Bitconi sieti - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - pred %n sekundoupred %n sekundamipred %n sekundami - - - - %n minute(s) ago - pred %n minútoupred %n minútamipred %n minútami - - - - %n hour(s) ago - pred hodinoupred %n hodinamipred %n hodinami + + + Information + - - - %n day(s) ago - včerapred %n dňamipred %n dňami + + + 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? + - + Up to date Aktualizovaný - + Catching up... Sťahujem... - - Last received block was generated %1. - Posledný prijatý blok bol generovaný %1. - - - + Confirm transaction fee - + Potvrď poplatok za transakciu. - + Sent transaction Odoslané transakcie @@ -637,14 +642,14 @@ Adresa: %4 - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -659,27 +664,7 @@ Peňaženka je <b>zašifrovaná</b> a momentálne <b>zamknutá</b> - - Backup Wallet - Zálohovať peňaženku - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - Nastala chyba pri pokuse uložiť peňaženku na nové miesto. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -687,7 +672,7 @@ ClientModel - + Network Alert @@ -720,7 +705,7 @@ Adresa spojená s týmto záznamom v adresári. Možno upravovať len pre odosielajúce adresy. - + New receiving address Nová adresa pre prijímanie @@ -740,17 +725,17 @@ Upraviť odosielaciu adresu - + The entered address "%1" is already in the address book. Vložená adresa "%1" sa už nachádza v adresári. - + The entered address "%1" is not a valid Bitcoin address. Vložená adresa "%1" nieje platnou adresou bitcoin. - + Could not unlock wallet. Nepodarilo sa odomknúť peňaženku. @@ -763,7 +748,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -818,8 +803,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Voliteľný transakčný poplatok za kB ktorý pomôže rýchlemu spracovaniu transakcie. Väčšina transakcií má 1 kB. Poplatok 0.01 je odporúčaný. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -977,7 +962,7 @@ - + default @@ -1022,23 +1007,18 @@ Forma - - + + 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. - + Balance: Zostatok: - - Number of transactions: - Počet transakcií: - - - + Unconfirmed: Nepotvrdené: @@ -1048,7 +1028,7 @@ Peňaženka - + Immature: @@ -1063,7 +1043,7 @@ <b>Nedávne transakcie</b> - + Your current balance Váš súčasný zostatok @@ -1073,18 +1053,21 @@ Suma transakcií ktoré ešte neboli potvrdené a nezapočítavaju sa do celkového zostatku. - - Total number of transactions in wallet - Celkový počet transakcií v peňaženke - - - + out of sync + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1119,7 +1102,7 @@ Error encoding URI into QR Code. - + Chyba v zakódovaní URI do QR kódu @@ -1129,17 +1112,17 @@ Resulting URI too long, try to reduce the text for label / message. - + Výsledné URI príliš dlhé, skráť text pre názov / správu. Save QR Code - + Ukladanie QR kódu PNG Images (*.png) - + PNG obrázky (*.png) @@ -1147,7 +1130,7 @@ Client name - + Meno klienta @@ -1159,14 +1142,14 @@ - + N/A - + nie je k dispozícii Client version - + Verzia klienta @@ -1186,27 +1169,27 @@ Network - + Sieť Number of connections - + Počet pripojení On testnet - + Na testovacej sieti Block chain - + Reťazec blokov Current number of blocks - + Aktuálny počet blokov @@ -1423,7 +1406,7 @@ - + Enter a label for this address to add it to your address book Vložte popis pre túto adresu aby sa pridala do adresára @@ -1657,9 +1640,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testovacia sieť] + + + TransactionDesc - + Open until %1 Otvorené do %1 @@ -1846,7 +1842,7 @@ TransactionTableModel - + Date Dátum @@ -1964,7 +1960,7 @@ TransactionView - + All Všetko @@ -2051,6 +2047,11 @@ + Copy transaction ID + + + + Edit label Editovať popis @@ -2060,7 +2061,7 @@ - + Export Transaction Data Exportovať transakčné dáta @@ -2115,7 +2116,7 @@ Nedalo sa zapisovať do súboru %1. - + Range: Rozsah: @@ -2126,39 +2127,90 @@ - bitcoin-core + WalletModel - - Bitcoin version - Bitcoin verzia + + Send Coins + Poslať Bitcoins + + + WalletView - - Usage: - Použitie: + + &Export + - - Send command to -server or bitcoind - Odoslať príkaz -server alebo bitcoind + + Export the data in the current tab to a file + Exportovať tento náhľad do súboru - - List commands - Zoznam príkazov + + Backup Wallet + - - Get help for a command - Dostať pomoc pre príkaz + + Wallet Data (*.dat) + - - Options: + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + Bitcoin verzia + + + + Usage: + Použitie: + + + + Send command to -server or bitcoind + Odoslať príkaz -server alebo bitcoind + + + + List commands + Zoznam príkazov + + + + Get help for a command + Dostať pomoc pre príkaz + + + + Options: Možnosti: - + Specify configuration file (default: bitcoin.conf) Určiť súbor s nastaveniami (predvolené: bitcoin.conf) @@ -2168,100 +2220,92 @@ Určiť súbor pid (predvolené: bitcoind.pid) - - Generate coins - Počítaj bitcoins - - - - Don't generate coins - Nepočítaj bitcoins - - - + Specify data directory Určiť priečinok s dátami - + Set database cache size in megabytes (default: 25) - + Veľkosť vyrovnávajúcej pamäte pre databázu v megabytoch (predvolené:25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Načúvať spojeniam na <port> (prednastavené: 8333 alebo testovacia sieť: 18333) - + Maintain at most <n> connections to peers (default: 125) Udržiavať maximálne <n> spojení (predvolené: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Hranica pre odpojenie zle sa správajúcich peerov (predvolené: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + Počet sekúnd kedy sa zabráni zle sa správajúcim peerom znovupripojenie (predvolené: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Počúvať JSON-RPC spojeniam na <port> (predvolené: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands Prijímať príkazy z príkazového riadku a JSON-RPC - + Run in the background as a daemon and accept commands Bežať na pozadí ako démon a prijímať príkazy - + Use the test network Použiť testovaciu sieť - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2277,22 +2321,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2301,7 +2345,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2341,62 +2385,172 @@ - + Connect only to the specified node(s) Pripojiť sa len k určenej nóde + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2406,7 +2560,22 @@ Neplatná adresa tor: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2416,7 +2585,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2441,12 +2610,7 @@ Pridať na začiatok ladiaceho výstupu časový údaj - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL možnosť: (pozrite Bitcoin Wiki pre návod na nastavenie SSL) @@ -2476,17 +2640,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) Určiť aut spojenia v milisekundách (predvolené: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) Skúsiť použiť UPnP pre mapovanie počúvajúceho portu (default: 0) @@ -2517,36 +2706,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections Heslo pre JSON-rPC spojenia - + Allow JSON-RPC connections from specified IP address Povoliť JSON-RPC spojenia z určenej IP adresy. - + Send commands to node running on <ip> (default: 127.0.0.1) Poslať príkaz nóde bežiacej na <ip> (predvolené: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Vykonaj príkaz, ak zmeny v najlepšom bloku (%s v príkaze nahradí blok hash) - + Upgrade wallet to latest format - + Aktualizuj peňaženku na najnovší formát. - + Set key pool size to <n> (default: 100) Nastaviť zásobu adries na <n> (predvolené: 100) @@ -2556,17 +2750,12 @@ Znovu skenovať reťaz blokov pre chýbajúce transakcie - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections Použiť OpenSSL (https) pre JSON-RPC spojenia - + Server certificate file (default: server.cert) Súbor s certifikátom servra (predvolené: server.cert) @@ -2576,37 +2765,37 @@ Súkromný kľúč servra (predvolené: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Prijateľné šifry (predvolené: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Táto pomocná správa - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy Pripojenie cez socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect Povoliť vyhľadávanie DNS pre pridanie nódy a spojenie - + Loading addresses... Načítavanie adries... - + Error loading wallet.dat: Wallet corrupted Chyba načítania wallet.dat: Peňaženka je poškodená @@ -2616,32 +2805,22 @@ Chyba načítania wallet.dat: Peňaženka vyžaduje novšiu verziu Bitcoin - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Bolo potrebné prepísať peňaženku: dokončite reštartovaním Bitcoin - + Error loading wallet.dat Chyba načítania wallet.dat - + Invalid -proxy address: '%s' Neplatná adresa proxy: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2651,7 +2830,7 @@ - + Cannot resolve -bind address: '%s' @@ -2661,34 +2840,29 @@ - + Invalid amount for -paytxfee=<amount>: '%s' Neplatná suma pre -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount Neplatná suma - + Insufficient funds - + Nedostatok prostriedkov - + Loading block index... Načítavanie zoznamu blokov... - + Add a node to connect to and attempt to keep the connection open - Pridať nódu a pripojiť sa and attempt to keep the connection open + Pridať nód na pripojenie a pokus o udržanie pripojenia otvoreného @@ -2696,12 +2870,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send Poplatok za kB ktorý treba pridať k odoslanej transakcii @@ -2711,46 +2880,43 @@ Načítavam peňaženku... - + Cannot downgrade wallet - - - - - Cannot initialize keypool - + Nie je možné prejsť na nižšiu verziu peňaženky Cannot write default address - + Nie je možné zapísať predvolenú adresu. - + Rescanning... - + Done loading Dokončené načítavanie - + To use the %s option - + Použiť %s možnosť. - + Error Chyba - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. - + Musíš nastaviť rpcpassword=<heslo> v konfiguračnom súbore: +%s +Ak súbor neexistuje, vytvor ho s oprávnením pre čítanie len vlastníkom (owner-readable-only) \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_sr.ts bitcoin-0.8.5/src/qt/locale/bitcoin_sr.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_sr.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_sr.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> верзија - - Copyright © 2009-2012 The Bitcoin developers - - - - + This is experimental software. @@ -27,6 +22,16 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage @@ -36,7 +41,7 @@ Адресар - + Double-click to edit address or label Кликните два пута да промените адресу и/или етикету @@ -56,19 +61,19 @@ &Нова адреса - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Ово су Ваше Bitcoin адресе за примање уплата. Можете да сваком пошиљаоцу дате другачију адресу да би пратили ко је вршио уплате. - + &Copy Address Show &QR Code - + Prikaži &QR kod @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -101,17 +116,27 @@ &Избриши - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label - + &Edit - + + Send &Coins + + + + Export Address Book Data Извоз података из адресара @@ -134,7 +159,7 @@ AddressTableModel - + Label Етикета @@ -246,7 +271,7 @@ Bitcoin 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. - + Bitcoin će se sad zatvoriti da bi završio proces enkripcije. Zapamti da enkripcija tvog novčanika ne može u potpunosti da zaštiti tvoje bitcoine da ne budu ukradeni od malawarea koji bi inficirao tvoj kompjuter. @@ -293,17 +318,17 @@ BitcoinGUI - + Sign &message... - + Synchronizing with network... Синхронизација са мрежом у току... - + &Overview &Општи преглед @@ -323,34 +348,19 @@ Претражите историјат трансакција - - &Address Book - &Адресар - - - + Edit the list of stored addresses and labels Уредите запамћене адресе и њихове етикете - - &Receive coins - П&римање новца - - - + Show the list of addresses for receiving payments Прегледајте листу адреса на којима прихватате уплате - - &Send coins - &Слање новца - - - + E&xit - + I&zlaz @@ -378,7 +388,7 @@ П&оставке... - + &Encrypt Wallet... &Шифровање новчаника... @@ -393,7 +403,7 @@ Промени &лозинку... - + Importing blocks from disk... @@ -402,18 +412,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - &Извоз... - - + Send coins to a Bitcoin address Пошаљите новац на bitcoin адресу @@ -423,12 +423,7 @@ Изаберите могућности bitcoin-а - - Export the data in the current tab to a file - - - - + Backup wallet to another location @@ -438,7 +433,7 @@ Мењање лозинке којом се шифрује новчаник - + &Debug window @@ -448,23 +443,38 @@ - + &Verify message... - - + + Bitcoin - + Wallet новчаник - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &О Bitcoin-у @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,12 +504,12 @@ - + &File &Фајл - + &Settings &Подешавања @@ -514,108 +524,103 @@ Трака са картицама - - Actions toolbar - Трака са алаткама - - - + [testnet] [testnet] - + Bitcoin client - + %n active connection(s) to Bitcoin network %n активна веза са Bitcoin мрежом%n активне везе са Bitcoin мрежом%n активних веза са Bitcoin мрежом - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - пре %n секундпре %n секундепре %n секунди - - - - %n minute(s) ago - пре %n минутпре %n минутапре %n минута - - - - %n hour(s) ago - пре %n сатпре %n сатапре %n сати + + + Information + - - - %n day(s) ago - пре %n данпре %n данапре %n дана + + + 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? + - + Up to date Ажурно - + Catching up... Ажурирање у току... - - Last received block was generated %1. - Последњи примљени блок је направљен %1. - - - + Confirm transaction fee - + Sent transaction Послана трансакција @@ -631,17 +636,17 @@ Type: %3 Address: %4 - + Datum: %1⏎ Iznos: %2⏎ Tip: %3⏎ Adresa: %4⏎ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -656,27 +661,7 @@ Новчаник јс <b>шифрован</b> и тренутно <b>закључан</b> - - Backup Wallet - Backup новчаника - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -684,7 +669,7 @@ ClientModel - + Network Alert @@ -694,7 +679,7 @@ Edit Address - + Измени адресу @@ -717,7 +702,7 @@ - + New receiving address @@ -737,17 +722,17 @@ - + The entered address "%1" is already in the address book. - + Унешена адреса "%1" се већ налази у адресару. - + The entered address "%1" is not a valid Bitcoin address. - + Could not unlock wallet. Немогуће откључати новчаник. @@ -760,7 +745,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -773,7 +758,7 @@ Usage: - + Korišćenje: @@ -815,7 +800,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -974,7 +959,7 @@ - + default @@ -1016,28 +1001,23 @@ Form - + Форма - - + + 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. - + Balance: - - Number of transactions: - - - - + Unconfirmed: - + Непотврђено: @@ -1045,7 +1025,7 @@ новчаник - + Immature: @@ -1057,10 +1037,10 @@ <b>Recent transactions</b> - + <b>Недавне трансакције</b> - + Your current balance @@ -1070,18 +1050,21 @@ - - Total number of transactions in wallet - Укупан број трансакција у новчанику - - - + out of sync + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + + + + QRCodeDialog @@ -1091,12 +1074,12 @@ Request Payment - + Zatraži isplatu Amount: - + Iznos: @@ -1106,12 +1089,12 @@ Message: - + Poruka: &Save As... - + &Snimi kao... @@ -1156,7 +1139,7 @@ - + N/A @@ -1313,7 +1296,7 @@ Remove all transaction fields - + Ukloni sva polja sa transakcijama @@ -1333,7 +1316,7 @@ Confirm the send action - + Потврди акцију слања @@ -1358,7 +1341,7 @@ and - + и @@ -1401,7 +1384,7 @@ Form - + Форма @@ -1420,7 +1403,7 @@ - + Enter a label for this address to add it to your address book @@ -1432,7 +1415,7 @@ Choose address from address book - + Izaberite adresu iz adresara @@ -1457,7 +1440,7 @@ Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Unesite Bitcoin adresu (n.pr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1574,7 +1557,7 @@ Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) - + Unesite Bitcoin adresu (n.pr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L) @@ -1654,11 +1637,24 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 - + Otvorite do %1 @@ -1668,12 +1664,12 @@ %1/unconfirmed - + %1/nepotvrdjeno %1 confirmations - + %1 potvrde @@ -1688,7 +1684,7 @@ Date - + datum @@ -1799,7 +1795,7 @@ Amount - + iznos @@ -1814,7 +1810,7 @@ , has not been successfully broadcast yet - + , nije još uvek uspešno emitovan @@ -1824,7 +1820,7 @@ unknown - + nepoznato @@ -1832,25 +1828,25 @@ Transaction details - + detalji transakcije This pane shows a detailed description of the transaction - + Ovaj odeljak pokazuje detaljan opis transakcije TransactionTableModel - + Date - + datum Type - + tip @@ -1860,7 +1856,7 @@ Amount - + iznos @@ -1870,22 +1866,22 @@ Open until %1 - + Otvoreno do %1 Offline (%1 confirmations) - + Offline * van mreže (%1 potvrdjenih) Unconfirmed (%1 of %2 confirmations) - + Nepotvrdjeno (%1 of %2 potvrdjenih) Confirmed (%1 confirmations) - + Potvrdjena (%1 potvrdjenih) @@ -1895,161 +1891,166 @@ This block was not received by any other nodes and will probably not be accepted! - + Ovaj blok nije primljen od ostalih čvorova (nodova) i verovatno neće biti prihvaćen! Generated but not accepted - + Generisan ali nije prihvaćen Received with - + Primljen sa Received from - + Primljeno od Sent to - + Poslat ka Payment to yourself - + Isplata samom sebi Mined - + Minirano (n/a) - + (n/a) Transaction status. Hover over this field to show number of confirmations. - + Status vaše transakcije. Predjite mišem preko ovog polja da bi ste videli broj konfirmacija Date and time that the transaction was received. - + Datum i vreme primljene transakcije. Type of transaction. - + Tip transakcije Destination address of transaction. - + Destinacija i adresa transakcije Amount removed from or added to balance. - + Iznos odbijen ili dodat balansu. TransactionView - + All - + Sve Today - + Danas This week - + ove nedelje This month - + Ovog meseca Last month - + Prošlog meseca This year - + Ove godine Range... - + Opseg... Received with - + Primljen sa Sent to - + Poslat ka To yourself - + Vama - samom sebi Mined - + Minirano Other - + Drugi Enter address or label to search - + Navedite adresu ili naziv koji bi ste potražili Min amount - + Min iznos Copy address - + kopiraj adresu Copy label - + kopiraj naziv Copy amount + kopiraj iznos + + + + Copy transaction ID Edit label - + promeni naziv @@ -2057,9 +2058,9 @@ - + Export Transaction Data - + Izvezi podatke o transakcijama @@ -2069,17 +2070,17 @@ Confirmed - + Potvrdjen Date - + datum Type - + tip @@ -2094,7 +2095,7 @@ Amount - + iznos @@ -2112,153 +2113,198 @@ Није могуће писати у фајл %1. - + Range: - + Opseg: to + do + + + + WalletModel + + + Send Coins + Слање новца + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. bitcoin-core - + Bitcoin version Bitcoin верзија - + Usage: - + Korišćenje: - + Send command to -server or bitcoind - + Pošalji naredbu na -server ili bitcoinid + - + List commands - + Listaj komande - + Get help for a command - + Zatraži pomoć za komande - + Options: - Поставке + Opcije - + Specify configuration file (default: bitcoin.conf) - + Potvrdi željeni konfiguracioni fajl (podrazumevani:bitcoin.conf) Specify pid file (default: bitcoind.pid) - - - - - Generate coins - - - - - Don't generate coins - + Konkretizuj pid fajl (podrazumevani: bitcoind.pid) - + Specify data directory - + Gde je konkretni data direktorijum - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Slušaj konekcije na <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Održavaj najviše <n> konekcija po priključku (default: 125) + - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Prihvati komandnu liniju i JSON-RPC komande - + Run in the background as a daemon and accept commands - + Radi u pozadini kao daemon servis i prihvati komande - + Use the test network - + Koristi testnu mrežu - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2274,22 +2320,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2298,7 +2344,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2338,62 +2384,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2403,7 +2559,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2413,7 +2584,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2438,12 +2609,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2473,17 +2639,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2500,7 +2691,7 @@ Username for JSON-RPC connections - + Korisničko ime za JSON-RPC konekcije @@ -2514,96 +2705,96 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Lozinka za JSON-RPC konekcije - + Allow JSON-RPC connections from specified IP address - + Dozvoli JSON-RPC konekcije sa posebne IP adrese - + Send commands to node running on <ip> (default: 127.0.0.1) - + Pošalji komande to nodu koji radi na <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) - + Odredi veličinu zaštićenih ključeva na <n> (default: 100) Rescan the block chain for missing wallet transactions - + Ponovo skeniraj lanac blokova za nedostajuće transakcije iz novčanika - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Koristi OpenSSL (https) za JSON-RPC konekcije - + Server certificate file (default: server.cert) Server private key (default: server.pem) - + privatni ključ za Server (podrazumevan: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + Prihvatljive cifre (podrazumevano: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Ova poruka Pomoći - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... - + učitavam adrese.... - + Error loading wallet.dat: Wallet corrupted @@ -2613,32 +2804,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2648,7 +2829,7 @@ - + Cannot resolve -bind address: '%s' @@ -2658,32 +2839,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Insufficient funds - + Loading block index... - + Učitavam blok indeksa... - + Add a node to connect to and attempt to keep the connection open @@ -2693,12 +2869,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send @@ -2708,42 +2879,37 @@ Новчаник се учитава... - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... - + Ponovo skeniram... - + Done loading - + Završeno učitavanje - + To use the %s option - + Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_sv.ts bitcoin-0.8.5/src/qt/locale/bitcoin_sv.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_sv.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_sv.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b>-version - - Copyright © 2009-2012 The Bitcoin developers - Copyright © 2009-2012 Bitcoin-utvecklarna - - - + This is experimental software. @@ -33,6 +28,16 @@ Denna produkten innehåller mjukvara utvecklad av OpenSSL Project för användning i OpenSSL Toolkit (http://www.openssl.org/) och kryptografisk mjukvara utvecklad av Eric Young (eay@cryptsoft.com) samt UPnP-mjukvara skriven av Thomas Bernard. + + + Copyright + Copyright + + + + The Bitcoin developers + Bitcoin-utvecklarna + AddressBookPage @@ -42,7 +47,7 @@ Adressbok - + Double-click to edit address or label Dubbel-klicka för att ändra adressen eller etiketten @@ -62,12 +67,12 @@ &Ny adress - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Detta är dina Bitcoin-adresser för att ta emot betalningar. Du kan ge varje avsändare en egen adress så att du kan hålla reda på vem som betalar dig. - + &Copy Address &Kopiera adress @@ -92,7 +97,17 @@ Ta bort den valda adressen från listan - + + Export the data in the current tab to a file + Exportera informationen i den nuvarande fliken till en fil + + + + &Export + &Exportera + + + Verify a message to ensure it was signed with a specified Bitcoin address Verifiera meddelandet för att vara säker på att den var signerad med den specificerade Bitcoin-adressen @@ -107,17 +122,27 @@ &Radera - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Detta är dina Bitcoin adresser för att skicka betalningar. Kolla alltid summan och den mottagande adressen innan du skickar Bitcoins. + + + Copy &Label Kopiera &etikett - + &Edit &Editera - + + Send &Coins + Skicka &Bitcoins + + + Export Address Book Data Exportera Adressbok @@ -140,7 +165,7 @@ AddressTableModel - + Label Etikett @@ -299,17 +324,17 @@ BitcoinGUI - + Sign &message... Signera &meddelande... - + Synchronizing with network... Synkroniserar med nätverk... - + &Overview &Översikt @@ -329,32 +354,17 @@ Bläddra i transaktionshistorik - - &Address Book - &Adressbok - - - + Edit the list of stored addresses and labels Redigera listan med lagrade adresser och etiketter - - &Receive coins - &Ta emot bitcoins - - - + Show the list of addresses for receiving payments Visa listan med adresser för att ta emot betalningar - - &Send coins - &Skicka bitcoins - - - + E&xit &Avsluta @@ -384,7 +394,7 @@ &Alternativ... - + &Encrypt Wallet... &Kryptera plånbok... @@ -399,7 +409,7 @@ &Byt Lösenord... - + Importing blocks from disk... Importerar block från disk... @@ -408,18 +418,8 @@ Reindexing blocks on disk... Återindexerar block på disken... - - - ~%n block(s) remaining - ~%n block återstår~%n block återstår - - - &Export... - &Exportera... - - - + Send coins to a Bitcoin address Skicka mynt till en Bitcoin-adress @@ -429,12 +429,7 @@ Ändra konfigurationsalternativ för Bitcoin - - Export the data in the current tab to a file - Exportera informationen i den nuvarande fliken till en fil - - - + Backup wallet to another location Säkerhetskopiera plånboken till en annan plats @@ -444,7 +439,7 @@ Byt lösenord för kryptering av plånbok - + &Debug window &Debug fönster @@ -454,23 +449,38 @@ Öppna debug- och diagnostikkonsolen - + &Verify message... &Verifiera meddelande... - - + + Bitcoin Bitcoin - + Wallet Plånbok - + + &Send + &Skicka + + + + &Receive + &Ta emot + + + + &Addresses + &Adresser + + + &About Bitcoin &Om Bitcoin @@ -485,7 +495,7 @@ Visa eller göm huvudfönstret - + Encrypt the private keys that belong to your wallet Kryptera de privata nycklar som tillhör din plånbok @@ -500,12 +510,12 @@ Verifiera meddelanden för att vara säker på att de var signerade med den specificerade Bitcoin-adressen - + &File &Arkiv - + &Settings &Inställningar @@ -520,38 +530,68 @@ Verktygsfält för Tabbar - - Actions toolbar - Verktygsfältet för Handlingar - - - + [testnet] [testnet] - + Bitcoin client Bitcoin-klient - + %n active connection(s) to Bitcoin network %n aktiv anslutning till Bitcoin-nätverket%n aktiva anslutningar till Bitcoin-nätverket - - Processed %1 of %2 blocks of transaction history (%3% done). - Bearbetat %1 av %2 block i transaktionshistoriken (%3% klart). + + No block source available... + Ingen block-källa tillgänglig... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Bearbetat %1 av %2 (uppskattade) block av transaktionshistorik. + + + Processed %1 blocks of transaction history. Bearbetat %1 block i transaktionshistoriken. + + + %n hour(s) + %n timme%n timmar + + + + %n day(s) + %n dag%n dagar + + + + %n week(s) + %n vecka%n veckor + - + + %1 behind + %1 efter + + + + Last received block was generated %1 ago. + Senast mottagna block genererades %1 sen. + + + + Transactions after this will not yet be visible. + Transaktioner efter denna kommer inte ännu vara synliga. + + + Error Fel @@ -566,62 +606,27 @@ Information - + 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? Transaktionen överskrider storleksgränsen. Du kan dock fortfarande skicka den mot en kostnad av %1, som går till noderna som behandlar din transaktion och bidrar till nätverket. Vill du betala denna avgift? - - Backup Successful - Säkerhetskopiering lyckades - - - - The wallet data was successfully saved to the new location. - Plånbokens data har sparats till den nya platsen. - - - - %n second(s) ago - %n sekund sedan%n sekunder sedan - - - - %n minute(s) ago - %n minut sedan%n minuter sedan - - - - %n hour(s) ago - %n timme sedan%n timmar sedan - - - - %n day(s) ago - %n dag sedan%n dagar sedan - - - + Up to date Uppdaterad - + Catching up... Hämtar senaste... - - Last received block was generated %1. - Senast mottagna block genererades %1. - - - + Confirm transaction fee Bekräfta överföringsavgift - + Sent transaction Transaktion skickad @@ -644,14 +649,14 @@ - - + + URI handling URI hantering - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI går inte att tolkas! Detta kan orsakas av en ogiltig Bitcoin-adress eller felaktiga URI parametrar. @@ -666,27 +671,7 @@ Denna plånbok är <b>krypterad</b> och för närvarande <b>låst</b> - - Backup Wallet - Säkerhetskopiera Plånbok - - - - Wallet Data (*.dat) - Plånboks-data (*.dat) - - - - Backup Failed - Säkerhetskopiering misslyckades - - - - There was an error trying to save the wallet data to the new location. - Det inträffade ett fel när plånboken skulle sparas till den nya platsen. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Ett allvarligt fel har uppstått. Bitcoin kan inte längre köras säkert och kommer att avslutas. @@ -694,7 +679,7 @@ ClientModel - + Network Alert Nätverkslarm @@ -727,7 +712,7 @@ Adressen som är associerad med detta adressboksinlägg. Detta kan enbart ändras för sändande adresser. - + New receiving address Ny mottagaradress @@ -747,17 +732,17 @@ Redigera avsändaradress - + The entered address "%1" is already in the address book. Den angivna adressen "%1" finns redan i adressboken. - + The entered address "%1" is not a valid Bitcoin address. Den angivna adressen "%1" är inte en giltig Bitcoin-adress. - + Could not unlock wallet. Plånboken kunde inte låsas upp. @@ -770,7 +755,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -825,8 +810,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Valfri transaktionsavgift per kB som ser till att dina transaktioner behandlas snabbt. De flesta transaktioner är 1 kB. Avgift 0.01 rekommenderas. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Valfri transaktionsavgift per kB som ser till att dina transaktioner behandlas snabbt. De flesta transaktioner är 1 kB. @@ -984,7 +969,7 @@ &Verkställ - + default standard @@ -1029,23 +1014,18 @@ Formulär - - + + 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. Den visade informationen kan vara inaktuell. Plånboken synkroniseras automatiskt med Bitcoin-nätverket efter att anslutningen är upprättad, men denna process har inte slutförts ännu. - + Balance: Saldo: - - Number of transactions: - Antal transaktioner: - - - + Unconfirmed: Obekräftade: @@ -1055,7 +1035,7 @@ Plånbok - + Immature: Omogen: @@ -1070,7 +1050,7 @@ <b>Nyligen genomförda transaktioner</b> - + Your current balance Ditt nuvarande saldo @@ -1080,18 +1060,21 @@ Totalt antal transaktioner som ännu inte bekräftats, och som ännu inte räknas med i aktuellt saldo - - Total number of transactions in wallet - Totalt antal transaktioner i plånboken - - - + out of sync osynkroniserad + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Kan inte starta bitcin: klicka-och-betala handhavare + + + QRCodeDialog @@ -1166,7 +1149,7 @@ - + N/A ej tillgänglig @@ -1430,7 +1413,7 @@ - + Enter a label for this address to add it to your address book Ange ett namn för den här adressen och lägg till den i din adressbok @@ -1664,9 +1647,22 @@ + SplashScreen + + + The Bitcoin developers + Bitcoin-utvecklarna + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 Öppet till %1 @@ -1853,7 +1849,7 @@ TransactionTableModel - + Date Datum @@ -1971,7 +1967,7 @@ TransactionView - + All Alla @@ -2058,6 +2054,11 @@ + Copy transaction ID + Kopiera transaktions ID + + + Edit label Ändra etikett @@ -2067,7 +2068,7 @@ Visa transaktionsdetaljer - + Export Transaction Data Exportera Transaktionsdata @@ -2122,7 +2123,7 @@ Kunde inte skriva till filen %1. - + Range: Intervall: @@ -2133,39 +2134,90 @@ + WalletModel + + + Send Coins + Skicka pengar + + + + WalletView + + + &Export + &Exportera + + + + Export the data in the current tab to a file + Exportera informationen i den nuvarande fliken till en fil + + + + Backup Wallet + Säkerhetskopiera Plånbok + + + + Wallet Data (*.dat) + Plånboks-data (*.dat) + + + + Backup Failed + Säkerhetskopiering misslyckades + + + + There was an error trying to save the wallet data to the new location. + Det inträffade ett fel när plånboken skulle sparas till den nya platsen. + + + + Backup Successful + Säkerhetskopiering lyckades + + + + The wallet data was successfully saved to the new location. + Plånbokens data har sparats till den nya platsen. + + + bitcoin-core - + Bitcoin version Bitcoin version - + Usage: Användning: - + Send command to -server or bitcoind Skicka kommando till -server eller bitcoind - + List commands Lista kommandon - + Get help for a command Få hjälp med ett kommando - + Options: Inställningar: - + Specify configuration file (default: bitcoin.conf) Ange konfigurationsfil (förvalt: bitcoin.conf) @@ -2175,95 +2227,87 @@ Ange pid fil (förvalt: bitcoind.pid) - - Generate coins - Generera mynt - - - - Don't generate coins - Generera inte mynt - - - + Specify data directory Ange katalog för data - + Set database cache size in megabytes (default: 25) Sätt databas cache storleken i megabyte (förvalt: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Lyssna efter anslutningar på <port> (förvalt: 8333 eller testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Ha som mest <n> anslutningar till andra klienter (förvalt: 125) - + Connect to a node to retrieve peer addresses, and disconnect Anslut till en nod för att hämta klientadresser, och koppla från - + Specify your own public address Ange din egen publika adress - + Threshold for disconnecting misbehaving peers (default: 100) Tröskelvärde för att koppla ifrån klienter som missköter sig (förvalt: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Antal sekunder att hindra klienter som missköter sig från att ansluta (förvalt: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s Ett fel uppstod vid upprättandet av RPC port %u för att lyssna på IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) Lyssna på JSON-RPC-anslutningar på <port> (förvalt: 8332 eller testnet: 18332) - + Accept command line and JSON-RPC commands Tillåt kommandon från kommandotolken och JSON-RPC-kommandon - + Run in the background as a daemon and accept commands Kör i bakgrunden som tjänst och acceptera kommandon - + Use the test network Använd testnätverket - + Accept connections from outside (default: 1 if no -proxy or -connect) Acceptera anslutningar utifrån (förvalt: 1 om ingen -proxy eller -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, du behöver sätta ett rpclösensord i konfigurationsfilen: %s @@ -2271,11 +2315,14 @@ rpcuser=bitcoinrpc rpcpassword=%s (du behöver inte komma ihåg lösenordet) -Användar namnet och lösenordet FÅR INTE bara detsamma. -Om filen inte existerar, skapa den med enbart ägarläsbara filrättigheter. +Användarnamnet och lösenordet FÅR INTE bara detsamma. +Om filen inte existerar, skapa den med enbart ägarläsbara filrättigheter. +Det är också rekommenderat att sätta alertnotify så du meddelas om problem; +till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s Ett fel uppstod vid upprättandet av RPC port %u för att lyssna på IPv6, faller tillbaka till IPV4: %s @@ -2291,16 +2338,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Korrupt blockdatabas har upptäckts. Starta om klienten med -reindex. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - Fel vid initiering databasmiljön %s! För att återställa, SÄKERHETSKOPIERA KATALOGEN, därefter ta bort allt från det utom wallet.dat. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Fel: Transaktionen avslogs! Detta kan hända om några av mynten i plånboken redan spenderats, t.ex om du använt en kopia av wallet.dat och mynt spenderades i kopian men inte markerats som spenderas här. @@ -2310,12 +2347,22 @@ Fel: Denna transaktion kräver en transaktionsavgift på minst %s på grund av dess storlek, komplexitet, eller användning av senast mottagna bitcoins! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + Exekvera kommando när ett relevant meddelande är mottagen (%s i cmd är utbytt med ett meddelande) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Exekvera kommando när en plånbokstransaktion ändras (%s i cmd är ersatt av TxID) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Sätt den maximala storleken av hög-prioriterade/låg-avgifts transaktioner i byte (förvalt: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Detta är ett förhands testbygge - använd på egen risk - använd inte för mining eller handels applikationer @@ -2355,62 +2402,172 @@ Block skapande inställningar: - + Connect only to the specified node(s) Koppla enbart upp till den/de specificerade noden/noder + Corrupted block database detected + Korrupt blockdatabas har upptäckts + + + Discover own IP address (default: 1 when listening and no -externalip) Hitta egen IP-adress (förvalt: 1 under lyssning och utan -externalip) - + + Do you want to rebuild the block database now? + Vill du bygga om blockdatabasen nu? + + + + Error initializing block database + Fel vid initiering av blockdatabasen + + + + Error initializing wallet database environment %s! + Fel vid initiering av plånbokens databasmiljö %s! + + + Error loading block database Fel vid inläsning av blockdatabasen - + + Error opening block database + Fel vid öppning av blockdatabasen + + + Error: Disk space is low! Fel: Hårddiskutrymme är lågt! - Error: Transaction creation failed! - Fel: Transaktionen gick inte att skapa! + Error: Wallet locked, unable to create transaction! + Fel: Plånboken är låst, det går ej att skapa en transaktion! - Error: Wallet locked, unable to create transaction! - Fel: Plånboken är låst, det går ej att skapa en transaktion! + Error: system error: + Fel: systemfel: - + Failed to listen on any port. Use -listen=0 if you want this. Misslyckades att lyssna på någon port. Använd -listen=0 om du vill detta. + + Failed to read block info + Misslyckades att läsa blockinformation + + + + Failed to read block + Misslyckades att läsa blocket + + + + Failed to sync block index + Misslyckades att synkronisera blockindex + + + + Failed to write block index + Misslyckades att skriva blockindex + + + + Failed to write block info + Misslyckades att skriva blockinformation + + + + Failed to write block + Misslyckades att skriva blocket + + + + Failed to write file info + Misslyckades att skriva filinformation + + + + Failed to write to coin database + Misslyckades att skriva till myntdatabas + + + + Failed to write transaction index + Misslyckades att skriva transaktionsindex + + + + Failed to write undo data + Misslyckades att skriva ångradata + + Find peers using DNS lookup (default: 1 unless -connect) Sök efter klienter med DNS sökningen (förvalt: 1 om inte -connect) - + + Generate coins (default: 0) + Generera mynt (förvalt: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Hur många block att kontrollera vid uppstart (standardvärde: 288, 0 = alla) + + + How thorough the block verification is (0-4, default: 3) Hur grundlig blockverifikationen är (0-4, förvalt: 3) - - Importing blocks from block database... - Importerar block från blockdatabasen... + + Not enough file descriptors available. + Inte tillräckligt med filbeskrivningar tillgängliga. + + + + Rebuild block chain index from current blk000??.dat files + Återskapa blockkedjans index från nuvarande blk000??.dat filer + + + + Set the number of threads to service RPC calls (default: 4) + Ange antalet trådar för att hantera RPC anrop (standard: 4) + + + + Verifying blocks... + Verifierar block... + Verifying wallet... + Verifierar plånboken... + + + Imports blocks from external blk000??.dat file Importerar block från extern blk000??.dat fil - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Ange antalet skriptkontrolltrådar (upp till 16, 0 = auto, <0 = lämna så många kärnor lediga, förval: 0) + + + Information Information @@ -2420,7 +2577,22 @@ Ogiltig -tor adress: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Ogiltigt belopp för -minrelaytxfee=<belopp>: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + Ogiltigt belopp för -mintxfee=<belopp>: '%s' + + + + Maintain a full transaction index (default: 0) + Upprätthåll ett fullständigt transaktionsindex (förval: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Maximal buffert för mottagning per anslutning, <n>*1000 byte (förvalt: 5000) @@ -2430,7 +2602,7 @@ Maximal buffert för sändning per anslutning, <n>*1000 byte (förvalt: 5000) - + Only accept block chain matching built-in checkpoints (default: 1) Acceptera bara blockkedjans matchande inbyggda kontrollpunkter (förvalt: 1) @@ -2455,12 +2627,7 @@ Skriv ut tid i felsökningsinformationen - - Rebuild blockchain index from current blk000??.dat files - Återskapa blockkedjans index från nuvarande blk000??.dat filer - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL-inställningar: (se Bitcoin-wikin för SSL-setup instruktioner) @@ -2490,17 +2657,42 @@ Sätt minsta blockstorlek i byte (förvalt: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) Krymp debug.log filen vid klient start (förvalt: 1 vid ingen -debug) + + Signing transaction failed + Signering av transaktion misslyckades + + Specify connection timeout in milliseconds (default: 5000) Ange timeout för uppkoppling i millisekunder (förvalt: 5000) - + + System error: + Systemfel: + + + + Transaction amount too small + Transaktions belopp för liten + + + + Transaction amounts must be positive + Transaktionens belopp måste vara positiva + + + + Transaction too large + Transaktionen är för stor + + + Use UPnP to map the listening port (default: 0) Använd UPnP för att mappa den lyssnande porten (förvalt: 0) @@ -2531,36 +2723,41 @@ + You need to rebuild the databases using -reindex to change -txindex + Du måste återskapa databaserna med -reindex för att ändra -txindex + + + wallet.dat corrupt, salvage failed wallet.dat korrupt, räddning misslyckades - + Password for JSON-RPC connections Lösenord för JSON-RPC-anslutningar - + Allow JSON-RPC connections from specified IP address Tillåt JSON-RPC-anslutningar från specifika IP-adresser - + Send commands to node running on <ip> (default: 127.0.0.1) Skicka kommandon till klient på <ip> (förvalt: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) Exekvera kommando när det bästa blocket ändras (%s i cmd är utbytt av blockhash) - + Upgrade wallet to latest format Uppgradera plånboken till senaste formatet - + Set key pool size to <n> (default: 100) Sätt storleken på nyckelpoolen till <n> (förvalt: 100) @@ -2570,17 +2767,12 @@ Sök i blockkedjan efter saknade plånboks transaktioner - - How many blocks to check at startup (default: 2500, 0 = all) - Hur många block att kontrollera vid uppstart (förvalt: 2500, 0 = alla) - - - + Use OpenSSL (https) for JSON-RPC connections Använd OpenSSL (https) för JSON-RPC-anslutningar - + Server certificate file (default: server.cert) Serverns certifikatfil (förvalt: server.cert) @@ -2590,37 +2782,37 @@ Serverns privata nyckel (förvalt: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Accepterade krypteringsalgoritmer (förvalt: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Det här hjälp medelandet - + Unable to bind to %s on this computer (bind returned error %d, %s) Det går inte att binda till %s på den här datorn (bind returnerade felmeddelande %d, %s) - + Connect through socks proxy Anslut genom socks-proxy - + Allow DNS lookups for -addnode, -seednode and -connect Tillåt DNS-sökningar för -addnode, -seednode och -connect - + Loading addresses... Laddar adresser... - + Error loading wallet.dat: Wallet corrupted Fel vid inläsningen av wallet.dat: Plånboken är skadad @@ -2630,32 +2822,22 @@ Fel vid inläsningen av wallet.dat: Plånboken kräver en senare version av Bitcoin - - Verifying block database integrity... - Verifierar blockdatabasens integritet... - - - - Verifying wallet integrity... - Verifierar plånbokens integritet... - - - + Wallet needed to be rewritten: restart Bitcoin to complete Plånboken behöver skrivas om: Starta om Bitcoin för att färdigställa - + Error loading wallet.dat Fel vid inläsning av plånboksfilen wallet.dat - + Invalid -proxy address: '%s' Ogiltig -proxy adress: '%s' - + Unknown network specified in -onlynet: '%s' Okänt nätverk som anges i -onlynet: '%s' @@ -2665,7 +2847,7 @@ Okänd -socks proxy version begärd: %i - + Cannot resolve -bind address: '%s' Kan inte matcha -bind adress: '%s' @@ -2675,32 +2857,27 @@ Kan inte matcha -externalip adress: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Ogiltigt belopp för -paytxfee=<belopp>:'%s' - - Error: could not start node - Fel: kunde inte starta nod - - - + Invalid amount Ogiltig mängd - + Insufficient funds Otillräckligt med bitcoins - + Loading block index... Laddar blockindex... - + Add a node to connect to and attempt to keep the connection open Lägg till en nod att koppla upp mot och försök att hålla anslutningen öppen @@ -2710,12 +2887,7 @@ Det går inte att binda till %s på den här datorn. Bitcoin är förmodligen redan igång. - - Find peers using internet relay chat (default: 0) - Sök efter klienter med internet relay chat (förvalt: 0) - - - + Fee per KB to add to transactions you send Avgift per KB att lägga till på transaktioner du skickar @@ -2725,42 +2897,37 @@ Laddar plånbok... - + Cannot downgrade wallet Kan inte nedgradera plånboken - - Cannot initialize keypool - Kan inte initiera keypool - - Cannot write default address Kan inte skriva standardadress - + Rescanning... Söker igen... - + Done loading Klar med laddning - + To use the %s option Att använda %s alternativet - + Error Fel - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_th_TH.ts bitcoin-0.8.5/src/qt/locale/bitcoin_th_TH.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_th_TH.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_th_TH.ts 2013-09-12 03:35:18.000000000 +0000 @@ -5,20 +5,15 @@ About Bitcoin - + เกี่ยวกับ บิตคอย์น <b>Bitcoin</b> version - - - - - Copyright © 2009-2012 The Bitcoin developers - + <b>บิตคอย์น<b>รุ่น - + This is experimental software. @@ -27,28 +22,38 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + + + + + The Bitcoin developers + + AddressBookPage Address Book - + สมุดรายชื่อ - + Double-click to edit address or label - + ดับเบิลคลิก เพื่อแก้ไขที่อยู่ หรือชื่อ Create a new address - + สร้างที่อยู่ใหม่ Copy the currently selected address to the system clipboard - + คัดลอกที่อยู่ที่ถูกเลือกไปยัง คลิปบอร์ดของระบบ @@ -56,12 +61,12 @@ - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - + &Copy Address @@ -86,7 +91,17 @@ - + + Export the data in the current tab to a file + + + + + &Export + + + + Verify a message to ensure it was signed with a specified Bitcoin address @@ -98,24 +113,34 @@ &Delete + ลบ + + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - + Copy &Label - + &Edit - - Export Address Book Data + + Send &Coins + + Export Address Book Data + ส่งออกรายชื่อทั้งหมด + + Comma separated file (*.csv) @@ -123,30 +148,30 @@ Error exporting - + ส่งออกผิดพลาด Could not write to file %1. - + ไม่สามารถเขียนไปยังไฟล์ %1 AddressTableModel - + Label - + ชื่อ Address - + ที่อยู่ (no label) - + (ไม่มีชื่อ) @@ -159,17 +184,17 @@ Enter passphrase - + ใส่รหัสผ่าน New passphrase - + รหัสผา่นใหม่ Repeat new passphrase - + กรุณากรอกรหัสผ่านใหม่อีกครั้งหนึ่ง @@ -179,7 +204,7 @@ Encrypt wallet - + กระเป๋าสตางค์ที่เข้ารหัส @@ -189,7 +214,7 @@ Unlock wallet - + เปิดกระเป๋าสตางค์ @@ -199,22 +224,22 @@ Decrypt wallet - + ถอดรหัสกระเป๋าสตางค์ Change passphrase - + เปลี่ยนรหัสผ่าน Enter the old and new passphrase to the wallet. - + กรอกรหัสผ่านเก่าและรหัสผ่านใหม่สำหรับกระเป๋าสตางค์ Confirm wallet encryption - + ยืนยันการเข้ารหัสกระเป๋าสตางค์ @@ -241,7 +266,7 @@ Wallet encrypted - + กระเป๋าสตางค์ถูกเข้ารหัสเรียบร้อยแล้ว @@ -254,7 +279,7 @@ Wallet encryption failed - + การเข้ารหัสกระเป๋าสตางค์ผิดพลาด @@ -265,7 +290,7 @@ The supplied passphrases do not match. - + รหัสผ่านที่คุณกรอกไม่ตรงกัน @@ -293,17 +318,17 @@ BitcoinGUI - + Sign &message... - + Synchronizing with network... - + &Overview @@ -323,32 +348,17 @@ - - &Address Book - - - - + Edit the list of stored addresses and labels - - &Receive coins - - - - + Show the list of addresses for receiving payments - - &Send coins - - - - + E&xit @@ -378,7 +388,7 @@ - + &Encrypt Wallet... @@ -393,7 +403,7 @@ - + Importing blocks from disk... @@ -402,18 +412,8 @@ Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - - - + Send coins to a Bitcoin address @@ -423,12 +423,7 @@ - - Export the data in the current tab to a file - - - - + Backup wallet to another location @@ -438,7 +433,7 @@ - + &Debug window @@ -448,23 +443,38 @@ - + &Verify message... - - + + Bitcoin - + Wallet - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin @@ -479,7 +489,7 @@ - + Encrypt the private keys that belong to your wallet @@ -494,12 +504,12 @@ - + &File - + &Settings @@ -514,108 +524,103 @@ - - Actions toolbar - - - - + [testnet] - + Bitcoin client - + %n active connection(s) to Bitcoin network - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error + + Processed %1 blocks of transaction history. + + + %n hour(s) + + + + + %n day(s) + + + + + %n week(s) + + - - Warning + + %1 behind - - Information + + Last received block was generated %1 ago. - - 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? + + Transactions after this will not yet be visible. - - Backup Successful + + Error - - The wallet data was successfully saved to the new location. + + Warning - - - %n second(s) ago - - - - - %n minute(s) ago - - - - - %n hour(s) ago - - - - - %n day(s) ago - + + + Information + - - Up to date + + 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? - - Catching up... + + Up to date - - Last received block was generated %1. + + Catching up... - + Confirm transaction fee - + Sent transaction @@ -634,14 +639,14 @@ - - + + URI handling - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. @@ -656,27 +661,7 @@ - - Backup Wallet - - - - - Wallet Data (*.dat) - - - - - Backup Failed - - - - - There was an error trying to save the wallet data to the new location. - - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -684,7 +669,7 @@ ClientModel - + Network Alert @@ -717,7 +702,7 @@ - + New receiving address @@ -737,17 +722,17 @@ - + The entered address "%1" is already in the address book. - + The entered address "%1" is not a valid Bitcoin address. - + Could not unlock wallet. @@ -760,7 +745,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt @@ -815,7 +800,7 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. @@ -974,7 +959,7 @@ - + default @@ -1019,23 +1004,18 @@ - - + + 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. - + Balance: - - Number of transactions: - - - - + Unconfirmed: @@ -1045,7 +1025,7 @@ - + Immature: @@ -1060,7 +1040,7 @@ - + Your current balance @@ -1070,14 +1050,17 @@ - - Total number of transactions in wallet + + + out of sync + + + PaymentServer - - - out of sync + + Cannot start bitcoin: click-to-pay handler @@ -1156,7 +1139,7 @@ - + N/A @@ -1420,7 +1403,7 @@ - + Enter a label for this address to add it to your address book @@ -1654,9 +1637,22 @@ + SplashScreen + + + The Bitcoin developers + + + + + [testnet] + + + + TransactionDesc - + Open until %1 @@ -1843,7 +1839,7 @@ TransactionTableModel - + Date @@ -1855,7 +1851,7 @@ Address - + ที่อยู่ @@ -1961,7 +1957,7 @@ TransactionView - + All @@ -2048,6 +2044,11 @@ + Copy transaction ID + + + + Edit label @@ -2057,7 +2058,7 @@ - + Export Transaction Data @@ -2084,12 +2085,12 @@ Label - + ชื่อ Address - + ที่อยู่ @@ -2104,15 +2105,15 @@ Error exporting - + ส่งออกผิดพลาด Could not write to file %1. - + ไม่สามารถเขียนไปยังไฟล์ %1 - + Range: @@ -2123,39 +2124,90 @@ - bitcoin-core + WalletModel - - Bitcoin version + + Send Coins + + + WalletView - + + &Export + + + + + Export the data in the current tab to a file + + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + + + + + Backup Successful + + + + + The wallet data was successfully saved to the new location. + + + + + bitcoin-core + + + Bitcoin version + + + + Usage: - + Send command to -server or bitcoind - + List commands - + Get help for a command - + Options: - + Specify configuration file (default: bitcoin.conf) @@ -2165,100 +2217,92 @@ - - Generate coins - - - - - Don't generate coins - - - - + Specify data directory - + Set database cache size in megabytes (default: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - + Accept command line and JSON-RPC commands - + Run in the background as a daemon and accept commands - + Use the test network - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2274,22 +2318,22 @@ - Corrupted block database detected. Please restart the client with -reindex. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2298,7 +2342,7 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -2338,62 +2382,172 @@ - + Connect only to the specified node(s) + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + + + + + Error initializing wallet database environment %s! + + + + Error loading block database - + + Error opening block database + + + + Error: Disk space is low! - Error: Transaction creation failed! + Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! + Error: system error: - + Failed to listen on any port. Use -listen=0 if you want this. + + Failed to read block info + + + + + Failed to read block + + + + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data + + + Find peers using DNS lookup (default: 1 unless -connect) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + + + + How many blocks to check at startup (default: 288, 0 = all) - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information @@ -2403,7 +2557,22 @@ - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) @@ -2413,7 +2582,7 @@ - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2438,12 +2607,7 @@ - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2473,17 +2637,42 @@ - + Shrink debug.log file on client startup (default: 1 when no -debug) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) - + + System error: + + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) @@ -2514,36 +2703,41 @@ + You need to rebuild the databases using -reindex to change -txindex + + + + wallet.dat corrupt, salvage failed - + Password for JSON-RPC connections - + Allow JSON-RPC connections from specified IP address - + Send commands to node running on <ip> (default: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Set key pool size to <n> (default: 100) @@ -2553,17 +2747,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - - - - + Use OpenSSL (https) for JSON-RPC connections - + Server certificate file (default: server.cert) @@ -2573,37 +2762,37 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - + Unable to bind to %s on this computer (bind returned error %d, %s) - + Connect through socks proxy - + Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... - + Error loading wallet.dat: Wallet corrupted @@ -2613,32 +2802,22 @@ - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete - + Error loading wallet.dat - + Invalid -proxy address: '%s' - + Unknown network specified in -onlynet: '%s' @@ -2648,7 +2827,7 @@ - + Cannot resolve -bind address: '%s' @@ -2658,32 +2837,27 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - - Error: could not start node - - - - + Invalid amount - + Insufficient funds - + Loading block index... - + Add a node to connect to and attempt to keep the connection open @@ -2693,12 +2867,7 @@ - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send @@ -2708,42 +2877,37 @@ - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Rescanning... - + Done loading - + To use the %s option - + Error - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_tr.ts bitcoin-0.8.5/src/qt/locale/bitcoin_tr.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_tr.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_tr.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>Bitcoin</b> sürüm - - Copyright © 2009-2012 The Bitcoin developers - Telif hakkı © 2009-2012 Bitcoin geliştiricileri - - - + This is experimental software. @@ -32,6 +27,16 @@ Bu ürün OpenSSL projesi tarafından OpenSSL araç takımı (http://www.openssl.org/) için geliştirilen yazılımlar, Eric Young (eay@cryptsoft.com) tarafından hazırlanmış şifreleme yazılımları ve Thomas Bernard tarafından programlanmış UPnP yazılımı içerir. + + + Copyright + Telif hakkı + + + + The Bitcoin developers + Bitcoin geliştiricileri + AddressBookPage @@ -41,7 +46,7 @@ Adres defteri - + Double-click to edit address or label Adresi ya da etiketi düzenlemek için çift tıklayınız @@ -61,12 +66,12 @@ &Yeni adres - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. Bunlar, ödeme almak için Bitcoin adresleridir. Kimin ödeme yaptığını izleyebilmek için her ödeme yollaması gereken kişiye değişik bir adres verebilirsiniz. - + &Copy Address Adresi &kopyala @@ -91,7 +96,17 @@ Seçili adresi listeden sil - + + Export the data in the current tab to a file + Güncel sekmedeki verileri bir dosyaya aktar + + + + &Export + &Dışa aktar + + + Verify a message to ensure it was signed with a specified Bitcoin address Belirtilen Bitcoin adresi ile imzalandığını doğrulamak için bir mesajı kontrol et @@ -106,17 +121,27 @@ &Sil - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Bunlar ödeme yapmak için kullanacağınız Bitcoin adreslerinizdir. Bitcoin yollamadan önce meblağı ve alıcı adresini daima kontrol ediniz. + + + Copy &Label &Etiketi kopyala - + &Edit &Düzenle - + + Send &Coins + Bit&coin Gönder + + + Export Address Book Data Adres defteri verilerini dışa aktar @@ -139,7 +164,7 @@ AddressTableModel - + Label Etiket @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... &Mesaj imzala... - + Synchronizing with network... Şebeke ile senkronizasyon... - + &Overview &Genel bakış @@ -328,32 +353,17 @@ Muamele tarihçesini tara - - &Address Book - &Adres defteri - - - + Edit the list of stored addresses and labels Saklanan adres ve etiket listesini düzenle - - &Receive coins - Bitcoin &al - - - + Show the list of addresses for receiving payments Ödeme alma adreslerinin listesini göster - - &Send coins - Bitcoin &yolla - - - + E&xit &Çık @@ -383,7 +393,7 @@ &Seçenekler... - + &Encrypt Wallet... Cüzdanı &şifrele... @@ -398,7 +408,7 @@ Parolayı &değiştir... - + Importing blocks from disk... Bloklar diskten içe aktarılıyor... @@ -407,18 +417,8 @@ Reindexing blocks on disk... Diskteki bloklar yeniden endeksleniyor... - - - ~%n block(s) remaining - ~%n blok kaldı - - - - &Export... - &Dışa aktar... - - + Send coins to a Bitcoin address Bir Bitcoin adresine Bitcoin yolla @@ -428,12 +428,7 @@ Bitcoin seçeneklerinin yapılandırmasını değiştir - - Export the data in the current tab to a file - Güncel sekmedeki verileri bir dosyaya aktar - - - + Backup wallet to another location Cüzdanı diğer bir konumda yedekle @@ -443,7 +438,7 @@ Cüzdan şifrelemesi için kullanılan parolayı değiştir - + &Debug window &Hata ayıklama penceresi @@ -453,23 +448,38 @@ Hata ayıklama ve teşhis penceresini aç - + &Verify message... Mesaj &kontrol et... - - + + Bitcoin Bitcoin - + Wallet Cüzdan - + + &Send + &Gönder + + + + &Receive + &Al + + + + &Addresses + &Adresler + + + &About Bitcoin Bitcoin &Hakkında @@ -484,7 +494,7 @@ Ana pencereyi görüntüle ya da sakla - + Encrypt the private keys that belong to your wallet Cüzdanınızın özel anahtarlarını şifrele @@ -499,12 +509,12 @@ Belirtilen Bitcoin adresleri ile imzalandıklarından emin olmak için mesajları kontrol et - + &File &Dosya - + &Settings &Ayarlar @@ -519,38 +529,68 @@ Sekme araç çubuğu - - Actions toolbar - Faaliyet araç çubuğu - - - + [testnet] [testnet] - + Bitcoin client Bitcoin istemcisi - + %n active connection(s) to Bitcoin network - Bitcoin şebekesine %n faal bağlantı + Bitcoin şebekesine %n faal bağlantıBitcoin şebekesine %n faal bağlantı - - Processed %1 of %2 blocks of transaction history (%3% done). - Muamele tarihçesinde toplam %2 blok üzerinden %1 blok işlendi (%%3 tamamlandı). + + No block source available... + Hiçbir blok kaynağı mevcut değil... - + + Processed %1 of %2 (estimated) blocks of transaction history. + Muamele tarihçesinin toplam (tahmini) %2 blokundan %1 blok işlendi. + + + Processed %1 blocks of transaction history. Muamele tarihçesinde %1 blok işlendi. + + + %n hour(s) + %n saat%n saat + + + + %n day(s) + %n gün%n gün + + + + %n week(s) + %n hafta%n hafta + - + + %1 behind + %1 geride + + + + Last received block was generated %1 ago. + Son alınan blok %1 evvel oluşturulmuştu. + + + + Transactions after this will not yet be visible. + Bundan sonraki muameleler henüz görüntülenemez. + + + Error Hata @@ -565,62 +605,27 @@ Bilgi - + 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? Bu muamele boyut sınırlarını aşmıştır. Gene de %1 ücret ödeyerek gönderebilirsiniz, ki bu ücret muamelenizi işleyen ve şebekeye yardım eden düğümlere ödenecektir. Ücreti ödemek istiyor musunuz? - - Backup Successful - Yedekleme başarılı - - - - The wallet data was successfully saved to the new location. - Cüzdan verileri başarılı bir şekilde yeni konuma kaydedildi. - - - - %n second(s) ago - %n saniye önce - - - - %n minute(s) ago - %n dakika önce - - - - %n hour(s) ago - %n saat önce - - - - %n day(s) ago - %n gün önce - - - + Up to date Güncel - + Catching up... Aralık kapatılıyor... - - Last received block was generated %1. - Son alınan blok şu vakit oluşturulmuştu: %1. - - - + Confirm transaction fee Muamele ücretini teyit et - + Sent transaction Muamele yollandı @@ -643,14 +648,14 @@ - - + + URI handling URI yönetimi - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI okunamadı! Sebebi geçersiz bir Bitcoin adresi veya hatalı URI parametreleri olabilir. @@ -665,27 +670,7 @@ Cüzdan <b>şifrelenmiştir</b> ve şu anda <b>kilitlidir</b> - - Backup Wallet - Cüzdanı yedekle - - - - Wallet Data (*.dat) - Cüzdan verileri (*.dat) - - - - Backup Failed - Yedekleme başarısız oldu - - - - There was an error trying to save the wallet data to the new location. - Cüzdan verilerinin başka bir konumda kaydedilmesi sırasında bir hata meydana geldi. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. Ciddi bir hata oluştu. Bitcoin artık güvenli bir şekilde işlemeye devam edemez ve kapanacaktır. @@ -693,7 +678,7 @@ ClientModel - + Network Alert Şebeke hakkında uyarı @@ -726,7 +711,7 @@ Bu adres defteri unsuru ile ilişkili adres. Bu, sadece gönderi adresi için değiştirilebilir. - + New receiving address Yeni alım adresi @@ -746,17 +731,17 @@ Gönderi adresini düzenle - + The entered address "%1" is already in the address book. Girilen "%1" adresi hâlihazırda adres defterinde mevcuttur. - + The entered address "%1" is not a valid Bitcoin address. Girilen "%1" adresi geçerli bir Bitcoin adresi değildir. - + Could not unlock wallet. Cüzdan kilidi açılamadı. @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Muamelelerin hızlı işlenmesini garantilemeye yardım eden, seçime dayalı kB başı muamele ücreti. Muamelelerin çoğunluğunun boyutu 1 kB'dir. 0.01 ücreti tavsiye edilir. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + Muamelelerin hızlı işlenmesini garantilemeye yardım eden, seçime dayalı kB başı muamele ücreti. Muamelelerin çoğunluğunun boyutu 1 kB'dir. @@ -983,7 +968,7 @@ &Uygula - + default varsayılan @@ -1028,23 +1013,18 @@ Form - - + + 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. Görüntülenen veriler zaman aşımına uğramış olabilir. Bağlantı kurulduğunda cüzdanınız otomatik olarak şebeke ile eşleşir ancak bu işlem henüz tamamlanmamıştır. - + Balance: Bakiye: - - Number of transactions: - Muamele sayısı: - - - + Unconfirmed: Doğrulanmamış: @@ -1054,7 +1034,7 @@ Cüzdan - + Immature: Olgunlaşmamış: @@ -1069,7 +1049,7 @@ <b>Son muameleler</b> - + Your current balance Güncel bakiyeniz @@ -1079,18 +1059,21 @@ Doğrulanması beklenen ve henüz güncel bakiyeye ilâve edilmemiş muamelelerin toplamı - - Total number of transactions in wallet - Cüzdandaki muamelelerin toplam sayısı - - - + out of sync eşleşme dışı + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + Bitcoin başlatılamadı: tıkla-ve-öde yöneticisi + + + QRCodeDialog @@ -1165,7 +1148,7 @@ - + N/A Mevcut değil @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Adres defterinize eklemek için bu adrese ilişik bir etiket giriniz @@ -1536,7 +1519,7 @@ Sign &Message - &Mesaj imzala + &Mesajı imzala @@ -1552,7 +1535,7 @@ &Verify Message - Mesajı &kontrol et + Mesaj &kontrol et @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + Bitcoin geliştiricileri + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 %1 değerine dek açık @@ -1692,7 +1688,7 @@ , broadcast through %n node(s) - , %n düğüm vasıtasıyla yayınlandı + , %n düğüm vasıtasıyla yayınlandı, %n düğüm vasıtasıyla yayınlandı @@ -1745,7 +1741,7 @@ matures in %n more block(s) - %n ek blok sonrasında olgunlaşacak + %n ek blok sonrasında olgunlaşacak%n ek blok sonrasında olgunlaşacak @@ -1828,7 +1824,7 @@ Open for %n more block(s) - %n ilâve blok için açık + %n ilâve blok için açık%n ilâve blok için açık @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date Tarih @@ -1874,7 +1870,7 @@ Open for %n more block(s) - %n ilâve blok için açık + %n ilâve blok için açık%n ilâve blok için açık @@ -1899,7 +1895,7 @@ Mined balance will be available when it matures in %n more block(s) - Madenden çıkarılan bakiye %n ek blok sonrasında olgunlaştığında kullanılabilecektir + Madenden çıkarılan bakiye %n ek blok sonrasında olgunlaştığında kullanılabilecektirMadenden çıkarılan bakiye %n ek blok sonrasında olgunlaştığında kullanılabilecektir @@ -1970,7 +1966,7 @@ TransactionView - + All Hepsi @@ -2057,6 +2053,11 @@ + Copy transaction ID + Muamele kimliğini kopyala + + + Edit label Etiketi düzenle @@ -2066,7 +2067,7 @@ Muamele detaylarını göster - + Export Transaction Data Muamele verilerini dışa aktar @@ -2121,7 +2122,7 @@ %1 dosyasına yazılamadı. - + Range: Aralık: @@ -2132,39 +2133,90 @@ + WalletModel + + + Send Coins + Bitcoin yolla + + + + WalletView + + + &Export + &Dışa aktar + + + + Export the data in the current tab to a file + Güncel sekmedeki verileri bir dosyaya aktar + + + + Backup Wallet + Cüzdanı yedekle + + + + Wallet Data (*.dat) + Cüzdan verileri (*.dat) + + + + Backup Failed + Yedekleme başarısız oldu + + + + There was an error trying to save the wallet data to the new location. + Cüzdanı değişik bir konuma kaydetmek denenirken bir hata meydana geldi. + + + + Backup Successful + Yedekleme başarılı + + + + The wallet data was successfully saved to the new location. + Cüzdan verileri başarılı bir şekilde yeni konuma kaydedildi. + + + bitcoin-core - + Bitcoin version Bitcoin sürümü - + Usage: Kullanım: - + Send command to -server or bitcoind -server ya da bitcoind'ye komut gönder - + List commands Komutları listele - + Get help for a command Bir komut için yardım al - + Options: Seçenekler: - + Specify configuration file (default: bitcoin.conf) Yapılandırma dosyası belirt (varsayılan: bitcoin.conf) @@ -2174,107 +2226,102 @@ Pid dosyası belirt (varsayılan: bitcoind.pid) - - Generate coins - Madenî para (Bitcoin) oluştur - - - - Don't generate coins - Bitcoin oluşturmasını devre dışı bırak - - - + Specify data directory Veri dizinini belirt - + Set database cache size in megabytes (default: 25) Veritabanı önbellek boyutunu megabayt olarak belirt (varsayılan: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) Bağlantılar için dinlenecek <port> (varsayılan: 8333 ya da testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) Eşler ile en çok <n> adet bağlantı kur (varsayılan: 125) - + Connect to a node to retrieve peer addresses, and disconnect Eş adresleri elde etmek için bir düğüme bağlan ve ardından bağlantıyı kes - + Specify your own public address Kendi genel adresinizi tanımlayın - + Threshold for disconnecting misbehaving peers (default: 100) Aksaklık gösteren eşlerle bağlantıyı kesme sınırı (varsayılan: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Aksaklık gösteren eşlerle yeni bağlantıları engelleme süresi, saniye olarak (varsayılan: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s IPv4 üzerinde dinlemek için %u numaralı RPC portunun kurulumu sırasında hata meydana geldi: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) JSON-RPC bağlantılarını <port> üzerinde dinle (varsayılan: 8332 veya tesnet: 18332) - + Accept command line and JSON-RPC commands Konut satırı ve JSON-RPC komutlarını kabul et - + Run in the background as a daemon and accept commands Arka planda daemon (servis) olarak çalış ve komutları kabul et - + Use the test network Deneme şebekesini kullan - + Accept connections from outside (default: 1 if no -proxy or -connect) Dışarıdan gelen bağlantıları kabul et (varsayılan: -proxy veya -connect yoksa 1) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, şu yapılandırma dosyasında rpc parolası belirtmeniz gerekir: - %s +%s Aşağıdaki rastgele oluşturulan parolayı kullanmanız tavsiye edilir: rpcuser=bitcoinrpc rpcpassword=%s (bu parolayı hatırlamanız gerekli değildir) Kullanıcı ismi ile parolanın FARKLI olmaları gerekir. -Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz. +Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz. +Sorunlar hakkında bildiri almak için alertnotify unsurunu ayarlamanız tavsiye edilir; +mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s IPv6 üzerinde dinlemek için %u numaralı RPC portu kurulurken bir hata meydana geldi, IPv4'e dönülüyor: %s @@ -2290,16 +2337,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - Bozuk blok veritabanı tespit edildi. Lütfen istemciyi -reindex ile tekrar başlatınız. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - %s veritabanı ortamının başlatılması sırasında bir hata meydana geldi! Düzeltmek için BU KLASÖRÜ YEDEKLEYİN, ardından klasörden wallet.dat dışında tüm dosyaları silin. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Hata: Muamele reddedildi! Cüzdanınızdaki madenî paraların bazıları zaten harcanmış olduğunda bu meydana gelebilir. Örneğin wallet.dat dosyasının bir kopyasını kullandıysanız ve kopyada para harcandığında ancak burada harcandığı işaretlenmediğinde. @@ -2309,12 +2346,22 @@ Hata: Muamelenin miktarı, karmaşıklığı ya da yakın geçmişte alınan fonların kullanılması nedeniyle bu muamele en az %s tutarında ücret gerektirmektedir! + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + İlgili bir uyarı alındığında komut çalıştır (komuttaki %s mesaj ile değiştirilecektir) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Bir cüzdan muamelesi değiştiğinde komutu çalıştır (komuttaki %s TxID ile değiştirilecektir) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) Yüksek öncelikli/düşük ücretli muamelelerin boyutunu bayt olarak tanımla (varsayılan: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Bu yayın öncesi bir deneme sürümüdür - tüm riski siz üstlenmiş olursunuz - bitcoin oluşturmak ya da ticari uygulamalar için kullanmayınız @@ -2354,62 +2401,172 @@ Blok oluşturma seçenekleri: - + Connect only to the specified node(s) Sadece belirtilen düğüme veya düğümlere bağlan + Corrupted block database detected + Bozuk blok veritabanı tespit edildi + + + Discover own IP address (default: 1 when listening and no -externalip) Kendi IP adresini keşfet (varsayılan: dinlenildiğinde ve -externalip yoksa 1) - + + Do you want to rebuild the block database now? + Blok veritabanını şimdi yeniden inşa etmek istiyor musunuz? + + + + Error initializing block database + Blok veritabanını başlatılırken bir hata meydana geldi + + + + Error initializing wallet database environment %s! + %s cüzdan veritabanı ortamının başlatılmasında hata meydana geldi! + + + Error loading block database Blok veritabanının yüklenmesinde hata - + + Error opening block database + Blok veritabanının açılışı sırasında hata + + + Error: Disk space is low! Hata: Disk alanı düşük! - Error: Transaction creation failed! - Hata: Muamele oluşturması başarısız oldu! + Error: Wallet locked, unable to create transaction! + Hata: Cüzdan kilitli, muamele oluşturulamadı! - Error: Wallet locked, unable to create transaction! - Hata: Cüzdan kilitli, muamele oluşturulamadı! + Error: system error: + Hata: sistem hatası: - + Failed to listen on any port. Use -listen=0 if you want this. Herhangi bir portun dinlenmesi başarısız oldu. Bunu istiyorsanız -listen=0 seçeneğini kullanınız. + + Failed to read block info + Blok verileri okunamadı + + + + Failed to read block + Blok okunamadı + + + + Failed to sync block index + Blok indeksi eşleştirilemedi + + + + Failed to write block index + Blok indeksi yazılamadı + + + + Failed to write block info + Blok verileri yazılamadı + + + + Failed to write block + Blok yazılamadı + + + + Failed to write file info + Dosya verileri yazılamadı + + + + Failed to write to coin database + Madenî para veritabanına yazılamadı + + + + Failed to write transaction index + Muamele indeksi yazılamadı + + + + Failed to write undo data + Geri alma verilerinin yazılamadı + + Find peers using DNS lookup (default: 1 unless -connect) Eşleri DNS araması vasıtasıyla bul (varsayılan: 1, eğer -connect kullanılmadıysa) - + + Generate coins (default: 0) + Bitcoin oluştur (varsayılan: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + Başlangıçta kontrol edilecek blok sayısı (varsayılan: 288, 0 = hepsi) + + + How thorough the block verification is (0-4, default: 3) Blok kontrolünün ne kadar derin olacağı (0 ilâ 4, varsayılan: 3) - - Importing blocks from block database... - Bloklar veritabanından içe aktarılıyor... + + Not enough file descriptors available. + Kafi derecede dosya tanımlayıcıları mevcut değil. + + + + Rebuild block chain index from current blk000??.dat files + Blok zinciri indeksini güncel blk000??.dat dosyalarından tekrar inşa et + + + + Set the number of threads to service RPC calls (default: 4) + RPC aramaları için iş parçacığı sayısını belirle (varsayılan: 4) + + + + Verifying blocks... + Bloklar kontrol ediliyor... + Verifying wallet... + Cüzdan kontrol ediliyor... + + + Imports blocks from external blk000??.dat file Harici blk000??.dat dosyasından blokları içe aktarır - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + Betik kontrolü iş parçacığı sayısını belirt (azami 16, 0 = otomatik, <0 = bu sayıda çekirdeği boş bırak, varsayılan: 0) + + + Information Bilgi @@ -2419,7 +2576,22 @@ Geçersiz -tor adresi: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + -minrelaytxfee=<amount> için geçersiz meblağ: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + -mintxfee=<amount> için geçersiz meblağ: '%s' + + + + Maintain a full transaction index (default: 0) + Muamelelerin tamamının indeksini tut (varsayılan: 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) Bağlantı başına azami alım tamponu, <n>*1000 bayt (varsayılan: 5000) @@ -2429,7 +2601,7 @@ Bağlantı başına azami yollama tamponu, <n>*1000 bayt (varsayılan: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) Sadece yerleşik kontrol noktalarıyla eşleşen blok zincirini kabul et (varsayılan: 1) @@ -2454,12 +2626,7 @@ Hata ayıklama çıktısına tarih ön ekleri ilâve et - - Rebuild blockchain index from current blk000??.dat files - Blok zinciri endeksini güncel blk000??.dat dosyalarından yeniden derle - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL seçenekleri: (SSL kurulum bilgisi için Bitcoin vikisine bakınız) @@ -2489,17 +2656,42 @@ Bayt olarak asgari blok boyutunu tanımla (varsayılan: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) İstemci başlatıldığında debug.log dosyasını küçült (varsayılan: -debug bulunmadığında 1) + + Signing transaction failed + Muamelenin imzalanması başarısız oldu + + Specify connection timeout in milliseconds (default: 5000) Bağlantı zaman aşım süresini milisaniye olarak belirt (varsayılan: 5000) - + + System error: + Sistem hatası: + + + + Transaction amount too small + Muamele meblağı çok düşük + + + + Transaction amounts must be positive + Muamele tutarının pozitif olması lazımdır + + + + Transaction too large + Muamele çok büyük + + + Use UPnP to map the listening port (default: 0) Dinlenecek portu haritalamak için UPnP kullan (varsayılan: 0) @@ -2530,36 +2722,41 @@ + You need to rebuild the databases using -reindex to change -txindex + -txindex'i değiştirmek için veritabanlarını -reindex kullanarak yeniden inşa etmeniz gerekir. + + + wallet.dat corrupt, salvage failed wallet.dat bozuk, geri kazanım başarısız oldu - + Password for JSON-RPC connections JSON-RPC bağlantıları için parola - + Allow JSON-RPC connections from specified IP address Belirtilen İP adresinden JSON-RPC bağlantılarını kabul et - + Send commands to node running on <ip> (default: 127.0.0.1) Şu <ip> adresinde (varsayılan: 127.0.0.1) çalışan düğüme komut yolla - + Execute command when the best block changes (%s in cmd is replaced by block hash) En iyi blok değiştiğinde komutu çalıştır (komut için %s parametresi blok hash değeri ile değiştirilecektir) - + Upgrade wallet to latest format Cüzdanı en yeni biçime güncelle - + Set key pool size to <n> (default: 100) Anahtar alan boyutunu <n> değerine ayarla (varsayılan: 100) @@ -2569,17 +2766,12 @@ Blok zincirini eksik cüzdan muameleleri için tekrar tara - - How many blocks to check at startup (default: 2500, 0 = all) - Başlangıçta ne kadar blokun denetleneceği (varsayılan: 2500, 0 = tümü) - - - + Use OpenSSL (https) for JSON-RPC connections JSON-RPC bağlantıları için OpenSSL (https) kullan - + Server certificate file (default: server.cert) Sunucu sertifika dosyası (varsayılan: server.cert) @@ -2589,37 +2781,37 @@ Sunucu özel anahtarı (varsayılan: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) Kabul edilebilir şifreler (varsayılan: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message Bu yardım mesajı - + Unable to bind to %s on this computer (bind returned error %d, %s) Bu bilgisayarda %s unsuruna bağlanılamadı. (bind şu hatayı iletti: %d, %s) - + Connect through socks proxy Socks vekil sunucusu vasıtasıyla bağlan - + Allow DNS lookups for -addnode, -seednode and -connect -addnode, -seednode ve -connect için DNS aramalarına izin ver - + Loading addresses... Adresler yükleniyor... - + Error loading wallet.dat: Wallet corrupted wallet.dat dosyasının yüklenmesinde hata oluştu: bozuk cüzdan @@ -2629,32 +2821,22 @@ wallet.dat dosyasının yüklenmesinde hata oluştu: cüzdanın daha yeni bir Bitcoin sürümüne ihtiyacı var - - Verifying block database integrity... - Blok veritabanının bütünlüğü kontrol ediliyor... - - - - Verifying wallet integrity... - Cüzdanın bütünlüğü kontrol ediliyor... - - - + Wallet needed to be rewritten: restart Bitcoin to complete Cüzdanın tekrar yazılması gerekiyordu: işlemi tamamlamak için Bitcoin'i yeniden başlatınız - + Error loading wallet.dat wallet.dat dosyasının yüklenmesinde hata oluştu - + Invalid -proxy address: '%s' Geçersiz -proxy adresi: '%s' - + Unknown network specified in -onlynet: '%s' -onlynet için bilinmeyen bir şebeke belirtildi: '%s' @@ -2664,7 +2846,7 @@ Bilinmeyen bir -socks vekil sürümü talep edildi: %i - + Cannot resolve -bind address: '%s' -bind adresi çözümlenemedi: '%s' @@ -2674,32 +2856,27 @@ -externalip adresi çözümlenemedi: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' -paytxfee=<miktar> için geçersiz miktar: '%s' - - Error: could not start node - Hata: düğüm başlatılamadı - - - + Invalid amount Geçersiz miktar - + Insufficient funds Yetersiz bakiye - + Loading block index... Blok indeksi yükleniyor... - + Add a node to connect to and attempt to keep the connection open Bağlanılacak düğüm ekle ve bağlantıyı zinde tutmaya çalış @@ -2709,12 +2886,7 @@ Bu bilgisayarda %s unsuruna bağlanılamadı. Bitcoin muhtemelen hâlihazırda çalışmaktadır. - - Find peers using internet relay chat (default: 0) - Eşleri Internet Relay Chat vasıtasıyla bul (varsayılan: 0) - - - + Fee per KB to add to transactions you send Yolladığınız muameleler için eklenecek KB başı ücret @@ -2724,42 +2896,37 @@ Cüzdan yükleniyor... - + Cannot downgrade wallet Cüzdan eski biçime geri alınamaz - - Cannot initialize keypool - Keypool başlatılamadı - - Cannot write default address Varsayılan adres yazılamadı - + Rescanning... Yeniden tarama... - + Done loading Yükleme tamamlandı - + To use the %s option %s seçeneğini kullanmak için - + Error Hata - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_uk.ts bitcoin-0.8.5/src/qt/locale/bitcoin_uk.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_uk.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_uk.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ Версія <b>Bitcoin'a<b> - - Copyright © 2009-2012 The Bitcoin developers - Авторське право © 2009-2012 Розробники Bitcoin - - - + This is experimental software. @@ -32,6 +27,16 @@ Цей продукт включає в себе програмне забезпечення, розроблене в рамках проекту OpenSSL (http://www.openssl.org/), криптографічне програмне забезпечення, написане Еріком Янгом (eay@cryptsoft.com), та функції для роботи з UPnP, написані Томасом Бернардом. + + + Copyright + Авторське право + + + + The Bitcoin developers + + AddressBookPage @@ -41,7 +46,7 @@ Адресна книга - + Double-click to edit address or label Двічі клікніть на адресу чи назву для їх зміни @@ -61,12 +66,12 @@ &Створити адресу - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. - Це ваші адреси для отримання платежів. Ви можете давати різні адреси різним людям, таким чином маючи можливість відслідкувати хто конкретно і скільки вам заплатив. + Це ваші адреси для отримання платежів. Ви можете давати різні адреси різним людям, таким чином маючи можливість відслідкувати хто конкретно і скільки вам заплатив. - + &Copy Address &Скопіювати адресу @@ -88,17 +93,27 @@ Delete the currently selected address from the list + Вилучити вибрані адреси з переліку + + + + Export the data in the current tab to a file + Експортувати дані з поточної вкладки в файл + + + + &Export - + Verify a message to ensure it was signed with a specified Bitcoin address - + Перевірте повідомлення для впевненості, що воно підписано вказаною Bitcoin-адресою &Verify Message - + Перевірити повідомлення @@ -106,17 +121,27 @@ &Видалити - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + + Copy &Label Скопіювати &мітку - + &Edit &Редагувати - + + Send &Coins + + + + Export Address Book Data Експортувати адресну книгу @@ -139,7 +164,7 @@ AddressTableModel - + Label Назва @@ -159,7 +184,7 @@ Passphrase Dialog - + Діалог введення паролю @@ -179,7 +204,7 @@ Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - Введіть новий пароль для гаманця.<br/>Будь ласка, використовуйте паролі що містять <b> як мінімум 10 випадкових символів </b> або <b> як мінімум 8 слів</b>. + Введіть новий пароль для гаманця.<br/>Будь ласка, використовуйте паролі що містять <b>як мінімум 10 випадкових символів</b>, або <b>як мінімум 8 слів</b>. @@ -240,7 +265,7 @@ Warning: The Caps Lock key is on! - Увага: Ввімкнено Caps Lock + Увага: Ввімкнено Caps Lock! @@ -251,7 +276,7 @@ Bitcoin 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. - Біткоін-клієнт буде закрито для завершення процесу шифрування. Пам’ятайте, що шифрування гаманця не може повністю захистити ваші біткоіни від кражі, у випадку якщо ваш комп’ютер буде інфіковано шкідливими програмами. + Біткоін-клієнт буде закрито для завершення процесу шифрування. Пам'ятайте, що шифрування гаманця не може повністю захистити ваші біткоіни від крадіжки, у випадку якщо ваш комп'ютер буде інфіковано шкідливими програмами. @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... &Підписати повідомлення... - + Synchronizing with network... Синхронізація з мережею... - + &Overview &Огляд @@ -320,40 +345,25 @@ &Transactions - Пе&реклади + Транзакції Browse transaction history - Переглянути історію переказів - - - - &Address Book - &Адресна книга + Переглянути історію транзакцій - + Edit the list of stored addresses and labels Редагувати список збережених адрес та міток - - &Receive coins - О&тримати - - - + Show the list of addresses for receiving payments Показати список адрес для отримання платежів - - &Send coins - В&ідправити - - - + E&xit &Вихід @@ -383,7 +393,7 @@ &Параметри... - + &Encrypt Wallet... &Шифрування гаманця... @@ -398,27 +408,17 @@ Змінити парол&ь... - + Importing blocks from disk... - + Імпорт блоків з диску... Reindexing blocks on disk... - - - ~%n block(s) remaining - - - - - &Export... - &Експорт... - - + Send coins to a Bitcoin address Відправити монети на вказану адресу @@ -428,12 +428,7 @@ Редагувати параметри - - Export the data in the current tab to a file - Експортувати дані з поточної вкладки в файл - - - + Backup wallet to another location Резервне копіювання гаманця в інше місце @@ -443,68 +438,83 @@ Змінити пароль, який використовується для шифрування гаманця - + &Debug window - + Вікно зневадження Open debugging and diagnostic console - + Відкрити консоль зневадження і діагностики - + &Verify message... - + Перевірити повідомлення... - - + + Bitcoin Bitcoin - + Wallet Гаманець - + + &Send + + + + + &Receive + + + + + &Addresses + + + + &About Bitcoin &Про Bitcoin &Show / Hide - + Показати / Приховати Show or hide the main Window - + Показує або приховує головне вікно - + Encrypt the private keys that belong to your wallet Sign messages with your Bitcoin addresses to prove you own them - + Підтвердіть, що Ви є власником повідомлення підписавши його Вашою Bitcoin-адресою Verify messages to ensure they were signed with specified Bitcoin addresses - + Перевірте повідомлення для впевненості, що воно підписано вказаною Bitcoin-адресою - + &File &Файл - + &Settings &Налаштування @@ -519,110 +529,105 @@ Панель вкладок - - Actions toolbar - Панель дій - - - + [testnet] [тестова мережа] - + Bitcoin client - + Bitcoin-клієнт - + %n active connection(s) to Bitcoin network - %n активне з’єднання з мережею%n активні з’єднання з мережею%n активних з’єднань з мережею + %n активне з'єднання з мережею%n активні з'єднання з мережею%n активних з'єднань з мережею - - Processed %1 of %2 blocks of transaction history (%3% done). + + No block source available... - - Processed %1 blocks of transaction history. + + Processed %1 of %2 (estimated) blocks of transaction history. - - Error - + + Processed %1 blocks of transaction history. + Оброблено %1 блоків історії транзакцій. - - - Warning - + + + %n hour(s) + - - - Information - + + + %n day(s) + + + + + %n week(s) + - - 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? + + %1 behind - - Backup Successful + + Last received block was generated %1 ago. - - The wallet data was successfully saved to the new location. + + Transactions after this will not yet be visible. - - - %n second(s) ago - %n секунду тому%n секунди тому%n секунд тому + + + Error + Помилка - - - %n minute(s) ago - %n хвилину тому%n хвилини тому%n хвилин тому + + + Warning + Увага - - - %n hour(s) ago - %n годину тому%n години тому%n годин тому + + + Information + Інформація - - - %n day(s) ago - %n день тому%n дня тому%n днів тому + + + 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? + - + Up to date Синхронізовано - + Catching up... Синхронізується... - - Last received block was generated %1. - Останній отриманий блок було згенеровано %1. - - - + Confirm transaction fee - + Підтвердити комісію - + Sent transaction - Надіслані перекази + Надіслані транзакції @@ -643,16 +648,16 @@ - - + + URI handling - + Обробка URI - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - + Неможливо обробити URI! Це може бути викликано неправильною Bitcoin-адресою, чи невірними параметрами URI. @@ -665,27 +670,7 @@ <b>Зашифрований</b> гаманець <b>заблоковано</b> - - Backup Wallet - Резервне копіювання гаманця - - - - Wallet Data (*.dat) - Дані гаманця (*.dat) - - - - Backup Failed - Резервне копіювання не вдалося - - - - There was an error trying to save the wallet data to the new location. - Виникла помилка при спробі зберегти гаманець в новому місці - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. @@ -693,9 +678,9 @@ ClientModel - + Network Alert - + Сповіщення мережі @@ -713,7 +698,7 @@ The label associated with this address book entry - Мітка, пов’язана з цим записом адресної книги + Мітка, пов'язана з цим записом адресної книги @@ -723,10 +708,10 @@ The address associated with this address book entry. This can only be modified for sending addresses. - Адреса, пов’язана з цим записом адресної книги. + Адреса, пов'язана з цим записом адресної книги. Може бути змінено тільки для адреси відправника. - + New receiving address Нова адреса для отримання @@ -746,17 +731,17 @@ Редагувати адресу для відправлення - + The entered address "%1" is already in the address book. Введена адреса «%1» вже присутня в адресній книзі. - + The entered address "%1" is not a valid Bitcoin address. Введена адреса «%1» не є коректною адресою в мережі Bitcoin. - + Could not unlock wallet. Неможливо розблокувати гаманець. @@ -769,46 +754,45 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt - + Bitcoin-Qt version - + версія Usage: - Вкористання: + Використання: command-line options - + параметри командного рядка UI options - + Параметри інтерфейсу Set language, for example "de_DE" (default: system locale) - + Встановлення мови, наприклад "de_DE" (типово: системна) Start minimized - Запускати згорнутим - + Запускати згорнутим Show splash screen on startup (default: 1) - + Показувати заставку під час запуску (типово: 1) @@ -825,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - Добровільна комісія за кожен Кб переказу, яка дозволяє бути впевненим у тому, що ваш переказ буде оброблено швидко. Розмір більшості переказів рівен 1 Кб. Рекомендована комісія: 0,01. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -836,7 +820,7 @@ Automatically start Bitcoin after logging in to the system. - Автоматично запускати гаманець при вмиканні комп’ютера + Автоматично запускати гаманець при вході до системи. @@ -846,17 +830,17 @@ Reset all client options to default. - + Скинути всі параметри клієнта на типові. &Reset Options - + Скинути параметри &Network - + &Мережа @@ -871,7 +855,7 @@ Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor). - Підключатись до мережі Bitcoin через SOCKS-проксі (наприклад при використанні Tor) + Підключатись до мережі Bitcoin через SOCKS-проксі (наприклад при використанні Tor). @@ -901,22 +885,22 @@ SOCKS &Version: - + SOCKS версії: SOCKS version of the proxy (e.g. 5) - + Версія SOCKS-проксі (наприклад 5) &Window - + &Вікно Show only a tray icon after minimizing the window. - Показувати лише іконку в треї після згортання вікна + Показувати лише іконку в треї після згортання вікна. @@ -941,12 +925,12 @@ User Interface &language: - + Мова інтерфейсу користувача: The user interface language can be set here. This setting will take effect after restarting Bitcoin. - + Встановлює мову інтерфейсу. Зміни набудуть чинності після перезапуску Bitcoin. @@ -966,42 +950,42 @@ &Display addresses in transaction list - &Відображати адресу в списку переказів + &Відображати адресу в списку транзакцій &OK - + &Гаразд &Cancel - + &Скасувати &Apply - + &Застосувати - + default - + типово Confirm options reset - + Підтвердження скидання параметрів Some settings may require a client restart to take effect. - + Деякі параметри потребують перезапуск клієнта для набуття чинності. Do you want to proceed? - + Продовжувати? @@ -1013,12 +997,12 @@ This setting will take effect after restarting Bitcoin. - + Цей параметр набуде чинності після перезапуску Bitcoin. The supplied proxy address is invalid. - + Невірно вказано адресу проксі. @@ -1029,23 +1013,18 @@ Форма - - + + 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. - + Показана інформація вже може бути застарілою. Ваш гаманець буде автоматично синхронізовано з мережею Bitcoin після встановлення підключення, але цей процес ще не завершено. - + Balance: Баланс: - - Number of transactions: - Кількість переказів: - - - + Unconfirmed: Непідтверджені: @@ -1055,7 +1034,7 @@ Гаманець - + Immature: @@ -1067,27 +1046,30 @@ <b>Recent transactions</b> - <b>Недавні перекази</b> + <b>Недавні транзакції</b> - + Your current balance Ваш поточний баланс Total of transactions that have yet to be confirmed, and do not yet count toward the current balance - Загальна сума всіх переказів, які ще не підтверджені, та до сих пір не враховуються в загальному балансі - - - - Total number of transactions in wallet - Загальна кількість переказів в гаманці + Загальна сума всіх транзакцій, які ще не підтверджені, та до цих пір не враховуються в загальному балансі - + out of sync + не синхронізовано + + + + PaymentServer + + + Cannot start bitcoin: click-to-pay handler @@ -1096,7 +1078,7 @@ QR Code Dialog - + Діалог QR-коду @@ -1126,22 +1108,22 @@ Error encoding URI into QR Code. - + Помилка при кодуванні URI в QR-код. The entered amount is invalid, please check. - + Невірно введено кількість, будь ласка, перевірте. Resulting URI too long, try to reduce the text for label / message. - + Кінцевий URI занадто довгий, спробуйте зменшити текст для мітки / повідомлення. Save QR Code - + Зберегти QR-код @@ -1154,7 +1136,7 @@ Client name - + Назва клієнту @@ -1166,24 +1148,24 @@ - + N/A - + Н/Д Client version - + Версія клієнту &Information - + &Інформація Using OpenSSL version - + Використовується OpenSSL версії @@ -1193,17 +1175,17 @@ Network - + Мережа Number of connections - + Кількість підключень On testnet - + В тестовій мережі @@ -1213,7 +1195,7 @@ Current number of blocks - + Поточне число блоків @@ -1228,37 +1210,37 @@ &Open - + Відкрити Command-line options - + Параметри командного рядка Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options. - + Показати довідку Bitcoin-Qt для отримання переліку можливих параметрів командного рядка. &Show - + Показати &Console - + Консоль Build date - + Дата збирання Bitcoin - Debug window - + Bitcoin - Вікно зневадження @@ -1268,7 +1250,7 @@ Debug log file - + Файл звіту зневадження @@ -1278,22 +1260,22 @@ Clear console - + Очистити консоль Welcome to the Bitcoin RPC console. - + Вітаємо у консолі Bitcoin RPC. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - + Використовуйте стрілки вгору вниз для навігації по історії, і <b>Ctrl-L</b> для очищення екрана. Type <b>help</b> for an overview of available commands. - + Наберіть <b>help</b> для перегляду доступних команд. @@ -1363,7 +1345,7 @@ Are you sure you want to send %1? - Ви впевнені що хочете відправити %1 + Ви впевнені що хочете відправити %1? @@ -1373,7 +1355,7 @@ The recipient address is not valid, please recheck. - Адреса отримувача невірна, будьласка перепровірте. + Адреса отримувача невірна, будь ласка перепровірте. @@ -1388,7 +1370,7 @@ The total exceeds your balance when the %1 transaction fee is included. - Сума перевищить ваш баланс, якщо комісія %1 буде додана до вашого переказу. + Сума перевищить ваш баланс, якщо комісія %1 буде додана до вашої транзакції. @@ -1398,12 +1380,12 @@ Error: Transaction creation failed! - + Помилка: Не вдалося створити транзакцію! Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Помилка: переказ було відхилено. Це може статись, якщо декілька монет з вашого гаманця вже використані, наприклад, якщо ви використовуєте одну копію гаманця (wallet.dat), а монети були використані з іншої копії, але не позначені як використані в цій. + Помилка: транзакцію було відхилено. Це може статись, якщо декілька монет з вашого гаманця вже використані, наприклад, якщо ви використовуєте одну копію гаманця (wallet.dat), а монети були використані з іншої копії, але не позначені як використані в цій. @@ -1430,7 +1412,7 @@ - + Enter a label for this address to add it to your address book Введіть мітку для цієї адреси для додавання її в адресну книгу @@ -1475,7 +1457,7 @@ Signatures - Sign / Verify a Message - + Підписи - Підпис / Перевірка повідомлення @@ -1522,12 +1504,12 @@ Signature - + Підпис Copy the current signature to the system clipboard - + Копіювати поточну сигнатуру до системного буферу обміну @@ -1537,12 +1519,12 @@ Sign &Message - + &Підписати повідомлення Reset all sign message fields - + Скинути всі поля підпису повідомлення @@ -1553,7 +1535,7 @@ &Verify Message - + Перевірити повідомлення @@ -1568,17 +1550,17 @@ Verify the message to ensure it was signed with the specified Bitcoin address - + Перевірте повідомлення для впевненості, що воно підписано вказаною Bitcoin-адресою Verify &Message - + Перевірити повідомлення Reset all verify message fields - + Скинути всі поля перевірки повідомлення @@ -1589,18 +1571,18 @@ Click "Sign Message" to generate signature - Натисніть кнопку "Підписати повідомлення", для отриманя підпису + Натисніть кнопку «Підписати повідомлення», для отримання підпису Enter Bitcoin signature - + Введіть сигнатуру Bitcoin The entered address is invalid. - + Введена нечинна адреса. @@ -1608,7 +1590,7 @@ Please check the address and try again. - + Будь ласка, перевірте адресу та спробуйте ще. @@ -1629,23 +1611,23 @@ Message signing failed. - + Не вдалося підписати повідомлення. Message signed. - + Повідомлення підписано. The signature could not be decoded. - + Підпис не можливо декодувати. Please check the signature and try again. - + Будь ласка, перевірте підпис та спробуйте ще. @@ -1655,18 +1637,31 @@ Message verification failed. - + Не вдалося перевірити повідомлення. Message verified. + Повідомлення перевірено. + + + + SplashScreen + + + The Bitcoin developers + + + [testnet] + [тестова мережа] + TransactionDesc - + Open until %1 Відкрити до %1 @@ -1721,7 +1716,7 @@ To - + Отримувач @@ -1764,7 +1759,7 @@ Transaction fee - Комісія за переказ + Комісія за транзакцію @@ -1789,7 +1784,7 @@ Generated coins must mature 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - Після генерації монет, потрібно зачекати 120 блоків, перш ніж їх можна буде використати. Коли ви згенерували цей блок, його було відправлено в мережу для того, щоб він був доданий до ланцюжка блоків. Якщо ця процедура не вдасться, статус буде змінено на «не підтверджено» і ви не зможете потратити згенеровані монету. Таке може статись, якщо хтось інший згенерував блок на декілька секунд раніше. + Після генерації монет, потрібно зачекати 120 блоків, перш ніж їх можна буде використати. Коли ви згенерували цей блок, його було відправлено в мережу для того, щоб він був доданий до ланцюжка блоків. Якщо ця процедура не вдасться, статус буде змінено на «не підтверджено» і ви не зможете потратити згенеровані монету. Таке може статись, якщо хтось інший згенерував блок на декілька секунд раніше. @@ -1799,7 +1794,7 @@ Transaction - + Транзакція @@ -1814,12 +1809,12 @@ true - + true false - + false @@ -1842,18 +1837,18 @@ Transaction details - Деталі переказів + Деталі транзакції This pane shows a detailed description of the transaction - Даний діалог показує детальну статистику по вибраному переказу + Даний діалог показує детальну статистику по вибраній транзакції TransactionTableModel - + Date Дата @@ -1945,22 +1940,22 @@ Transaction status. Hover over this field to show number of confirmations. - Статус переказу. Наведіть вказівник на це поле, щоб показати кількість підтверджень. + Статус транзакції. Наведіть вказівник на це поле, щоб показати кількість підтверджень. Date and time that the transaction was received. - Дата і час, коли переказ було отримано. + Дата і час, коли транзакцію було отримано. Type of transaction. - Тип переказу. + Тип транзакції. Destination address of transaction. - Адреса отримувача + Адреса отримувача транзакції. @@ -1971,7 +1966,7 @@ TransactionView - + All Всі @@ -2004,7 +1999,7 @@ Range... - Проміжок + Проміжок... @@ -2058,18 +2053,23 @@ + Copy transaction ID + + + + Edit label Редагувати мітку Show transaction details - + Показати деталі транзакції - + Export Transaction Data - Експортувати дані переказів + Експортувати дані транзакцій @@ -2119,10 +2119,10 @@ Could not write to file %1. - Неможливо записати у файл %1 + Неможливо записати у файл %1. - + Range: Діапазон від: @@ -2133,155 +2133,185 @@ + WalletModel + + + Send Coins + Відправити + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + Експортувати дані з поточної вкладки в файл + + + + Backup Wallet + + + + + Wallet Data (*.dat) + + + + + Backup Failed + + + + + There was an error trying to save the wallet data to the new location. + Виникла помилка при спробі зберегти гаманець в новому місці. + + + + Backup Successful + Успішне створення резервної копії + + + + The wallet data was successfully saved to the new location. + Данні гаманця успішно збережено в новому місці призначення. + + + bitcoin-core - + Bitcoin version Версія - + Usage: - Вкористання: + Використання: - + Send command to -server or bitcoind - Відправити команду серверу -server чи демону - + Відправити команду серверу -server чи демону - + List commands - Список команд - + Список команд - + Get help for a command - Отримати довідку по команді - + Отримати довідку по команді - + Options: - Параметри: - + Параметри: - + Specify configuration file (default: bitcoin.conf) - Вкажіть файл конфігурації (за промовчуванням: bitcoin.conf) - + Вкажіть файл конфігурації (типово: bitcoin.conf) Specify pid file (default: bitcoind.pid) - Вкажіть pid-файл (за промовчуванням: bitcoind.pid) - - - - - Generate coins - Генерувати монети - - - - - Don't generate coins - Не генерувати монети - + Вкажіть pid-файл (типово: bitcoind.pid) - + Specify data directory - Вкажіть робочий каталог - + Вкажіть робочий каталог - + Set database cache size in megabytes (default: 25) - + Встановити розмір кешу бази даних в мегабайтах (типово: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) - Чекати на з'єднання на порту (по замовченню 8333 або тестова мережа 18333) + Чекати на з'єднання на <port> (типово: 8333 або тестова мережа: 18333) - + Maintain at most <n> connections to peers (default: 125) - Підтримувати не більше <n> зв'язків з колегами (за замовчуванням: 125) + Підтримувати не більше <n> зв'язків з колегами (типово: 125) - + Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address - + Threshold for disconnecting misbehaving peers (default: 100) - Поріг відключення неправильно підєднаних пірів (за замовчуванням: 100) + Поріг відключення неправильно під'єднаних пірів (типово: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) - Максимальній розмір вхідного буферу на одне з'єднання (за замовчуванням 86400) + Максимальній розмір вхідного буферу на одне з'єднання (типово: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) - Прослуховувати <port> для JSON-RPC-з’єднань (за промовчуванням: 8332) - + Прослуховувати <port> для JSON-RPC-з'єднань (типово: 8332 або тестова мережа: 18332) - + Accept command line and JSON-RPC commands - Приймати команди із командного рядка та команди JSON-RPC - + Приймати команди із командного рядка та команди JSON-RPC - + Run in the background as a daemon and accept commands - Запустити в фоновому режимі (як демон) та приймати команди - + Запустити в фоновому режимі (як демон) та приймати команди - + Use the test network - Використовувати тестову мережу - + Використовувати тестову мережу - + Accept connections from outside (default: 1 if no -proxy or -connect) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s @@ -2297,22 +2327,22 @@ - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Помилка: транзакцію було відхилено. Це може статись, якщо декілька монет з вашого гаманця вже використані, наприклад, якщо ви використовуєте одну копію гаманця (wallet.dat), а монети були використані з іншої копії, але не позначені як використані в цій. - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Execute command when a relevant alert is received (%s in cmd is replaced by message) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2321,14 +2351,14 @@ - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - Увага: встановлено занадто велику комісію (-paytxfee). Комісія зніматиметься кожен раз коли ви проводитимете перекази. + Увага: встановлено занадто велику комісію (-paytxfee). Комісія зніматиметься кожен раз коли ви проводитимете транзакції. @@ -2338,22 +2368,22 @@ Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly. - Увага: будь ласка, перевірте дату і час на свому комп’ютері. Якщо ваш годинник йде неправильно, Bitcoin може працювати некоректно. + Увага: будь ласка, перевірте дату і час на своєму комп'ютері. Якщо ваш годинник йде неправильно, Bitcoin може працювати некоректно. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Увага: помилка читання wallet.dat! Всі ключі прочитано коректно, але дані транзакцій чи записи адресної книги можуть бути пропущені, або пошкоджені. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - + Увага: файл wallet.dat пошкоджено, дані врятовано! Оригінальний wallet.dat збережено як wallet.{timestamp}.bak до %s; якщо Ваш баланс чи транзакції неправильні, Ви можете відновити їх з резервної копії. Attempt to recover private keys from a corrupt wallet.dat - + Спроба відновити закриті ключі з пошкодженого wallet.dat @@ -2361,38 +2391,113 @@ - + Connect only to the specified node(s) Підключитись лише до вказаного вузла + Corrupted block database detected + + + + Discover own IP address (default: 1 when listening and no -externalip) - + + Do you want to rebuild the block database now? + + + + + Error initializing block database + Помилка ініціалізації бази даних блоків + + + + Error initializing wallet database environment %s! + + + + Error loading block database + Помилка завантаження бази даних блоків + + + + Error opening block database - + Error: Disk space is low! + Помилка: Мало вільного місця на диску! + + + + Error: Wallet locked, unable to create transaction! + Помилка: Гаманець заблокований, неможливо створити транзакцію! + + + + Error: system error: + Помилка: системна помилка: + + + + Failed to listen on any port. Use -listen=0 if you want this. - Error: Transaction creation failed! + Failed to read block info - Error: Wallet locked, unable to create transaction! + Failed to read block - - Failed to listen on any port. Use -listen=0 if you want this. + + Failed to sync block index + + + + + Failed to write block index + + + + + Failed to write block info + + + + + Failed to write block + + + + + Failed to write file info + + + + + Failed to write to coin database + + + + + Failed to write transaction index + + + + + Failed to write undo data @@ -2401,42 +2506,92 @@ - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + How many blocks to check at startup (default: 288, 0 = all) + Скільки блоків перевіряти під час запуску (типово: 288, 0 = всі) + + - Importing blocks from block database... + How thorough the block verification is (0-4, default: 3) + + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + + + + + Set the number of threads to service RPC calls (default: 4) + + + + + Verifying blocks... + Verifying wallet... + + + + Imports blocks from external blk000??.dat file + Імпорт блоків з зовнішнього файлу blk000??.dat + + + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) - + Information - + Інформація Invalid -tor address: '%s' + Помилка в адресі -tor: «%s» + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' - + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) - Максимальоий буфер , <n> * 1000 байт (за умовчанням: 5000) + Максимальний буфер, <n>*1000 байт (типово: 5000) Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) - Максимальній розмір виіхідного буферу на одне з'єднання (за замовчуванням 1000) + Максимальній розмір вихідного буферу на одне з'єднання, <n>*1000 байт (типово: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) @@ -2448,7 +2603,7 @@ Output extra debugging information. Implies all other -debug* options - Виводити більше налагоджувальної інформації. Implies all other -debug* options + Виводити більше налагоджувальної інформації. Мається на увазі всі шнші -debug* параметри @@ -2461,59 +2616,79 @@ Доповнювати налагоджувальний вивід відміткою часу - - Rebuild blockchain index from current blk000??.dat files - - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) - Параметри SSL: (див. Bitcoin Wiki) + Параметри SSL: (див. Bitcoin Wiki для налаштування SSL) Select the version of socks proxy to use (4-5, default: 5) - + Вибір версії socks-проксі для використання (4-5, типово: 5) Send trace/debug info to console instead of debug.log file - Відсилаті налагоджувальну інформацію на консоль, а не у файл debug.log + Відсилати налагоджувальну інформацію на консоль, а не у файл debug.log Send trace/debug info to debugger - Відсилаті налагоджувальну інформацію до налагоджувача + Відсилати налагоджувальну інформацію до налагоджувача Set maximum block size in bytes (default: 250000) - + Встановити максимальний розмір блоку у байтах (типово: 250000) Set minimum block size in bytes (default: 0) - + Встановити мінімальний розмір блоку у байтах (типово: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) + Стискати файл debug.log під час старту клієнта (типово: 1 коли відсутутній параметр -debug) + + + + Signing transaction failed Specify connection timeout in milliseconds (default: 5000) - Odredi vremenski prozor za spajanje na mrežu u milisekundama (ugrađeni izbor: 5000) + Вказати тайм-аут підключення у мілісекундах (типово: 5000) - + + System error: + Системна помилка: + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) - Намагатись використовувати UPnP для відображення порту що прослуховується на роутері (default: 0) + Намагатись використовувати UPnP для відображення порту, що прослуховується на роутері (default: 0) Use UPnP to map the listening port (default: 1 when listening) - Намагатись використовувати UPnP для відображення порту що прослуховується на роутері (default: 1 when listening) + Намагатись використовувати UPnP для відображення порту, що прослуховується на роутері (default: 1 when listening) @@ -2523,124 +2698,112 @@ Username for JSON-RPC connections - Ім’я користувача для JSON-RPC-з’єднань - + Ім'я користувача для JSON-RPC-з'єднань Warning - + Попередження Warning: This version is obsolete, upgrade required! + Увага: Поточна версія застаріла, необхідне оновлення! + + + + You need to rebuild the databases using -reindex to change -txindex wallet.dat corrupt, salvage failed - + wallet.dat пошкоджено, відновлення не вдалося - + Password for JSON-RPC connections - Пароль для JSON-RPC-з’єднань - + Пароль для JSON-RPC-з'єднань - + Allow JSON-RPC connections from specified IP address - Дозволити JSON-RPC-з’єднання з вказаної IP-адреси - + Дозволити JSON-RPC-з'єднання з вказаної IP-адреси - + Send commands to node running on <ip> (default: 127.0.0.1) - Відправляти команди на вузол, запущений на <ip> (за промовчуванням: 127.0.0.1) - + Відправляти команди на вузол, запущений на <ip> (типово: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format - + Модернізувати гаманець до останнього формату - + Set key pool size to <n> (default: 100) - Встановити розмір пулу ключів <n> (за промовчуванням: 100) - + Встановити розмір пулу ключів <n> (типово: 100) Rescan the block chain for missing wallet transactions - Пересканувати ланцюжок блоків, в пошуку втрачених переказів - - - - - How many blocks to check at startup (default: 2500, 0 = all) - + Пересканувати ланцюжок блоків, в пошуку втрачених транзакцій - + Use OpenSSL (https) for JSON-RPC connections - Використовувати OpenSSL (https) для JSON-RPC-з’єднань - + Використовувати OpenSSL (https) для JSON-RPC-з'єднань - + Server certificate file (default: server.cert) - Сертифікату сервера (за промовчуванням: server.cert) - + Файл сертифіката сервера (типово: server.cert) Server private key (default: server.pem) - Закритий ключ сервера (за промовчуванням: server.pem) - + Закритий ключ сервера (типово: server.pem) - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - Допустимі шифри (за промовчуванням: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + Допустимі шифри (типово: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message - Дана довідка - + Дана довідка - + Unable to bind to %s on this computer (bind returned error %d, %s) - Неможливо прив’язати до порту %s на цьому комп’ютері (bind returned error %d, %s) + Неможливо прив'язати до порту %s на цьому комп'ютері (bind returned error %d, %s) - + Connect through socks proxy Підключитись через SOCKS-проксі - + Allow DNS lookups for -addnode, -seednode and -connect - Дозволити пошук в DNS для команд «addnode» і «connect» - + Дозволити пошук в DNS для команд -addnode, -seednode та -connect - + Loading addresses... Завантаження адрес... - + Error loading wallet.dat: Wallet corrupted - Помилка при завантаженні wallet.dat: Гаманець пошкоджено + Помилка при завантаженні wallet.dat: Гаманець пошкоджено @@ -2648,34 +2811,24 @@ Помилка при завантаженні wallet.dat: Гаманець потребує новішої версії Біткоін-клієнта - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete Потрібно перезаписати гаманець: перезапустіть Біткоін-клієнт для завершення - + Error loading wallet.dat Помилка при завантаженні wallet.dat - + Invalid -proxy address: '%s' - Помилка в адресі проксі-сервера: '%s' + Помилка в адресі проксі-сервера: «%s» - + Unknown network specified in -onlynet: '%s' - + Невідома мережа вказана в -onlynet: «%s» @@ -2683,7 +2836,7 @@ - + Cannot resolve -bind address: '%s' @@ -2693,50 +2846,39 @@ - + Invalid amount for -paytxfee=<amount>: '%s' - Помилка у величині комісії: '%s' + Помилка у величині комісії -paytxfee=<amount>: «%s» - - Error: could not start node - - - - + Invalid amount - + Некоректна кількість - + Insufficient funds Недостатньо коштів - + Loading block index... Завантаження індексу блоків... - + Add a node to connect to and attempt to keep the connection open - Додати вузол для підключення and attempt to keep the connection open + Додати вузол до підключення і лишити його відкритим Unable to bind to %s on this computer. Bitcoin is probably already running. - Неможливо прив’язати до порту %s на цьому комп’ютері. Молживо гаманець вже запущено. + Неможливо прив'язати до порту %s на цьому комп'ютері. Можливо гаманець вже запущено. - - Find peers using internet relay chat (default: 0) - - - - + Fee per KB to add to transactions you send - Комісія за Кб - + Комісія за КБ @@ -2744,46 +2886,43 @@ Завантаження гаманця... - + Cannot downgrade wallet - - Cannot initialize keypool - - - Cannot write default address - + Неможливо записати типову адресу - + Rescanning... Сканування... - + Done loading Завантаження завершене - + To use the %s option - + Error - + Помилка - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. - + Ви мусите встановити rpcpassword=<password> в файлі конфігурації: +%s +Якщо файл не існує, створіть його із правами тільки для читання власником (owner-readable-only). \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_zh_CN.ts bitcoin-0.8.5/src/qt/locale/bitcoin_zh_CN.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_zh_CN.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_zh_CN.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>比特币</b>版本 - - Copyright © 2009-2012 The Bitcoin developers - 版权所有 © 2009-2012 比特币开发团队 - - - + This is experimental software. @@ -32,16 +27,26 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard. + + + Copyright + 版权 + + + + The Bitcoin developers + Bitcoin-qt 客户端开发团队 + AddressBookPage Address Book - 地址簿 + 通讯录 - + Double-click to edit address or label 双击以编辑地址或标签 @@ -61,12 +66,12 @@ &新建地址 - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. 这是您用来收款的比特币地址。为了标记不同的资金来源,建议为每个付款人保留不同的收款地址。 - + &Copy Address &复制地址 @@ -91,7 +96,17 @@ 从列表中删除选中的地址 - + + Export the data in the current tab to a file + 导出当前数据到文件 + + + + &Export + &导出 + + + Verify a message to ensure it was signed with a specified Bitcoin address 验证消息,确保消息是由指定的比特币地址签名过的。 @@ -106,19 +121,29 @@ &删除 - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + 这是您用来付款的比特币地址。在付款前,请总是核实付款金额和收款地址。 + + + Copy &Label 复制 &标签 - + &Edit &编辑 - + + Send &Coins + 付款 + + + Export Address Book Data - 导出地址簿数据 + 导出通讯录数据 @@ -139,7 +164,7 @@ AddressTableModel - + Label 标签 @@ -164,22 +189,22 @@ Enter passphrase - 输入口令 + 输入密码 New passphrase - 新口令 + 新密码 Repeat new passphrase - 重复新口令 + 重复新密码 Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>. - 输入钱包的新口令。<br/>使用的口令请至少包含<b>10个以上随机字符</>,或者是<b>8个以上的单词</b>。 + 输入钱包的新密码。<br/>使用的密码请至少包含<b>10个以上随机字符</>,或者是<b>8个以上的单词</b>。 @@ -189,7 +214,7 @@ This operation needs your wallet passphrase to unlock the wallet. - 该操作需要您首先使用口令解锁钱包。 + 该操作需要您首先使用密码解锁钱包。 @@ -199,7 +224,7 @@ This operation needs your wallet passphrase to decrypt the wallet. - 该操作需要您首先使用口令解密钱包。 + 该操作需要您首先使用密码解密钱包。 @@ -209,12 +234,12 @@ Change passphrase - 修改口令 + 修改密码 Enter the old and new passphrase to the wallet. - 请输入钱包的旧口令与新口令。 + 请输入钱包的旧密码与新密码。 @@ -270,7 +295,7 @@ The supplied passphrases do not match. - 口令不匹配。 + 密码不匹配。 @@ -282,7 +307,7 @@ The passphrase entered for the wallet decryption was incorrect. - 用于解密钱包的口令不正确。 + 用于解密钱包的密码不正确。 @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... 对&消息签名... - + Synchronizing with network... 正在与网络同步... - + &Overview &概况 @@ -328,32 +353,17 @@ 查看交易历史 - - &Address Book - &地址簿 - - - + Edit the list of stored addresses and labels 修改存储的地址和标签列表 - - &Receive coins - &收款地址 - - - + Show the list of addresses for receiving payments 显示接收支付的地址列表 - - &Send coins - &发送货币 - - - + E&xit 退出 @@ -383,7 +393,7 @@ &选项... - + &Encrypt Wallet... &加密钱包... @@ -398,7 +408,7 @@ &修改密码... - + Importing blocks from disk... 正在从磁盘导入数据块... @@ -407,18 +417,8 @@ Reindexing blocks on disk... 正在为数据块建立索引... - - - ~%n block(s) remaining - ~还剩 %n 个数据块 - - - - &Export... - &导出... - - + Send coins to a Bitcoin address 向一个比特币地址发送比特币 @@ -428,12 +428,7 @@ 设置选项 - - Export the data in the current tab to a file - 导出当前数据到文件 - - - + Backup wallet to another location 备份钱包到其它文件夹 @@ -443,7 +438,7 @@ 修改钱包加密口令 - + &Debug window &调试窗口 @@ -453,23 +448,38 @@ 在诊断控制台调试 - + &Verify message... &验证消息... - - + + Bitcoin 比特币 - + Wallet 钱包 - + + &Send + &发送 + + + + &Receive + &接收 + + + + &Addresses + &地址 + + + &About Bitcoin &关于比特币 @@ -484,7 +494,7 @@ 显示或隐藏主窗口 - + Encrypt the private keys that belong to your wallet 对钱包中的私钥加密 @@ -499,12 +509,12 @@ 校验消息,确保该消息是由指定的比特币地址所有者签名的 - + &File &文件 - + &Settings &设置 @@ -519,38 +529,68 @@ 分页工具栏 - - Actions toolbar - 动作工具栏 - - - + [testnet] [testnet] - + Bitcoin client 比特币客户端 - + %n active connection(s) to Bitcoin network 到比特币网络的连接共有%n条 - - Processed %1 of %2 blocks of transaction history (%3% done). - 已处理 %2个交易历史数据块中的%1个(完成率 %3%)。 + + No block source available... + No block source available... - + + Processed %1 of %2 (estimated) blocks of transaction history. + %1 / %2 个交易历史的区块已下载 + + + Processed %1 blocks of transaction history. 已处理 %1 个交易历史数据块。 + + + %n hour(s) + %n 小时前 + + + + %n day(s) + %n 天前 + + + + %n week(s) + %n 周前 + - + + %1 behind + 落后 %1 + + + + Last received block was generated %1 ago. + 最新收到的区块产生于 %1。 + + + + Transactions after this will not yet be visible. + 在此之后的交易尚未可见 + + + Error 错误 @@ -565,62 +605,27 @@ 信息 - + 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? 该交易的字节数超标。您可以选择支付%1的交易费给处理您的交易的网络节点,有助于比特币网络的运行。您愿意支付这笔交易费用吗? - - Backup Successful - 备份成功 - - - - The wallet data was successfully saved to the new location. - 钱包数据成功存储到新位置 - - - - %n second(s) ago - %n 秒前 - - - - %n minute(s) ago - %n 分种前 - - - - %n hour(s) ago - %n 小时前 - - - - %n day(s) ago - %n 天前 - - - + Up to date 最新状态 - + Catching up... 更新中... - - Last received block was generated %1. - 最新收到的数据块产生于 %1。 - - - + Confirm transaction fee 确认交易费 - + Sent transaction 已发送交易 @@ -643,14 +648,14 @@ - - + + URI handling URI 处理 - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. URI无法解析!原因可能是比特币地址不正确,或者URI参数错误。 @@ -665,27 +670,7 @@ 钱包已被<b>加密</b>,当前为<b>锁定</b>状态 - - Backup Wallet - 备份钱包 - - - - Wallet Data (*.dat) - 钱包文件(*.dat) - - - - Backup Failed - 备份失败 - - - - There was an error trying to save the wallet data to the new location. - 备份钱包到其它文件夹失败. - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. 发生严重错误。 @@ -693,7 +678,7 @@ ClientModel - + Network Alert 网络警报 @@ -726,7 +711,7 @@ 该地址与地址簿中的条目已关联,无法作为发送地址编辑。 - + New receiving address 新接收地址 @@ -746,17 +731,17 @@ 编辑发送地址 - + The entered address "%1" is already in the address book. 输入的地址 "%1" 已经存在于地址簿。 - + The entered address "%1" is not a valid Bitcoin address. 您输入的 "%1" 不是合法的比特币地址. - + Could not unlock wallet. 无法解锁钱包 @@ -769,7 +754,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt Bitcoin-Qt @@ -825,8 +810,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - 建议支付交易费用,有助于您的交易得到尽快处理. 绝大多数交易的字节数为 1 kB. 建议支付0.01个比特币. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + @@ -846,12 +831,12 @@ Reset all client options to default. - + 恢复客户端的缺省设置 &Reset Options - + 恢复缺省设置 @@ -984,24 +969,24 @@ &应用 - + default 缺省 Confirm options reset - + 确认恢复缺省设置 Some settings may require a client restart to take effect. - + 某些设置选项需要重启客户端才能生效 Do you want to proceed? - + 您希望继续吗? @@ -1029,23 +1014,18 @@ 表单 - - + + 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. 现在显示的消息可能是过期的. 在连接上比特币网络节点后,您的钱包将自动与网络同步,但是这个过程还没有完成. - + Balance: 余额: - - Number of transactions: - 交易笔数: - - - + Unconfirmed: 未确认: @@ -1055,7 +1035,7 @@ 钱包 - + Immature: 未成熟的: @@ -1070,7 +1050,7 @@ <b>最近交易记录</b> - + Your current balance 您的当前余额 @@ -1080,18 +1060,21 @@ 尚未确认的交易总额, 未计入当前余额 - - Total number of transactions in wallet - 钱包总交易数量 - - - + out of sync 数据同步中 + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + 暂时无法启动比特币:点击支付功能 + + + QRCodeDialog @@ -1166,7 +1149,7 @@ - + N/A 不可用 @@ -1430,7 +1413,7 @@ - + Enter a label for this address to add it to your address book 为这个地址输入一个标签,以便将它添加到您的地址簿 @@ -1522,7 +1505,7 @@ Signature - + 签名 @@ -1664,9 +1647,22 @@ + SplashScreen + + + The Bitcoin developers + Bitcoin-qt 客户端开发团队 + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 至 %1 个数据块时开启 @@ -1829,7 +1825,7 @@ Open for %n more block(s) - + Open for %n more block @@ -1853,7 +1849,7 @@ TransactionTableModel - + Date 日期 @@ -1875,7 +1871,7 @@ Open for %n more block(s) - + Open for %n more block @@ -1971,7 +1967,7 @@ TransactionView - + All 全部 @@ -2058,6 +2054,11 @@ + Copy transaction ID + 复制交易编号 + + + Edit label 编辑标签 @@ -2067,7 +2068,7 @@ 显示交易详情 - + Export Transaction Data 导出交易数据 @@ -2122,7 +2123,7 @@ 无法写入文件 %1。 - + Range: 范围: @@ -2133,43 +2134,94 @@ + WalletModel + + + Send Coins + 发送比特币 + + + + WalletView + + + &Export + + + + + Export the data in the current tab to a file + 导出当前数据到文件 + + + + Backup Wallet + 备份钱包 + + + + Wallet Data (*.dat) + 钱包文件(*.dat) + + + + Backup Failed + 备份失败 + + + + There was an error trying to save the wallet data to the new location. + 备份钱包到其它文件夹失败. + + + + Backup Successful + 备份成功 + + + + The wallet data was successfully saved to the new location. + 钱包数据成功存储到新位置 + + + bitcoin-core - + Bitcoin version 比特币版本 - + Usage: 使用: - + Send command to -server or bitcoind 发送命令到服务器或者 bitcoind - + List commands 列出命令 - + Get help for a command 获得某条命令的帮助 - + Options: 选项: - + Specify configuration file (default: bitcoin.conf) 指定配置文件 (默认为 bitcoin.conf) @@ -2181,102 +2233,92 @@ - - Generate coins - 生成货币 - - - - - Don't generate coins - 不要生成货币 - - - - + Specify data directory 指定数据目录 - + Set database cache size in megabytes (default: 25) 设置数据库缓冲区大小 (缺省: 25MB) - + Listen for connections on <port> (default: 8333 or testnet: 18333) 监听端口连接 <port> (缺省: 8333 or testnet: 18333) - + Maintain at most <n> connections to peers (default: 125) 最大连接数 <n> (缺省: 125) - + Connect to a node to retrieve peer addresses, and disconnect 连接一个节点并获取对端地址, 然后断开连接 - + Specify your own public address 指定您的公共地址 - + Threshold for disconnecting misbehaving peers (default: 100) Threshold for disconnecting misbehaving peers (缺省: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) Number of seconds to keep misbehaving peers from reconnecting (缺省: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s 设置RPC监听端口%u时发生错误, IPv4:%s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) JSON-RPC连接监听端口<port> (缺省:8332 testnet:18332) - + Accept command line and JSON-RPC commands 接受命令行和 JSON-RPC 命令 - + Run in the background as a daemon and accept commands 在后台运行并接受命令 - + Use the test network 使用测试网络 - + Accept connections from outside (default: 1 if no -proxy or -connect) 接受来自外部的连接 (缺省: 如果不带 -proxy or -connect 参数设置为1) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, 您必须在配置文件设置rpcpassword: %s @@ -2285,10 +2327,13 @@ rpcpassword=%s (您无需记住此密码) 用户名和密码 必! 须! 不一样。 -如果配置文件不存在,请自行建立一个只有所有者拥有只读权限的文件。 +如果配置文件不存在,请自行建立一个只有所有者拥有只读权限的文件。 +推荐您开启提示通知以便收到错误通知, +像这样: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s 在IPv6模式下设置RPC监听端口 %u 失败,返回到IPv4模式: %s @@ -2304,23 +2349,23 @@ - Corrupted block database detected. Please restart the client with -reindex. - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + 错误:该交易被拒绝!发生这种错误的原因可能是:钱包中的比特币已经被用掉,有可能您复制了wallet.dat钱包文件,然后用复制的钱包文件支付了比特币,但是这个钱包文件中没有记录。 - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - 数据库环境%s初始化失败!恢复方法:备份该目录,然后删掉除wallet.dat之外的所有文件。 + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + 错误:因为该交易的数量、复杂度或者动用了刚收到不久的资金,您需要支付不少于%s的交易费用。 - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - 错误:该交易被拒绝!发生这种错误的原因可能是:钱包中的比特币已经被用掉,有可能您复制了wallet.dat钱包文件,然后用复制的钱包文件支付了比特币,但是这个钱包文件中没有记录。 + Execute command when a relevant alert is received (%s in cmd is replaced by message) + 当收到相关通知时执行命令(命令行中的 %s 的替换为消息) - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - 错误:因为该交易的数量、复杂度或者动用了刚收到不久的新钱等原因,您需要支付不少于%s的交易费用。 + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + 当最佳区块变化时执行命令 (命令行中的 %s 会被替换成区块哈希值) @@ -2328,7 +2373,7 @@ Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications 这是测试用的预发布版本 - 请谨慎使用 - 不要用来挖矿,或者在正式商用环境下使用 @@ -2368,62 +2413,172 @@ 数据块创建选项: - + Connect only to the specified node(s) 仅连接到指定节点 + Corrupted block database detected + 检测发现数据块数据库损坏。请使用 -reindex参数重启客户端。 + + + Discover own IP address (default: 1 when listening and no -externalip) 发现自己的IP地址(缺省:不带 -externalip 参数监听时设置为1) - + + Do you want to rebuild the block database now? + 你想现在就重建块数据库吗? + + + + Error initializing block database + 初始化数据块数据库出错 + + + + Error initializing wallet database environment %s! + Error initializing wallet database environment %s! + + + Error loading block database - + 导入数据块数据库出错 - + + Error opening block database + 导入数据块数据库出错 + + + Error: Disk space is low! - 错误:磁盘空间不多了! + 错误:磁盘剩余空间低! - Error: Transaction creation failed! - 错误:创建交易失败! + Error: Wallet locked, unable to create transaction! + 错误:钱包被锁定,无法创建交易! - Error: Wallet locked, unable to create transaction! - 错误:钱包处于上锁状态,无法创建交易! + Error: system error: + 错误:系统出错。 - + Failed to listen on any port. Use -listen=0 if you want this. 监听端口失败。请使用 -listen=0 参数。 + + Failed to read block info + 无法读取数据块信息 + + + + Failed to read block + 读取数据块失败 + + + + Failed to sync block index + 无法同步数据块索引 + + + + Failed to write block index + 无法写入数据块索引 + + + + Failed to write block info + 无法写入数据块信息 + + + + Failed to write block + 无法写数据块 + + + + Failed to write file info + 无法写入文件信息 + + + + Failed to write to coin database + 无法写入coin数据库 + + + + Failed to write transaction index + 无法写入交易索引 + + + + Failed to write undo data + 无法写入回滚信息 + + Find peers using DNS lookup (default: 1 unless -connect) 通过DNS查找节点(缺省:1 除非使用 -connect 选项) - - How thorough the block verification is (0-4, default: 3) + + Generate coins (default: 0) + + How many blocks to check at startup (default: 288, 0 = all) + 启动时检测多少个数据块(缺省:288,0=所有) + + - Importing blocks from block database... - 正在从数据块文件中导入数据块... + How thorough the block verification is (0-4, default: 3) + How thorough the block verification is (0-4, default: 3) + + + + Not enough file descriptors available. + + + + + Rebuild block chain index from current blk000??.dat files + 重新为当前的blk000??.dat文件建立索引 + + + + Set the number of threads to service RPC calls (default: 4) + 设置使用调用服务 RPC 的线程数量(默认:4) + + + + Verifying blocks... + 正在验证数据库的完整性... + Verifying wallet... + 正在检测钱包的完整性... + + + Imports blocks from external blk000??.dat file 从blk000??.dat文件导入数据块 - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + + + + Information 信息 @@ -2433,7 +2588,22 @@ 非法的 -tor 地址:'%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + + + Invalid amount for -mintxfee=<amount>: '%s' + + + + + Maintain a full transaction index (default: 0) + 维护一份完整的交易索引(缺省:0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) 每个连接的最大接收缓存,<n>*1000 字节(缺省:5000) @@ -2443,7 +2613,7 @@ 每个连接的最大发送缓存,<n>*1000 字节(缺省:1000) - + Only accept block chain matching built-in checkpoints (default: 1) 仅接受符合客户端检查点设置的数据块文件 @@ -2468,12 +2638,7 @@ 为调试输出信息添加时间戳 - - Rebuild blockchain index from current blk000??.dat files - 重新为当前的blk000??.dat文件建立索引 - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL选项:(参见Bitcoin Wiki关于SSL设置栏目) @@ -2503,17 +2668,42 @@ 设置最小数据块大小(缺省:0) - + Shrink debug.log file on client startup (default: 1 when no -debug) 客户端启动时压缩debug.log文件(缺省:no-debug模式时为1) + + Signing transaction failed + + + Specify connection timeout in milliseconds (default: 5000) 设置连接超时时间(缺省:5000毫秒) - + + System error: + 系统错误: + + + + Transaction amount too small + + + + + Transaction amounts must be positive + + + + + Transaction too large + + + + Use UPnP to map the listening port (default: 0) 使用UPnp映射监听端口(缺省: 0) @@ -2545,39 +2735,44 @@ + You need to rebuild the databases using -reindex to change -txindex + You need to rebuild the databases using -reindex to change -txindex + + + wallet.dat corrupt, salvage failed 钱包文件wallet.dat损坏,抢救备份失败 - + Password for JSON-RPC connections JSON-RPC连接密码 - + Allow JSON-RPC connections from specified IP address 允许从指定IP接受到的JSON-RPC连接 - + Send commands to node running on <ip> (default: 127.0.0.1) 向IP地址为 <ip> 的节点发送指令 (缺省: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) 当最佳数据块变化时执行命令 (命令行中的 %s 会被替换成数据块哈希值) - + Upgrade wallet to latest format 将钱包升级到最新的格式 - + Set key pool size to <n> (default: 100) 设置密钥池大小为 <n> (缺省: 100) @@ -2589,17 +2784,12 @@ - - How many blocks to check at startup (default: 2500, 0 = all) - 启动时需检查的数据块数量 (缺省: 2500, 设置0为检查所有数据块) - - - + Use OpenSSL (https) for JSON-RPC connections 为 JSON-RPC 连接使用 OpenSSL (https)连接 - + Server certificate file (default: server.cert) 服务器证书 (默认为 server.cert) @@ -2611,39 +2801,39 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) 可接受的加密器 (默认为 TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message 该帮助信息 - + Unable to bind to %s on this computer (bind returned error %d, %s) 无法绑定本机端口 %s (返回错误消息 %d, %s) - + Connect through socks proxy 通过 socks 代理连接 - + Allow DNS lookups for -addnode, -seednode and -connect 使用 -addnode, -seednode 和 -connect选项时允许DNS查找 - + Loading addresses... 正在加载地址... - + Error loading wallet.dat: Wallet corrupted wallet.dat钱包文件加载错误:钱包损坏 @@ -2653,32 +2843,22 @@ wallet.dat钱包文件加载错误:请升级到最新Bitcoin客户端 - - Verifying block database integrity... - - - - - Verifying wallet integrity... - - - - + Wallet needed to be rewritten: restart Bitcoin to complete 钱包文件需要重写:请退出并重新启动Bitcoin客户端 - + Error loading wallet.dat wallet.dat钱包文件加载错误 - + Invalid -proxy address: '%s' 非法的代理地址: '%s' - + Unknown network specified in -onlynet: '%s' 被指定的是未知网络 -onlynet: '%s' @@ -2688,7 +2868,7 @@ 被指定的是未知socks代理版本: %i - + Cannot resolve -bind address: '%s' 无法解析 -bind 端口地址: '%s' @@ -2698,32 +2878,27 @@ 无法解析 -externalip 地址: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' 非法金额 -paytxfee=<amount>: '%s' - - Error: could not start node - 错误: 无法启动节点 - - - + Invalid amount 金额不对 - + Insufficient funds 金额不足 - + Loading block index... 加载数据块索引... - + Add a node to connect to and attempt to keep the connection open 添加节点并与其保持连接 @@ -2733,12 +2908,7 @@ 无法在本机绑定 %s 端口 . 比特币客户端软件可能已经在运行. - - Find peers using internet relay chat (default: 0) - 通过IRC聊天室查找网络上的比特币节点 (缺省: 0) - - - + Fee per KB to add to transactions you send 每发送1KB交易所需的费用 @@ -2748,42 +2918,37 @@ 正在加载钱包... - + Cannot downgrade wallet 无法降级钱包格式 - - Cannot initialize keypool - 无法初始化 keypool - - Cannot write default address 无法写入缺省地址 - + Rescanning... 正在重新扫描... - + Done loading 加载完成 - + To use the %s option 使用 %s 选项 - + Error 错误 - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/locale/bitcoin_zh_TW.ts bitcoin-0.8.5/src/qt/locale/bitcoin_zh_TW.ts --- bitcoin-0.8.1/src/qt/locale/bitcoin_zh_TW.ts 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/locale/bitcoin_zh_TW.ts 2013-09-12 03:35:18.000000000 +0000 @@ -13,12 +13,7 @@ <b>位元幣</b>版本 - - Copyright © 2009-2012 The Bitcoin developers - 版權為 Bitcoin 開發人員自西元 2009 至 2012 年起所有 - - - + This is experimental software. @@ -32,6 +27,16 @@ 此產品也包含了由 OpenSSL Project 所開發的 OpenSSL Toolkit (http://www.openssl.org/) 軟體, 由 Eric Young (eay@cryptsoft.com) 撰寫的加解密軟體, 以及由 Thomas Bernard 所撰寫的 UPnP 軟體. + + + Copyright + 版權 + + + + The Bitcoin developers + 位元幣開發人員 + AddressBookPage @@ -41,7 +46,7 @@ 位址簿 - + Double-click to edit address or label 點兩下來修改位址或標記 @@ -61,12 +66,12 @@ 新增位址 - + These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. 這些是你用來收款的位元幣位址. 你可以提供不同的位址給不同的付款人, 來追蹤是誰支付給你. - + &Copy Address 複製位址 @@ -78,12 +83,12 @@ Sign a message to prove you own a Bitcoin address - 簽署一則訊息來證明一個位元幣位址是你的 + 簽署訊息是用來證明位元幣位址是你的 Sign &Message - 簽署訊息 + 訊息簽署 @@ -91,14 +96,24 @@ 從列表中刪除目前選取的位址 - + + Export the data in the current tab to a file + 將目前分頁的資料匯出存成檔案 + + + + &Export + 匯出 + + + Verify a message to ensure it was signed with a specified Bitcoin address - 驗證一則訊息以確認它是用指定的位元幣位址簽署的 + 驗證訊息是用來確認訊息是用指定的位元幣位址簽署的 &Verify Message - 驗證訊息 + 訊息驗證 @@ -106,17 +121,27 @@ 刪除 - + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + 這是你用來付款的位元幣位址. 在付錢之前, 務必要檢查金額和收款位址是否正確. + + + Copy &Label 複製標記 - + &Edit 編輯 - + + Send &Coins + 付錢 + + + Export Address Book Data 匯出位址簿資料 @@ -128,7 +153,7 @@ Error exporting - 資料匯出有誤 + 匯出失敗 @@ -139,7 +164,7 @@ AddressTableModel - + Label 標記 @@ -264,7 +289,7 @@ Wallet encryption failed due to an internal error. Your wallet was not encrypted. - 錢包加密因程式內部有誤而失敗. 你的錢包還是沒有加密. + 錢包加密因程式內部錯誤而失敗. 你的錢包還是沒有加密. @@ -298,17 +323,17 @@ BitcoinGUI - + Sign &message... 訊息簽署... - + Synchronizing with network... 網路同步中... - + &Overview 總覽 @@ -328,32 +353,17 @@ 瀏覽交易紀錄 - - &Address Book - 位址簿 - - - + Edit the list of stored addresses and labels 編輯位址與標記的儲存列表 - - &Receive coins - 收錢 - - - + Show the list of addresses for receiving payments 顯示收款位址的列表 - - &Send coins - 付錢 - - - + E&xit 結束 @@ -383,7 +393,7 @@ 選項... - + &Encrypt Wallet... 錢包加密... @@ -398,7 +408,7 @@ 密碼變更... - + Importing blocks from disk... 從磁碟匯入區塊中... @@ -407,20 +417,10 @@ Reindexing blocks on disk... 重建磁碟區塊索引中... - - - ~%n block(s) remaining - 剩下 ~%n 個區塊 - - - - &Export... - 匯出... - - + Send coins to a Bitcoin address - 付錢到一個位元幣位址 + 付錢到位元幣位址 @@ -428,12 +428,7 @@ 修改位元幣的設定選項 - - Export the data in the current tab to a file - 將目前分頁的資料匯出存成檔案 - - - + Backup wallet to another location 將錢包備份到其它地方 @@ -443,7 +438,7 @@ 變更錢包加密用的密碼 - + &Debug window 除錯視窗 @@ -453,23 +448,38 @@ 開啓除錯與診斷主控台 - + &Verify message... - 訊息驗證... + 驗證訊息... - - + + Bitcoin 位元幣 - + Wallet 錢包 - + + &Send + 付出 + + + + &Receive + 收受 + + + + &Addresses + 位址 + + + &About Bitcoin 關於位元幣 @@ -484,7 +494,7 @@ 顯示或隱藏主視窗 - + Encrypt the private keys that belong to your wallet 將屬於你的錢包的密鑰加密 @@ -496,15 +506,15 @@ Verify messages to ensure they were signed with specified Bitcoin addresses - 驗證訊息以確認那是用指定的位元幣位址簽署的 + 驗證訊息來確認是用指定的位元幣位址簽署的 - + &File 檔案 - + &Settings 設定 @@ -519,38 +529,68 @@ 分頁工具列 - - Actions toolbar - 動作工具列 - - - + [testnet] [testnet] - + Bitcoin client 位元幣客戶端軟體 - + %n active connection(s) to Bitcoin network 與位元幣網路有 %n 個連線在使用中 - - Processed %1 of %2 blocks of transaction history (%3% done). - 已處理了全部 %2 個中的 %1 個區塊的交易紀錄 (完成度 %3%). + + No block source available... + 目前沒有區塊來源... - + + Processed %1 of %2 (estimated) blocks of transaction history. + 已處理了估計全部 %2 個中的 %1 個區塊的交易紀錄. + + + Processed %1 blocks of transaction history. 已處理了 %1 個區塊的交易紀錄. + + + %n hour(s) + %n 個小時 + + + + %n day(s) + %n 天 + + + + %n week(s) + %n 個星期 + - + + %1 behind + 落後 %1 + + + + Last received block was generated %1 ago. + 最近收到的區塊是在 %1 之前生產出來. + + + + Transactions after this will not yet be visible. + 會看不見在這之後的交易. + + + Error 錯誤 @@ -565,62 +605,27 @@ 資訊 - + 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? 這筆交易的資料大小超過限制了. 你還是可以付出 %1 的費用來傳送, 這筆費用會付給處理你的交易的節點, 並幫助維持整個網路. 你願意支付這項費用嗎? - - Backup Successful - 備份成功 - - - - The wallet data was successfully saved to the new location. - 錢包的資料已經成功儲存到新的地方了. - - - - %n second(s) ago - %n 秒鐘前 - - - - %n minute(s) ago - %n 分鐘前 - - - - %n hour(s) ago - %n 小時前 - - - - %n day(s) ago - %n 天前 - - - + Up to date 最新狀態 - + Catching up... 進度追趕中... - - Last received block was generated %1. - 最近收到的區塊產生於 %1. - - - + Confirm transaction fee 確認交易手續費 - + Sent transaction 付款交易 @@ -642,14 +647,14 @@ 位址: %4 - - + + URI handling URI 處理 - - + + URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. 無法解析 URI! 也許位元幣位址無效或 URI 參數有誤. @@ -664,27 +669,7 @@ 錢包<b>已加密</b>並且正<b>上鎖中</b> - - Backup Wallet - 錢包備份 - - - - Wallet Data (*.dat) - 錢包資料檔 (*.dat) - - - - Backup Failed - 備份失敗 - - - - There was an error trying to save the wallet data to the new location. - 儲存錢包資料到新的地方時發生錯誤 - - - + A fatal error occurred. Bitcoin can no longer continue safely and will quit. 發生了致命的錯誤. 位元幣程式無法再繼續安全執行, 只好結束. @@ -692,7 +677,7 @@ ClientModel - + Network Alert 網路警報 @@ -722,17 +707,17 @@ The address associated with this address book entry. This can only be modified for sending addresses. - 與這個位址簿項目關聯的位址. 只能修改付款位址. + 與這個位址簿項目關聯的位址. 付款位址才能被更改. - + New receiving address 新收款位址 New sending address - 新付款位址 + 新增付款位址 @@ -745,17 +730,17 @@ 編輯付款位址 - + The entered address "%1" is already in the address book. 輸入的位址"%1"已存在於位址簿中. - + The entered address "%1" is not a valid Bitcoin address. 輸入的位址 "%1" 並不是有效的位元幣位址. - + Could not unlock wallet. 無法將錢包解鎖. @@ -768,7 +753,7 @@ GUIUtil::HelpMessageBox - + Bitcoin-Qt 位元幣-Qt @@ -824,8 +809,8 @@ - Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended. - 非必要的交易手續費, 以 kB 為計費單位, 且有助於縮短你的交易處理時間. 大部份交易的資料大小是 1 kB. 建議設定為 0.01 元. + Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. + 非必要的交易手續費, 以 kB 為計費單位, 且有助於縮短你的交易處理時間. 大部份交易資料的大小是 1 kB. @@ -983,7 +968,7 @@ 套用 - + default 預設 @@ -1028,23 +1013,18 @@ 表單 - - + + 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. 顯示的資訊可能是過期的. 與位元幣網路的連線建立後, 你的錢包會自動和網路同步, 但這個步驟還沒完成. - + Balance: 餘額: - - Number of transactions: - 交易次數: - - - + Unconfirmed: 未確認額: @@ -1054,7 +1034,7 @@ 錢包 - + Immature: 未熟成 @@ -1069,7 +1049,7 @@ <b>最近交易</b> - + Your current balance 目前餘額 @@ -1079,18 +1059,21 @@ 尚未確認之交易的總額, 不包含在目前餘額中 - - Total number of transactions in wallet - 錢包中紀錄的總交易次數 - - - + out of sync 沒同步 + PaymentServer + + + Cannot start bitcoin: click-to-pay handler + 無法啟動 bitcoin 隨按隨付處理器 + + + QRCodeDialog @@ -1125,7 +1108,7 @@ Error encoding URI into QR Code. - 將 URI 編碼成 QR 條碼時發生錯誤 + 將 URI 編碼成 QR 條碼失敗 @@ -1165,7 +1148,7 @@ - + N/A @@ -1357,7 +1340,7 @@ Confirm send coins - 確認付出金額 + 確認要付錢 @@ -1392,7 +1375,7 @@ Duplicate address found, can only send to each address once per send operation. - 發現有重複的位址. 在一次付款動作中, 只能付給每個位址一次. + 發現有重複的位址. 每個付款動作中, 只能付給個別的位址一次. @@ -1429,7 +1412,7 @@ - + Enter a label for this address to add it to your address book 輸入一個標記給這個位址, 並加到位址簿中 @@ -1479,7 +1462,7 @@ &Sign Message - 簽署訊息 + 訊息簽署 @@ -1531,7 +1514,7 @@ Sign the message to prove you own this Bitcoin address - 簽署一則訊息來證明一個位元幣位址是你的 + 簽署訊息是用來證明這個位元幣位址是你的 @@ -1552,7 +1535,7 @@ &Verify Message - 驗證訊息 + 訊息驗證 @@ -1567,7 +1550,7 @@ Verify the message to ensure it was signed with the specified Bitcoin address - 驗證這則訊息以確認它是用指定的位元幣位址簽署的 + 驗證訊息是用來確認訊息是用指定的位元幣位址簽署的 @@ -1588,7 +1571,7 @@ Click "Sign Message" to generate signature - 按"簽署訊息"來產生簽章 + 按"訊息簽署"來產生簽章 @@ -1663,9 +1646,22 @@ + SplashScreen + + + The Bitcoin developers + 位元幣開發人員 + + + + [testnet] + [testnet] + + + TransactionDesc - + Open until %1 在 %1 前未定 @@ -1852,7 +1848,7 @@ TransactionTableModel - + Date 日期 @@ -1970,7 +1966,7 @@ TransactionView - + All 全部 @@ -2057,6 +2053,11 @@ + Copy transaction ID + 複製交易識別碼 + + + Edit label 編輯標記 @@ -2066,7 +2067,7 @@ 顯示交易明細 - + Export Transaction Data 匯出交易資料 @@ -2113,7 +2114,7 @@ Error exporting - 匯出錯誤 + 匯出失敗 @@ -2121,7 +2122,7 @@ 無法寫入至 %1 檔案. - + Range: 範圍: @@ -2132,43 +2133,94 @@ + WalletModel + + + Send Coins + 付錢 + + + + WalletView + + + &Export + 匯出 + + + + Export the data in the current tab to a file + 將目前分頁的資料匯出存成檔案 + + + + Backup Wallet + 錢包備份 + + + + Wallet Data (*.dat) + 錢包資料檔 (*.dat) + + + + Backup Failed + 備份失敗 + + + + There was an error trying to save the wallet data to the new location. + 儲存錢包資料到新的地方失敗 + + + + Backup Successful + 備份成功 + + + + The wallet data was successfully saved to the new location. + 錢包的資料已經成功儲存到新的地方了. + + + bitcoin-core - + Bitcoin version 位元幣版本 - + Usage: 用法: - + Send command to -server or bitcoind - 送指令至 -server 或 bitcoind + 送指令給 -server 或 bitcoind - + List commands 列出指令 - + Get help for a command 取得指令說明 - + Options: 選項: - + Specify configuration file (default: bitcoin.conf) 指定設定檔 (預設: bitcoin.conf) @@ -2180,100 +2232,90 @@ - - Generate coins - 生產位元幣 - - - - - Don't generate coins - 不生產位元幣 - - - - + Specify data directory 指定資料目錄 - + Set database cache size in megabytes (default: 25) 設定資料庫快取大小為多少百萬位元組(MB, 預設: 25) - + Listen for connections on <port> (default: 8333 or testnet: 18333) 在通訊埠 <port> 聽候連線 (預設: 8333, 或若為測試網路: 18333) - + Maintain at most <n> connections to peers (default: 125) 維持與節點連線數的上限為 <n> 個 (預設: 125) - + Connect to a node to retrieve peer addresses, and disconnect 連線到某個節點以取得其它節點的位址, 然後斷線 - + Specify your own public address 指定自己公開的位址 - + Threshold for disconnecting misbehaving peers (default: 100) 與亂搞的節點斷線的臨界值 (預設: 100) - + Number of seconds to keep misbehaving peers from reconnecting (default: 86400) 避免與亂搞的節點連線的秒數 (預設: 86400) - + An error occurred while setting up the RPC port %u for listening on IPv4: %s 在 IPv4 網路上以通訊埠 %u 聽取 RPC 連線時發生錯誤: %s - + Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332) 在通訊埠 <port> 聽候 JSON-RPC 連線 (預設: 8332, 或若為測試網路: 18332) - + Accept command line and JSON-RPC commands 接受命令列與 JSON-RPC 指令 - + Run in the background as a daemon and accept commands 以背景程式執行並接受指令 - + Use the test network 使用測試網路 - + Accept connections from outside (default: 1 if no -proxy or -connect) 是否接受外來連線 (預設: 當沒有 -proxy 或 -connect 時預設為 1) - + %s, you must set a rpcpassword in the configuration file: - %s +%s It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=%s (you do not need to remember this password) The username and password MUST NOT be the same. 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 "Bitcoin Alert" admin@foo.com %s, 你必須要在以下設定檔中設定 RPC 密碼(rpcpassword): %s @@ -2282,10 +2324,14 @@ rpcpassword=%s (你不用記住這個密碼) 使用者名稱(rpcuser)和密碼(rpcpassword)不可以相同! -如果這個檔案還不存在, 請在新增時, 設定檔案權限為"只有主人才能讀取". +如果設定檔還不存在, 請在新增時, 設定檔案權限為"只有主人才能讀取". +也建議你設定警示通知, 發生問題時你才會被通知到; +比如說設定為: +alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + - + An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s 設定在 IPv6 網路的通訊埠 %u 上聽候 RPC 連線失敗, 退而改用 IPv4 網路: %s @@ -2301,16 +2347,6 @@ - Corrupted block database detected. Please restart the client with -reindex. - 發現區塊資料庫壞掉了. 請加上 -reindex 參數來重新啓動客戶端軟體. - - - - Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat. - 資料庫環境 %s 初始化失敗了! 要復原資料, 請*務必先備份該資料夾*, 然後將其中除了錢包檔 wallet.dat 外的東西都刪除掉. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. 錯誤: 交易被拒絕了! 有時候會發生這種錯誤, 是因為你錢包中的一些錢已經被花掉了. 比如說你複製了錢包檔 wallet.dat, 然後用複製的錢包花掉了錢, 你現在所用的原來的錢包中卻沒有該筆交易紀錄. @@ -2320,12 +2356,22 @@ 錯誤: 這筆交易需要至少 %s 的手續費! 因為它的金額太大, 或複雜度太高, 或是使用了最近才剛收到的款項. + + Execute command when a relevant alert is received (%s in cmd is replaced by message) + 當收到相關警示時所要執行的指令 (指令中的 %s 會被取代為警示訊息) + + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + 當錢包有交易改變時所要執行的指令 (指令中的 %s 會被取代為交易識別碼) + + Set maximum size of high-priority/low-fee transactions in bytes (default: 27000) 設定高優先權或低手續費的交易資料大小上限為多少位元組 (預設: 27000) - + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications 這是尚未發表的測試版本 - 使用請自負風險 - 請不要用於開採或商業應用 @@ -2365,62 +2411,172 @@ 區塊產生選項: - + Connect only to the specified node(s) 只連線至指定節點(可多個) + Corrupted block database detected + 發現區塊資料庫壞掉了 + + + Discover own IP address (default: 1 when listening and no -externalip) 找出自己的網際網路位址 (預設: 當有聽候連線且沒有 -externalip 時為 1) - + + Do you want to rebuild the block database now? + 你要現在重建區塊資料庫嗎? + + + + Error initializing block database + 初始化區塊資料庫失敗 + + + + Error initializing wallet database environment %s! + 錢包資料庫環境 %s 初始化錯誤! + + + Error loading block database 載入區塊資料庫失敗 - + + Error opening block database + 打開區塊資料庫檔案失敗 + + + Error: Disk space is low! 錯誤: 磁碟空間很少! - Error: Transaction creation failed! - 錯誤: 交易產生失敗! + Error: Wallet locked, unable to create transaction! + 錯誤: 錢包被上鎖了, 無法產生新的交易! - Error: Wallet locked, unable to create transaction! - 錯誤: 錢包被上鎖了, 無法產生新的交易! + Error: system error: + 錯誤: 系統錯誤: - + Failed to listen on any port. Use -listen=0 if you want this. 在任意的通訊埠聽候失敗. 如果你想的話可以用 -listen=0. + + Failed to read block info + 讀取區塊資訊失敗 + + + + Failed to read block + 讀取區塊失敗 + + + + Failed to sync block index + 同步區塊索引失敗 + + + + Failed to write block index + 寫入區塊索引失敗 + + + + Failed to write block info + 寫入區塊資訊失敗 + + + + Failed to write block + 寫入區塊失敗 + + + + Failed to write file info + 寫入檔案資訊失敗 + + + + Failed to write to coin database + 寫入位元幣資料庫失敗 + + + + Failed to write transaction index + 寫入交易索引失敗 + + + + Failed to write undo data + 寫入回復資料失敗 + + Find peers using DNS lookup (default: 1 unless -connect) 是否允許在找節點時使用域名查詢 (預設: 當沒用 -connect 時為 1) - + + Generate coins (default: 0) + 生產位元幣 (預設值: 0) + + + + How many blocks to check at startup (default: 288, 0 = all) + 啓動時檢查的區塊數 (預設: 288, 指定 0 表示全部) + + + How thorough the block verification is (0-4, default: 3) 區塊檢查的仔細程度 (0 至 4, 預設: 3) - - Importing blocks from block database... - 從區塊資料庫匯入區塊中... + + Not enough file descriptors available. + 檔案描述器不足. + + + + Rebuild block chain index from current blk000??.dat files + 從目前的區塊檔 blk000??.dat 重建鎖鏈索引 + + + + Set the number of threads to service RPC calls (default: 4) + 設定處理 RPC 服務請求的執行緒數目 (預設為 4) + + + + Verifying blocks... + 驗證區塊資料中... + Verifying wallet... + 驗證錢包資料中... + + + Imports blocks from external blk000??.dat file 從其它來源的 blk000??.dat 檔匯入區塊 - + + Set the number of script verification threads (up to 16, 0 = auto, <0 = leave that many cores free, default: 0) + 設定指令碼驗證的執行緒數目 (最多為 16, 若為 0 表示程式自動決定, 小於 0 表示保留不用的處理器核心數目, 預設為 0) + + + Information 資訊 @@ -2430,7 +2586,22 @@ 無效的 -tor 位址: '%s' - + + Invalid amount for -minrelaytxfee=<amount>: '%s' + 設定 -minrelaytxfee=<金額> 的金額無效: '%s' + + + + Invalid amount for -mintxfee=<amount>: '%s' + 設定 -mintxfee=<amount> 的金額無效: '%s' + + + + Maintain a full transaction index (default: 0) + 維護全部交易的索引 (預設為 0) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) 每個連線的接收緩衝區大小上限為 <n>*1000 個位元組 (預設: 5000) @@ -2440,7 +2611,7 @@ 每個連線的傳送緩衝區大小上限為 <n>*1000 位元組 (預設: 1000) - + Only accept block chain matching built-in checkpoints (default: 1) 只接受與內建的檢查段點吻合的區塊鎖鏈 (預設: 1) @@ -2465,12 +2636,7 @@ 在除錯輸出內容前附加時間 - - Rebuild blockchain index from current blk000??.dat files - 從目前的區塊檔 blk000??.dat 重建索引 - - - + SSL options: (see the Bitcoin Wiki for SSL setup instructions) SSL 選項: (SSL 設定程序請見 Bitcoin Wiki) @@ -2482,7 +2648,7 @@ Send trace/debug info to console instead of debug.log file - 輸出追蹤或除錯資訊至終端機, 而非 debug.log 檔案 + 在終端機顯示追蹤或除錯資訊, 而非寫到 debug.log 檔 @@ -2500,17 +2666,42 @@ 設定區塊大小下限為多少位元組 (預設: 0) - + Shrink debug.log file on client startup (default: 1 when no -debug) 客戶端軟體啓動時將 debug.log 檔縮小 (預設: 當沒有 -debug 時為 1) + + Signing transaction failed + 簽署交易失敗 + + Specify connection timeout in milliseconds (default: 5000) 指定連線在幾毫秒後逾時 (預設: 5000) - + + System error: + 系統錯誤: + + + + Transaction amount too small + 交易金額太小 + + + + Transaction amounts must be positive + 交易金額必須是正的 + + + + Transaction too large + 交易位元量太大 + + + Use UPnP to map the listening port (default: 0) 是否使用通用即插即用(UPnP)協定來設定聽候連線的通訊埠 (預設: 0) @@ -2541,37 +2732,42 @@ + You need to rebuild the databases using -reindex to change -txindex + 改變 -txindex 參數後, 必須要用 -reindex 參數來重建資料庫 + + + wallet.dat corrupt, salvage failed 錢包檔 weallet.dat 壞掉了, 拯救失敗 - + Password for JSON-RPC connections JSON-RPC 連線密碼 - + Allow JSON-RPC connections from specified IP address 只允許從指定網路位址來的 JSON-RPC 連線 - + Send commands to node running on <ip> (default: 127.0.0.1) 送指令給在 <ip> 的節點 (預設: 127.0.0.1) - + Execute command when the best block changes (%s in cmd is replaced by block hash) 當最新區塊改變時所要執行的指令 (指令中的 %s 會被取代為區塊的雜湊值) - + Upgrade wallet to latest format 將錢包升級成最新的格式 - + Set key pool size to <n> (default: 100) 設定密鑰池大小為 <n> (預設: 100) @@ -2582,18 +2778,13 @@ 重新掃描區塊鎖鏈, 以尋找錢包所遺漏的交易. - - How many blocks to check at startup (default: 2500, 0 = all) - 啓動時檢查多少區塊 (預設: 2500, 0 表示全部) - - - + Use OpenSSL (https) for JSON-RPC connections 於 JSON-RPC 連線使用 OpenSSL (https) - + Server certificate file (default: server.cert) 伺服器憑證檔 (預設: server.cert) @@ -2605,39 +2796,39 @@ - + Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) 可以接受的加密法 (預設: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH) - + This help message 此協助訊息 - + Unable to bind to %s on this computer (bind returned error %d, %s) 無法和這台電腦上的 %s 繫結 (繫結回傳錯誤 %d, %s) - + Connect through socks proxy 透過 SOCKS 代理伺服器連線 - + Allow DNS lookups for -addnode, -seednode and -connect 允許對 -addnode, -seednode, -connect 的參數使用域名查詢 - + Loading addresses... 載入位址中... - + Error loading wallet.dat: Wallet corrupted 載入檔案 wallet.dat 失敗: 錢包壞掉了 @@ -2647,32 +2838,22 @@ 載入檔案 wallet.dat 失敗: 此錢包需要新版的 Bitcoin - - Verifying block database integrity... - 驗證區塊資料庫是否完整中... - - - - Verifying wallet integrity... - 驗證錢包資料是否完整中... - - - + Wallet needed to be rewritten: restart Bitcoin to complete 錢包需要重寫: 請重啟位元幣來完成 - + Error loading wallet.dat 載入檔案 wallet.dat 失敗 - + Invalid -proxy address: '%s' 無效的 -proxy 位址: '%s' - + Unknown network specified in -onlynet: '%s' 在 -onlynet 指定了不明的網路別: '%s' @@ -2682,7 +2863,7 @@ 在 -socks 指定了不明的代理協定版本: %i - + Cannot resolve -bind address: '%s' 無法解析 -bind 位址: '%s' @@ -2692,32 +2873,27 @@ 無法解析 -externalip 位址: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' 設定 -paytxfee=<金額> 的金額無效: '%s' - - Error: could not start node - 錯誤: 無法啓動節點 - - - + Invalid amount 無效的金額 - + Insufficient funds 累積金額不足 - + Loading block index... 載入區塊索引中... - + Add a node to connect to and attempt to keep the connection open 加入一個要連線的節線, 並試著保持對它的連線暢通 @@ -2727,12 +2903,7 @@ 無法和這台電腦上的 %s 繫結. 也許位元幣已經在執行了. - - Find peers using internet relay chat (default: 0) - 是否使用網際網路中繼聊天(IRC)來找節點 (預設: 0) - - - + Fee per KB to add to transactions you send 交易付款時每 KB 的交易手續費 @@ -2742,42 +2913,37 @@ 載入錢包中... - + Cannot downgrade wallet 無法將錢包格式降級 - - Cannot initialize keypool - 無法將密鑰池初始化 - - Cannot write default address 無法寫入預設位址 - + Rescanning... 重新掃描中... - + Done loading 載入完成 - + To use the %s option 為了要使用 %s 選項 - + Error 錯誤 - + You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions. diff -Nru bitcoin-0.8.1/src/qt/macdockiconhandler.h bitcoin-0.8.5/src/qt/macdockiconhandler.h --- bitcoin-0.8.1/src/qt/macdockiconhandler.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/macdockiconhandler.h 2013-09-12 03:35:18.000000000 +0000 @@ -2,10 +2,13 @@ #define MACDOCKICONHANDLER_H #include +#include +QT_BEGIN_NAMESPACE class QMenu; class QIcon; class QWidget; +QT_END_NAMESPACE #ifdef __OBJC__ @class DockIconClickEventHandler; @@ -18,12 +21,13 @@ class MacDockIconHandler : public QObject { Q_OBJECT + public: ~MacDockIconHandler(); QMenu *dockMenu(); void setIcon(const QIcon &icon); - + void setMainWindow(QMainWindow *window); static MacDockIconHandler *instance(); void handleDockIconClickEvent(); @@ -31,14 +35,13 @@ signals: void dockIconClicked(); -public slots: - private: MacDockIconHandler(); DockIconClickEventHandler *m_dockIconClickEventHandler; QWidget *m_dummyWidget; QMenu *m_dockMenu; + QMainWindow *mainWindow; }; #endif // MACDOCKICONCLICKHANDLER_H diff -Nru bitcoin-0.8.1/src/qt/macdockiconhandler.mm bitcoin-0.8.5/src/qt/macdockiconhandler.mm --- bitcoin-0.8.1/src/qt/macdockiconhandler.mm 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/macdockiconhandler.mm 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,3 @@ - #include "macdockiconhandler.h" #include @@ -38,8 +37,9 @@ Q_UNUSED(event) Q_UNUSED(replyEvent) - if (dockIconHandler) + if (dockIconHandler) { dockIconHandler->handleDockIconClickEvent(); + } } @end @@ -55,10 +55,15 @@ [pool release]; } +void MacDockIconHandler::setMainWindow(QMainWindow *window) { + this->mainWindow = window; +} + MacDockIconHandler::~MacDockIconHandler() { [this->m_dockIconClickEventHandler release]; delete this->m_dummyWidget; + this->setMainWindow(NULL); } QMenu *MacDockIconHandler::dockMenu() @@ -95,5 +100,8 @@ void MacDockIconHandler::handleDockIconClickEvent() { + this->mainWindow->activateWindow(); + this->mainWindow->show(); + emit this->dockIconClicked(); } diff -Nru bitcoin-0.8.1/src/qt/monitoreddatamapper.cpp bitcoin-0.8.5/src/qt/monitoreddatamapper.cpp --- bitcoin-0.8.1/src/qt/monitoreddatamapper.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/monitoreddatamapper.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -9,7 +9,6 @@ { } - void MonitoredDataMapper::addMapping(QWidget *widget, int section) { QDataWidgetMapper::addMapping(widget, section); diff -Nru bitcoin-0.8.1/src/qt/monitoreddatamapper.h bitcoin-0.8.5/src/qt/monitoreddatamapper.h --- bitcoin-0.8.1/src/qt/monitoreddatamapper.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/monitoreddatamapper.h 2013-09-12 03:35:18.000000000 +0000 @@ -13,19 +13,18 @@ class MonitoredDataMapper : public QDataWidgetMapper { Q_OBJECT + public: explicit MonitoredDataMapper(QObject *parent=0); void addMapping(QWidget *widget, int section); void addMapping(QWidget *widget, int section, const QByteArray &propertyName); + private: void addChangeMonitor(QWidget *widget); signals: void viewModified(); - }; - - #endif // MONITOREDDATAMAPPER_H diff -Nru bitcoin-0.8.1/src/qt/notificator.cpp bitcoin-0.8.5/src/qt/notificator.cpp --- bitcoin-0.8.1/src/qt/notificator.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/notificator.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -12,7 +12,7 @@ #include #ifdef USE_DBUS -#include +#include #include #endif diff -Nru bitcoin-0.8.1/src/qt/notificator.h bitcoin-0.8.5/src/qt/notificator.h --- bitcoin-0.8.1/src/qt/notificator.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/notificator.h 2013-09-12 03:35:18.000000000 +0000 @@ -15,6 +15,7 @@ class Notificator: public QObject { Q_OBJECT + public: /** Create a new notificator. @note Ownership of trayIcon is not transferred to this object. @@ -25,13 +26,12 @@ // Message class enum Class { - Information, /**< Informational message */ - Warning, /**< Notify user of potential problem */ - Critical /**< An error occurred */ + Information, /**< Informational message */ + Warning, /**< Notify user of potential problem */ + Critical /**< An error occurred */ }; public slots: - /** Show notification message. @param[in] cls general message class @param[in] title title shown with message diff -Nru bitcoin-0.8.1/src/qt/optionsdialog.cpp bitcoin-0.8.5/src/qt/optionsdialog.cpp --- bitcoin-0.8.1/src/qt/optionsdialog.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/optionsdialog.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -10,8 +10,6 @@ #include #include #include -#include -#include OptionsDialog::OptionsDialog(QWidget *parent) : QDialog(parent), diff -Nru bitcoin-0.8.1/src/qt/optionsmodel.cpp bitcoin-0.8.5/src/qt/optionsmodel.cpp --- bitcoin-0.8.1/src/qt/optionsmodel.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/optionsmodel.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,11 +1,12 @@ #include "optionsmodel.h" -#include "bitcoinunits.h" -#include +#include "bitcoinunits.h" #include "init.h" #include "walletdb.h" #include "guiutil.h" +#include + OptionsModel::OptionsModel(QObject *parent) : QAbstractListModel(parent) { @@ -218,9 +219,8 @@ settings.setValue("fMinimizeToTray", fMinimizeToTray); break; case MapPortUPnP: - fUseUPnP = value.toBool(); - settings.setValue("fUseUPnP", fUseUPnP); - MapPort(); + settings.setValue("fUseUPnP", value.toBool()); + MapPort(value.toBool()); break; case MinimizeOnClose: fMinimizeOnClose = value.toBool(); diff -Nru bitcoin-0.8.1/src/qt/overviewpage.cpp bitcoin-0.8.5/src/qt/overviewpage.cpp --- bitcoin-0.8.1/src/qt/overviewpage.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/overviewpage.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -46,9 +46,10 @@ bool confirmed = index.data(TransactionTableModel::ConfirmedRole).toBool(); QVariant value = index.data(Qt::ForegroundRole); QColor foreground = option.palette.color(QPalette::Text); - if(qVariantCanConvert(value)) + if(value.canConvert()) { - foreground = qvariant_cast(value); + QBrush brush = qvariant_cast(value); + foreground = brush.color(); } painter->setPen(foreground); @@ -147,11 +148,6 @@ ui->labelImmatureText->setVisible(showImmature); } -void OverviewPage::setNumTransactions(int count) -{ - ui->labelNumTransactions->setText(QLocale::system().toString(count)); -} - void OverviewPage::setClientModel(ClientModel *model) { this->clientModel = model; @@ -183,9 +179,6 @@ setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance()); connect(model, SIGNAL(balanceChanged(qint64, qint64, qint64)), this, SLOT(setBalance(qint64, qint64, qint64))); - setNumTransactions(model->getNumTransactions()); - connect(model, SIGNAL(numTransactionsChanged(int)), this, SLOT(setNumTransactions(int))); - connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit())); } diff -Nru bitcoin-0.8.1/src/qt/overviewpage.h bitcoin-0.8.5/src/qt/overviewpage.h --- bitcoin-0.8.1/src/qt/overviewpage.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/overviewpage.h 2013-09-12 03:35:18.000000000 +0000 @@ -3,10 +3,6 @@ #include -QT_BEGIN_NAMESPACE -class QModelIndex; -QT_END_NAMESPACE - namespace Ui { class OverviewPage; } @@ -15,6 +11,10 @@ class TxViewDelegate; class TransactionFilterProxy; +QT_BEGIN_NAMESPACE +class QModelIndex; +QT_END_NAMESPACE + /** Overview ("home") page widget */ class OverviewPage : public QWidget { @@ -30,7 +30,6 @@ public slots: void setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance); - void setNumTransactions(int count); signals: void transactionClicked(const QModelIndex &index); diff -Nru bitcoin-0.8.1/src/qt/paymentserver.cpp bitcoin-0.8.5/src/qt/paymentserver.cpp --- bitcoin-0.8.1/src/qt/paymentserver.cpp 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/paymentserver.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,160 @@ +// Copyright (c) 2009-2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include + +#include "paymentserver.h" + +#include "guiconstants.h" +#include "ui_interface.h" +#include "util.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace boost; + +const int BITCOIN_IPC_CONNECT_TIMEOUT = 1000; // milliseconds +const QString BITCOIN_IPC_PREFIX("bitcoin:"); + +// +// Create a name that is unique for: +// testnet / non-testnet +// data directory +// +static QString ipcServerName() +{ + QString name("BitcoinQt"); + + // Append a simple hash of the datadir + // Note that GetDataDir(true) returns a different path + // for -testnet versus main net + QString ddir(GetDataDir(true).string().c_str()); + name.append(QString::number(qHash(ddir))); + + return name; +} + +// +// This stores payment requests received before +// the main GUI window is up and ready to ask the user +// to send payment. +// +static QStringList savedPaymentRequests; + +// +// Sending to the server is done synchronously, at startup. +// If the server isn't already running, startup continues, +// and the items in savedPaymentRequest will be handled +// when uiReady() is called. +// +bool PaymentServer::ipcSendCommandLine() +{ + bool fResult = false; + + const QStringList& args = qApp->arguments(); + for (int i = 1; i < args.size(); i++) + { + if (!args[i].startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) + continue; + savedPaymentRequests.append(args[i]); + } + + foreach (const QString& arg, savedPaymentRequests) + { + QLocalSocket* socket = new QLocalSocket(); + socket->connectToServer(ipcServerName(), QIODevice::WriteOnly); + if (!socket->waitForConnected(BITCOIN_IPC_CONNECT_TIMEOUT)) + return false; + + QByteArray block; + QDataStream out(&block, QIODevice::WriteOnly); + out.setVersion(QDataStream::Qt_4_0); + out << arg; + out.device()->seek(0); + socket->write(block); + socket->flush(); + + socket->waitForBytesWritten(BITCOIN_IPC_CONNECT_TIMEOUT); + socket->disconnectFromServer(); + delete socket; + fResult = true; + } + return fResult; +} + +PaymentServer::PaymentServer(QApplication* parent) : QObject(parent), saveURIs(true) +{ + // Install global event filter to catch QFileOpenEvents on the mac (sent when you click bitcoin: links) + parent->installEventFilter(this); + + QString name = ipcServerName(); + + // Clean up old socket leftover from a crash: + QLocalServer::removeServer(name); + + uriServer = new QLocalServer(this); + + if (!uriServer->listen(name)) + qDebug() << tr("Cannot start bitcoin: click-to-pay handler"); + else + connect(uriServer, SIGNAL(newConnection()), this, SLOT(handleURIConnection())); +} + +bool PaymentServer::eventFilter(QObject *object, QEvent *event) +{ + // clicking on bitcoin: URLs creates FileOpen events on the Mac: + if (event->type() == QEvent::FileOpen) + { + QFileOpenEvent* fileEvent = static_cast(event); + if (!fileEvent->url().isEmpty()) + { + if (saveURIs) // Before main window is ready: + savedPaymentRequests.append(fileEvent->url().toString()); + else + emit receivedURI(fileEvent->url().toString()); + return true; + } + } + return false; +} + +void PaymentServer::uiReady() +{ + saveURIs = false; + foreach (const QString& s, savedPaymentRequests) + emit receivedURI(s); + savedPaymentRequests.clear(); +} + +void PaymentServer::handleURIConnection() +{ + QLocalSocket *clientConnection = uriServer->nextPendingConnection(); + + while (clientConnection->bytesAvailable() < (int)sizeof(quint32)) + clientConnection->waitForReadyRead(); + + connect(clientConnection, SIGNAL(disconnected()), + clientConnection, SLOT(deleteLater())); + + QDataStream in(clientConnection); + in.setVersion(QDataStream::Qt_4_0); + if (clientConnection->bytesAvailable() < (int)sizeof(quint16)) { + return; + } + QString message; + in >> message; + + if (saveURIs) + savedPaymentRequests.append(message); + else + emit receivedURI(message); +} diff -Nru bitcoin-0.8.1/src/qt/paymentserver.h bitcoin-0.8.5/src/qt/paymentserver.h --- bitcoin-0.8.1/src/qt/paymentserver.h 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/paymentserver.h 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,67 @@ +#ifndef PAYMENTSERVER_H +#define PAYMENTSERVER_H + +// +// This class handles payment requests from clicking on +// bitcoin: URIs +// +// This is somewhat tricky, because we have to deal with +// the situation where the user clicks on a link during +// startup/initialization, when the splash-screen is up +// but the main window (and the Send Coins tab) is not. +// +// So, the strategy is: +// +// Create the server, and register the event handler, +// when the application is created. Save any URIs +// received at or during startup in a list. +// +// When startup is finished and the main window is +// show, a signal is sent to slot uiReady(), which +// emits a receivedURL() signal for any payment +// requests that happened during startup. +// +// After startup, receivedURL() happens as usual. +// +// This class has one more feature: a static +// method that finds URIs passed in the command line +// and, if a server is running in another process, +// sends them to the server. +// +#include +#include + +class QApplication; +class QLocalServer; + +class PaymentServer : public QObject +{ + Q_OBJECT + +private: + bool saveURIs; + QLocalServer* uriServer; + +public: + // Returns true if there were URIs on the command line + // which were successfully sent to an already-running + // process. + static bool ipcSendCommandLine(); + + PaymentServer(QApplication* parent); + + bool eventFilter(QObject *object, QEvent *event); + +signals: + void receivedURI(QString); + +public slots: + // Signal this when the main window's UI is ready + // to display payment requests to the user + void uiReady(); + +private slots: + void handleURIConnection(); +}; + +#endif // PAYMENTSERVER_H diff -Nru bitcoin-0.8.1/src/qt/qtipcserver.cpp bitcoin-0.8.5/src/qt/qtipcserver.cpp --- bitcoin-0.8.1/src/qt/qtipcserver.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/qtipcserver.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,165 +0,0 @@ -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include -#if defined(WIN32) && BOOST_VERSION == 104900 -#define BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME -#define BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME -#endif - -#include "qtipcserver.h" -#include "guiconstants.h" -#include "ui_interface.h" -#include "util.h" - -#include -#include -#include -#include - -#if defined(WIN32) && (!defined(BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME) || !defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME) || BOOST_VERSION < 104900) -#warning Compiling without BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME and BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME uncommented in boost/interprocess/detail/tmp_dir_helpers.hpp or using a boost version before 1.49 may have unintended results see svn.boost.org/trac/boost/ticket/5392 -#endif - -using namespace boost; -using namespace boost::interprocess; -using namespace boost::posix_time; - -// holds Bitcoin-Qt message queue name (initialized in bitcoin.cpp) -std::string strBitcoinURIQueueName; - -#if defined MAC_OSX || defined __FreeBSD__ -// URI handling not implemented on OSX yet - -void ipcScanRelay(int argc, char *argv[]) { } -void ipcInit(int argc, char *argv[]) { } - -#else - -static void ipcThread2(void* pArg); - -static bool ipcScanCmd(int argc, char *argv[], bool fRelay) -{ - // Check for URI in argv - bool fSent = false; - for (int i = 1; i < argc; i++) - { - if (boost::algorithm::istarts_with(argv[i], "bitcoin:")) - { - const char *strURI = argv[i]; - try { - boost::interprocess::message_queue mq(boost::interprocess::open_only, strBitcoinURIQueueName.c_str()); - if (mq.try_send(strURI, strlen(strURI), 0)) - fSent = true; - else if (fRelay) - break; - } - catch (boost::interprocess::interprocess_exception &ex) { - // don't log the "file not found" exception, because that's normal for - // the first start of the first instance - if (ex.get_error_code() != boost::interprocess::not_found_error || !fRelay) - { - printf("main() - boost interprocess exception #%d: %s\n", ex.get_error_code(), ex.what()); - break; - } - } - } - } - return fSent; -} - -void ipcScanRelay(int argc, char *argv[]) -{ - if (ipcScanCmd(argc, argv, true)) - exit(0); -} - -static void ipcThread(void* pArg) -{ - // Make this thread recognisable as the GUI-IPC thread - RenameThread("bitcoin-gui-ipc"); - - try - { - ipcThread2(pArg); - } - catch (std::exception& e) { - PrintExceptionContinue(&e, "ipcThread()"); - } catch (...) { - PrintExceptionContinue(NULL, "ipcThread()"); - } - printf("ipcThread exited\n"); -} - -static void ipcThread2(void* pArg) -{ - printf("ipcThread started\n"); - - message_queue* mq = (message_queue*)pArg; - char buffer[MAX_URI_LENGTH + 1] = ""; - size_t nSize = 0; - unsigned int nPriority = 0; - - loop - { - ptime d = boost::posix_time::microsec_clock::universal_time() + millisec(100); - if (mq->timed_receive(&buffer, sizeof(buffer), nSize, nPriority, d)) - { - uiInterface.ThreadSafeHandleURI(std::string(buffer, nSize)); - Sleep(1000); - } - - if (fShutdown) - break; - } - - // Remove message queue - message_queue::remove(strBitcoinURIQueueName.c_str()); - // Cleanup allocated memory - delete mq; -} - -void ipcInit(int argc, char *argv[]) -{ - message_queue* mq = NULL; - char buffer[MAX_URI_LENGTH + 1] = ""; - size_t nSize = 0; - unsigned int nPriority = 0; - - try { - mq = new message_queue(open_or_create, strBitcoinURIQueueName.c_str(), 2, MAX_URI_LENGTH); - - // Make sure we don't lose any bitcoin: URIs - for (int i = 0; i < 2; i++) - { - ptime d = boost::posix_time::microsec_clock::universal_time() + millisec(1); - if (mq->timed_receive(&buffer, sizeof(buffer), nSize, nPriority, d)) - { - uiInterface.ThreadSafeHandleURI(std::string(buffer, nSize)); - } - else - break; - } - - // Make sure only one bitcoin instance is listening - message_queue::remove(strBitcoinURIQueueName.c_str()); - delete mq; - - mq = new message_queue(open_or_create, strBitcoinURIQueueName.c_str(), 2, MAX_URI_LENGTH); - } - catch (interprocess_exception &ex) { - printf("ipcInit() - boost interprocess exception #%d: %s\n", ex.get_error_code(), ex.what()); - return; - } - - if (!NewThread(ipcThread, mq)) - { - delete mq; - return; - } - - ipcScanCmd(argc, argv, false); -} - -#endif diff -Nru bitcoin-0.8.1/src/qt/qtipcserver.h bitcoin-0.8.5/src/qt/qtipcserver.h --- bitcoin-0.8.1/src/qt/qtipcserver.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/qtipcserver.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -#ifndef QTIPCSERVER_H -#define QTIPCSERVER_H - -#include - -// Define Bitcoin-Qt message queue name for mainnet -#define BITCOINURI_QUEUE_NAME_MAINNET "BitcoinURI" -// Define Bitcoin-Qt message queue name for testnet -#define BITCOINURI_QUEUE_NAME_TESTNET "BitcoinURI-testnet" - -extern std::string strBitcoinURIQueueName; - -void ipcScanRelay(int argc, char *argv[]); -void ipcInit(int argc, char *argv[]); - -#endif // QTIPCSERVER_H diff -Nru bitcoin-0.8.1/src/qt/qvalidatedlineedit.h bitcoin-0.8.5/src/qt/qvalidatedlineedit.h --- bitcoin-0.8.1/src/qt/qvalidatedlineedit.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/qvalidatedlineedit.h 2013-09-12 03:35:18.000000000 +0000 @@ -9,6 +9,7 @@ class QValidatedLineEdit : public QLineEdit { Q_OBJECT + public: explicit QValidatedLineEdit(QWidget *parent = 0); void clear(); diff -Nru bitcoin-0.8.1/src/qt/qvaluecombobox.h bitcoin-0.8.5/src/qt/qvaluecombobox.h --- bitcoin-0.8.1/src/qt/qvaluecombobox.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/qvaluecombobox.h 2013-09-12 03:35:18.000000000 +0000 @@ -8,7 +8,9 @@ class QValueComboBox : public QComboBox { Q_OBJECT + Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged USER true) + public: explicit QValueComboBox(QWidget *parent = 0); @@ -21,8 +23,6 @@ signals: void valueChanged(); -public slots: - private: int role; diff -Nru bitcoin-0.8.1/src/qt/res/bitcoin-qt.rc bitcoin-0.8.5/src/qt/res/bitcoin-qt.rc --- bitcoin-0.8.1/src/qt/res/bitcoin-qt.rc 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/res/bitcoin-qt.rc 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,5 @@ IDI_ICON1 ICON DISCARDABLE "icons/bitcoin.ico" +IDI_ICON2 ICON DISCARDABLE "icons/bitcoin_testnet.ico" #include // needed for VERSIONINFO #include "../../clientversion.h" // holds the needed client version information @@ -7,6 +8,7 @@ #define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) #define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR +#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin developers" VS_VERSION_INFO VERSIONINFO FILEVERSION VER_FILEVERSION @@ -22,7 +24,7 @@ VALUE "FileDescription", "Bitcoin-Qt (OSS GUI client for Bitcoin)" VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", "bitcoin-qt" - VALUE "LegalCopyright", "2009-2012 The Bitcoin developers" + VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "bitcoin-qt.exe" VALUE "ProductName", "Bitcoin-Qt" Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/icons/bitcoin.icns and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/icons/bitcoin.icns differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/icons/bitcoin.ico and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/icons/bitcoin.ico differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/icons/bitcoin.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/icons/bitcoin.png differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/icons/bitcoin_testnet.ico and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/icons/bitcoin_testnet.ico differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/icons/bitcoin_testnet.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/icons/bitcoin_testnet.png differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/icons/toolbar.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/icons/toolbar.png differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/icons/toolbar_testnet.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/icons/toolbar_testnet.png differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/images/splash.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/images/splash.png differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/images/splash2.jpg and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/images/splash2.jpg differ Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/qt/res/images/splash_testnet.png and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/qt/res/images/splash_testnet.png differ diff -Nru bitcoin-0.8.1/src/qt/res/src/bitcoin.svg bitcoin-0.8.5/src/qt/res/src/bitcoin.svg --- bitcoin-0.8.1/src/qt/res/src/bitcoin.svg 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/res/src/bitcoin.svg 2013-09-12 03:35:18.000000000 +0000 @@ -1,115 +1,58 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru bitcoin-0.8.1/src/qt/rpcconsole.cpp bitcoin-0.8.5/src/qt/rpcconsole.cpp --- bitcoin-0.8.1/src/qt/rpcconsole.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/rpcconsole.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -6,9 +6,7 @@ #include "guiutil.h" #include -#include #include -#include #include #include #include @@ -35,23 +33,19 @@ /* Object for executing console RPC commands in a separate thread. */ -class RPCExecutor: public QObject +class RPCExecutor : public QObject { Q_OBJECT + public slots: - void start(); void request(const QString &command); + signals: void reply(int category, const QString &command); }; #include "rpcconsole.moc" -void RPCExecutor::start() -{ - // Nothing to do -} - /** * Split shell command line into a list of arguments. Aims to emulate \c bash and friends. * @@ -187,6 +181,7 @@ RPCConsole::RPCConsole(QWidget *parent) : QDialog(parent), ui(new Ui::RPCConsole), + clientModel(0), historyPtr(0) { ui->setupUi(this); @@ -384,16 +379,15 @@ void RPCConsole::startExecutor() { - QThread* thread = new QThread; + QThread *thread = new QThread; RPCExecutor *executor = new RPCExecutor(); executor->moveToThread(thread); - // Notify executor when thread started (in executor thread) - connect(thread, SIGNAL(started()), executor, SLOT(start())); // Replies from executor object must go to this object connect(executor, SIGNAL(reply(int,QString)), this, SLOT(message(int,QString))); // Requests from this object must go to executor connect(this, SIGNAL(cmdRequest(QString)), executor, SLOT(request(QString))); + // On stopExecutor signal // - queue executor for deletion (in execution thread) // - quit the Qt event loop in the execution thread diff -Nru bitcoin-0.8.1/src/qt/sendcoinsdialog.cpp bitcoin-0.8.5/src/qt/sendcoinsdialog.cpp --- bitcoin-0.8.1/src/qt/sendcoinsdialog.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/sendcoinsdialog.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,5 +1,6 @@ #include "sendcoinsdialog.h" #include "ui_sendcoinsdialog.h" + #include "walletmodel.h" #include "bitcoinunits.h" #include "addressbookpage.h" @@ -10,7 +11,6 @@ #include "base58.h" #include -#include #include #include @@ -202,7 +202,7 @@ entry->clear(); entry->setFocus(); ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->sizeHint()); - QCoreApplication::instance()->processEvents(); + qApp->processEvents(); QScrollBar* bar = ui->scrollArea->verticalScrollBar(); if(bar) bar->setSliderPosition(bar->maximum()); @@ -245,6 +245,26 @@ return ui->sendButton; } +void SendCoinsDialog::setAddress(const QString &address) +{ + SendCoinsEntry *entry = 0; + // Replace the first entry if it is still unused + if(ui->entries->count() == 1) + { + SendCoinsEntry *first = qobject_cast(ui->entries->itemAt(0)->widget()); + if(first->isClear()) + { + entry = first; + } + } + if(!entry) + { + entry = addEntry(); + } + + entry->setAddress(address); +} + void SendCoinsDialog::pasteEntry(const SendCoinsRecipient &rv) { if(!fNewRecipientAllowed) diff -Nru bitcoin-0.8.1/src/qt/sendcoinsdialog.h bitcoin-0.8.5/src/qt/sendcoinsdialog.h --- bitcoin-0.8.1/src/qt/sendcoinsdialog.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/sendcoinsdialog.h 2013-09-12 03:35:18.000000000 +0000 @@ -29,6 +29,7 @@ */ QWidget *setupTabChain(QWidget *prev); + void setAddress(const QString &address); void pasteEntry(const SendCoinsRecipient &rv); bool handleURI(const QString &uri); diff -Nru bitcoin-0.8.1/src/qt/sendcoinsentry.cpp bitcoin-0.8.5/src/qt/sendcoinsentry.cpp --- bitcoin-0.8.1/src/qt/sendcoinsentry.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/sendcoinsentry.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,5 +1,6 @@ #include "sendcoinsentry.h" #include "ui_sendcoinsentry.h" + #include "guiutil.h" #include "bitcoinunits.h" #include "addressbookpage.h" @@ -152,6 +153,12 @@ ui->payAmount->setValue(value.amount); } +void SendCoinsEntry::setAddress(const QString &address) +{ + ui->payTo->setText(address); + ui->payAmount->setFocus(); +} + bool SendCoinsEntry::isClear() { return ui->payTo->text().isEmpty(); diff -Nru bitcoin-0.8.1/src/qt/sendcoinsentry.h bitcoin-0.8.5/src/qt/sendcoinsentry.h --- bitcoin-0.8.1/src/qt/sendcoinsentry.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/sendcoinsentry.h 2013-09-12 03:35:18.000000000 +0000 @@ -26,6 +26,7 @@ bool isClear(); void setValue(const SendCoinsRecipient &value); + void setAddress(const QString &address); /** Set up the tab chain manually, as Qt messes up the tab chain by default in some cases (issue https://bugreports.qt-project.org/browse/QTBUG-10907). */ diff -Nru bitcoin-0.8.1/src/qt/signverifymessagedialog.cpp bitcoin-0.8.5/src/qt/signverifymessagedialog.cpp --- bitcoin-0.8.1/src/qt/signverifymessagedialog.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/signverifymessagedialog.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -10,11 +10,11 @@ #include "walletmodel.h" #include "wallet.h" +#include + #include #include -#include - SignVerifyMessageDialog::SignVerifyMessageDialog(QWidget *parent) : QDialog(parent), ui(new Ui::SignVerifyMessageDialog), diff -Nru bitcoin-0.8.1/src/qt/signverifymessagedialog.h bitcoin-0.8.5/src/qt/signverifymessagedialog.h --- bitcoin-0.8.1/src/qt/signverifymessagedialog.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/signverifymessagedialog.h 2013-09-12 03:35:18.000000000 +0000 @@ -8,9 +8,6 @@ } class WalletModel; -QT_BEGIN_NAMESPACE -QT_END_NAMESPACE - class SignVerifyMessageDialog : public QDialog { Q_OBJECT diff -Nru bitcoin-0.8.1/src/qt/splashscreen.cpp bitcoin-0.8.5/src/qt/splashscreen.cpp --- bitcoin-0.8.1/src/qt/splashscreen.cpp 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/splashscreen.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,82 @@ +#include "splashscreen.h" +#include "clientversion.h" +#include "util.h" + +#include +#include + +SplashScreen::SplashScreen(const QPixmap &pixmap, Qt::WindowFlags f) : + QSplashScreen(pixmap, f) +{ + // set reference point, paddings + int paddingRight = 50; + int paddingTop = 50; + int titleVersionVSpace = 17; + int titleCopyrightVSpace = 40; + + float fontFactor = 1.0; + + // define text to place + QString titleText = QString(QApplication::applicationName()).replace(QString("-testnet"), QString(""), Qt::CaseSensitive); // cut of testnet, place it as single object further down + QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion())); + QString copyrightText = QChar(0xA9)+QString(" 2009-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The Bitcoin developers")); + QString testnetAddText = QString(tr("[testnet]")); // define text to place as single text object + + QString font = "Arial"; + + // load the bitmap for writing some text over it + QPixmap newPixmap; + if(GetBoolArg("-testnet")) { + newPixmap = QPixmap(":/images/splash_testnet"); + } + else { + newPixmap = QPixmap(":/images/splash"); + } + + QPainter pixPaint(&newPixmap); + pixPaint.setPen(QColor(100,100,100)); + + // check font size and drawing with + pixPaint.setFont(QFont(font, 33*fontFactor)); + QFontMetrics fm = pixPaint.fontMetrics(); + int titleTextWidth = fm.width(titleText); + if(titleTextWidth > 160) { + // strange font rendering, Arial probably not found + fontFactor = 0.75; + } + + pixPaint.setFont(QFont(font, 33*fontFactor)); + fm = pixPaint.fontMetrics(); + titleTextWidth = fm.width(titleText); + pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight,paddingTop,titleText); + + pixPaint.setFont(QFont(font, 15*fontFactor)); + + // if the version string is to long, reduce size + fm = pixPaint.fontMetrics(); + int versionTextWidth = fm.width(versionText); + if(versionTextWidth > titleTextWidth+paddingRight-10) { + pixPaint.setFont(QFont(font, 10*fontFactor)); + titleVersionVSpace -= 5; + } + pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight+2,paddingTop+titleVersionVSpace,versionText); + + // draw copyright stuff + pixPaint.setFont(QFont(font, 10*fontFactor)); + pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight,paddingTop+titleCopyrightVSpace,copyrightText); + + // draw testnet string if -testnet is on + if(QApplication::applicationName().contains(QString("-testnet"))) { + // draw copyright stuff + QFont boldFont = QFont(font, 10*fontFactor); + boldFont.setWeight(QFont::Bold); + pixPaint.setFont(boldFont); + fm = pixPaint.fontMetrics(); + int testnetAddTextWidth = fm.width(testnetAddText); + pixPaint.drawText(newPixmap.width()-testnetAddTextWidth-10,15,testnetAddText); + } + + pixPaint.end(); + + this->setPixmap(newPixmap); +} diff -Nru bitcoin-0.8.1/src/qt/splashscreen.h bitcoin-0.8.5/src/qt/splashscreen.h --- bitcoin-0.8.1/src/qt/splashscreen.h 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/splashscreen.h 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,16 @@ +#ifndef SPLASHSCREEN_H +#define SPLASHSCREEN_H + +#include + +/** class for the splashscreen with information of the running client + */ +class SplashScreen : public QSplashScreen +{ + Q_OBJECT + +public: + explicit SplashScreen(const QPixmap &pixmap = QPixmap(), Qt::WindowFlags f = 0); +}; + +#endif // SPLASHSCREEN_H diff -Nru bitcoin-0.8.1/src/qt/test/uritests.cpp bitcoin-0.8.5/src/qt/test/uritests.cpp --- bitcoin-0.8.1/src/qt/test/uritests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/test/uritests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -4,15 +4,6 @@ #include -/* -struct SendCoinsRecipient -{ - QString address; - QString label; - qint64 amount; -}; -*/ - void URITests::uriTests() { SendCoinsRecipient rv; diff -Nru bitcoin-0.8.1/src/qt/transactiondesc.cpp bitcoin-0.8.5/src/qt/transactiondesc.cpp --- bitcoin-0.8.1/src/qt/transactiondesc.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactiondesc.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -2,13 +2,14 @@ #include "guiutil.h" #include "bitcoinunits.h" - #include "main.h" #include "wallet.h" #include "db.h" #include "ui_interface.h" #include "base58.h" +#include + QString TransactionDesc::FormatTxStatus(const CWalletTx& wtx) { if (!wtx.IsFinal()) diff -Nru bitcoin-0.8.1/src/qt/transactiondesc.h bitcoin-0.8.5/src/qt/transactiondesc.h --- bitcoin-0.8.1/src/qt/transactiondesc.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactiondesc.h 2013-09-12 03:35:18.000000000 +0000 @@ -3,7 +3,6 @@ #include #include -#include class CWallet; class CWalletTx; @@ -13,8 +12,10 @@ class TransactionDesc: public QObject { Q_OBJECT + public: static QString toHTML(CWallet *wallet, CWalletTx &wtx); + private: TransactionDesc() {} diff -Nru bitcoin-0.8.1/src/qt/transactiondescdialog.h bitcoin-0.8.5/src/qt/transactiondescdialog.h --- bitcoin-0.8.1/src/qt/transactiondescdialog.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactiondescdialog.h 2013-09-12 03:35:18.000000000 +0000 @@ -6,6 +6,7 @@ namespace Ui { class TransactionDescDialog; } + QT_BEGIN_NAMESPACE class QModelIndex; QT_END_NAMESPACE diff -Nru bitcoin-0.8.1/src/qt/transactionfilterproxy.cpp bitcoin-0.8.5/src/qt/transactionfilterproxy.cpp --- bitcoin-0.8.1/src/qt/transactionfilterproxy.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactionfilterproxy.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,5 @@ #include "transactionfilterproxy.h" + #include "transactiontablemodel.h" #include diff -Nru bitcoin-0.8.1/src/qt/transactionfilterproxy.h bitcoin-0.8.5/src/qt/transactionfilterproxy.h --- bitcoin-0.8.1/src/qt/transactionfilterproxy.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactionfilterproxy.h 2013-09-12 03:35:18.000000000 +0000 @@ -8,6 +8,7 @@ class TransactionFilterProxy : public QSortFilterProxyModel { Q_OBJECT + public: explicit TransactionFilterProxy(QObject *parent = 0); @@ -32,6 +33,7 @@ void setLimit(int limit); int rowCount(const QModelIndex &parent = QModelIndex()) const; + protected: bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const; @@ -42,11 +44,6 @@ quint32 typeFilter; qint64 minAmount; int limitRows; - -signals: - -public slots: - }; #endif // TRANSACTIONFILTERPROXY_H diff -Nru bitcoin-0.8.1/src/qt/transactionrecord.h bitcoin-0.8.5/src/qt/transactionrecord.h --- bitcoin-0.8.1/src/qt/transactionrecord.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactionrecord.h 2013-09-12 03:35:18.000000000 +0000 @@ -14,8 +14,8 @@ { public: TransactionStatus(): - confirmed(false), sortKey(""), maturity(Mature), - matures_in(0), status(Offline), depth(0), open_for(0), cur_num_blocks(-1) + confirmed(false), sortKey(""), maturity(Mature), + matures_in(0), status(Offline), depth(0), open_for(0), cur_num_blocks(-1) { } enum Maturity diff -Nru bitcoin-0.8.1/src/qt/transactiontablemodel.cpp bitcoin-0.8.5/src/qt/transactiontablemodel.cpp --- bitcoin-0.8.1/src/qt/transactiontablemodel.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactiontablemodel.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -1,4 +1,5 @@ #include "transactiontablemodel.h" + #include "guiutil.h" #include "transactionrecord.h" #include "guiconstants.h" @@ -11,13 +12,11 @@ #include "wallet.h" #include "ui_interface.h" -#include #include #include #include #include #include -#include // Amount column is right-aligned it contains numbers static int column_alignments[] = { diff -Nru bitcoin-0.8.1/src/qt/transactiontablemodel.h bitcoin-0.8.5/src/qt/transactiontablemodel.h --- bitcoin-0.8.1/src/qt/transactiontablemodel.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactiontablemodel.h 2013-09-12 03:35:18.000000000 +0000 @@ -14,6 +14,7 @@ class TransactionTableModel : public QAbstractTableModel { Q_OBJECT + public: explicit TransactionTableModel(CWallet* wallet, WalletModel *parent = 0); ~TransactionTableModel(); @@ -55,6 +56,7 @@ QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const; + private: CWallet* wallet; WalletModel *walletModel; diff -Nru bitcoin-0.8.1/src/qt/transactionview.cpp bitcoin-0.8.5/src/qt/transactionview.cpp --- bitcoin-0.8.1/src/qt/transactionview.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactionview.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -20,12 +20,9 @@ #include #include #include -#include #include #include #include -#include -#include #include #include @@ -126,6 +123,7 @@ QAction *copyAddressAction = new QAction(tr("Copy address"), this); QAction *copyLabelAction = new QAction(tr("Copy label"), this); QAction *copyAmountAction = new QAction(tr("Copy amount"), this); + QAction *copyTxIDAction = new QAction(tr("Copy transaction ID"), this); QAction *editLabelAction = new QAction(tr("Edit label"), this); QAction *showDetailsAction = new QAction(tr("Show transaction details"), this); @@ -133,6 +131,7 @@ contextMenu->addAction(copyAddressAction); contextMenu->addAction(copyLabelAction); contextMenu->addAction(copyAmountAction); + contextMenu->addAction(copyTxIDAction); contextMenu->addAction(editLabelAction); contextMenu->addAction(showDetailsAction); @@ -148,6 +147,7 @@ connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(copyAddress())); connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(copyLabel())); connect(copyAmountAction, SIGNAL(triggered()), this, SLOT(copyAmount())); + connect(copyTxIDAction, SIGNAL(triggered()), this, SLOT(copyTxID())); connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel())); connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails())); } @@ -173,16 +173,11 @@ transactionView->sortByColumn(TransactionTableModel::Status, Qt::DescendingOrder); transactionView->verticalHeader()->hide(); - transactionView->horizontalHeader()->resizeSection( - TransactionTableModel::Status, 23); - transactionView->horizontalHeader()->resizeSection( - TransactionTableModel::Date, 120); - transactionView->horizontalHeader()->resizeSection( - TransactionTableModel::Type, 120); - transactionView->horizontalHeader()->setResizeMode( - TransactionTableModel::ToAddress, QHeaderView::Stretch); - transactionView->horizontalHeader()->resizeSection( - TransactionTableModel::Amount, 100); + transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Status, 23); + transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Date, 120); + transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Type, 120); + transactionView->horizontalHeader()->setResizeMode(TransactionTableModel::ToAddress, QHeaderView::Stretch); + transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Amount, 100); } } @@ -317,6 +312,11 @@ GUIUtil::copyEntryData(transactionView, 0, TransactionTableModel::FormattedAmountRole); } +void TransactionView::copyTxID() +{ + GUIUtil::copyEntryData(transactionView, 0, TransactionTableModel::TxIDRole); +} + void TransactionView::editLabel() { if(!transactionView->selectionModel() ||!model) diff -Nru bitcoin-0.8.1/src/qt/transactionview.h bitcoin-0.8.5/src/qt/transactionview.h --- bitcoin-0.8.1/src/qt/transactionview.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/transactionview.h 2013-09-12 03:35:18.000000000 +0000 @@ -22,6 +22,7 @@ class TransactionView : public QWidget { Q_OBJECT + public: explicit TransactionView(QWidget *parent = 0); @@ -65,6 +66,7 @@ void editLabel(); void copyLabel(); void copyAmount(); + void copyTxID(); signals: void doubleClicked(const QModelIndex&); diff -Nru bitcoin-0.8.1/src/qt/walletframe.cpp bitcoin-0.8.5/src/qt/walletframe.cpp --- bitcoin-0.8.1/src/qt/walletframe.cpp 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletframe.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,131 @@ +/* + * Qt4 bitcoin GUI. + * + * W.J. van der Laan 2011-2012 + * The Bitcoin Developers 2011-2013 + */ +#include "walletframe.h" +#include "bitcoingui.h" +#include "walletstack.h" + +#include +#include + +#include + +WalletFrame::WalletFrame(BitcoinGUI *_gui) : + QFrame(_gui), + gui(_gui), + clientModel(0) +{ + // Leave HBox hook for adding a list view later + QHBoxLayout *walletFrameLayout = new QHBoxLayout(this); + setContentsMargins(0,0,0,0); + walletStack = new WalletStack(this); + walletStack->setBitcoinGUI(gui); + walletFrameLayout->setContentsMargins(0,0,0,0); + walletFrameLayout->addWidget(walletStack); +} + +WalletFrame::~WalletFrame() +{ +} + +void WalletFrame::setClientModel(ClientModel *clientModel) +{ + this->clientModel = clientModel; + walletStack->setClientModel(clientModel); +} + +bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel) +{ + return walletStack->addWallet(name, walletModel); +} + +bool WalletFrame::setCurrentWallet(const QString& name) +{ + // TODO: Check if valid name + walletStack->setCurrentWallet(name); + return true; +} + +void WalletFrame::removeAllWallets() +{ + walletStack->removeAllWallets(); +} + +bool WalletFrame::handleURI(const QString &uri) +{ + return walletStack->handleURI(uri); +} + +void WalletFrame::showOutOfSyncWarning(bool fShow) +{ + if (!walletStack) { + QMessageBox box; + box.setText("walletStack is null"); + box.exec(); + return; + } + walletStack->showOutOfSyncWarning(fShow); +} + +void WalletFrame::gotoOverviewPage() +{ + walletStack->gotoOverviewPage(); +} + +void WalletFrame::gotoHistoryPage() +{ + walletStack->gotoHistoryPage(); +} + +void WalletFrame::gotoAddressBookPage() +{ + walletStack->gotoAddressBookPage(); +} + +void WalletFrame::gotoReceiveCoinsPage() +{ + walletStack->gotoReceiveCoinsPage(); +} + +void WalletFrame::gotoSendCoinsPage(QString addr) +{ + walletStack->gotoSendCoinsPage(addr); +} + +void WalletFrame::gotoSignMessageTab(QString addr) +{ + walletStack->gotoSignMessageTab(addr); +} + +void WalletFrame::gotoVerifyMessageTab(QString addr) +{ + walletStack->gotoSignMessageTab(addr); +} + +void WalletFrame::encryptWallet(bool status) +{ + walletStack->encryptWallet(status); +} + +void WalletFrame::backupWallet() +{ + walletStack->backupWallet(); +} + +void WalletFrame::changePassphrase() +{ + walletStack->changePassphrase(); +} + +void WalletFrame::unlockWallet() +{ + walletStack->unlockWallet(); +} + +void WalletFrame::setEncryptionStatus() +{ + walletStack->setEncryptionStatus(); +} diff -Nru bitcoin-0.8.1/src/qt/walletframe.h bitcoin-0.8.5/src/qt/walletframe.h --- bitcoin-0.8.1/src/qt/walletframe.h 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletframe.h 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,73 @@ +/* + * Qt4 bitcoin GUI. + * + * W.J. van der Laan 2011-2012 + * The Bitcoin Developers 2011-2013 + */ +#ifndef WALLETFRAME_H +#define WALLETFRAME_H + +#include + +class BitcoinGUI; +class ClientModel; +class WalletModel; +class WalletStack; + +class WalletFrame : public QFrame +{ + Q_OBJECT +public: + explicit WalletFrame(BitcoinGUI *_gui); + ~WalletFrame(); + + void setClientModel(ClientModel *clientModel); + + bool addWallet(const QString& name, WalletModel *walletModel); + bool setCurrentWallet(const QString& name); + + void removeAllWallets(); + + bool handleURI(const QString &uri); + + void showOutOfSyncWarning(bool fShow); + +private: + BitcoinGUI *gui; + ClientModel *clientModel; + WalletStack *walletStack; + +public slots: + /** Switch to overview (home) page */ + void gotoOverviewPage(); + /** Switch to history (transactions) page */ + void gotoHistoryPage(); + /** Switch to address book page */ + void gotoAddressBookPage(); + /** Switch to receive coins page */ + void gotoReceiveCoinsPage(); + /** Switch to send coins page */ + void gotoSendCoinsPage(QString addr = ""); + + /** Show Sign/Verify Message dialog and switch to sign message tab */ + void gotoSignMessageTab(QString addr = ""); + /** Show Sign/Verify Message dialog and switch to verify message tab */ + void gotoVerifyMessageTab(QString addr = ""); + + /** Encrypt the wallet */ + void encryptWallet(bool status); + /** Backup the wallet */ + void backupWallet(); + /** Change encrypted wallet passphrase */ + void changePassphrase(); + /** Ask for passphrase to unlock wallet temporarily */ + void unlockWallet(); + + /** Set the encryption status as shown in the UI. + @param[in] status current encryption status + @see WalletModel::EncryptionStatus + */ + void setEncryptionStatus(); +}; + +#endif // WALLETFRAME_H \ No newline at end of file diff -Nru bitcoin-0.8.1/src/qt/walletmodel.cpp bitcoin-0.8.5/src/qt/walletmodel.cpp --- bitcoin-0.8.1/src/qt/walletmodel.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletmodel.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -56,6 +56,8 @@ int numTransactions = 0; { LOCK(wallet->cs_wallet); + // the size of mapWallet contains the number of unique transaction IDs + // (e.g. payments to yourself generate 2 transactions, but both share the same transaction ID) numTransactions = wallet->mapWallet.size(); } return numTransactions; @@ -179,7 +181,8 @@ CWalletTx wtx; CReserveKey keyChange(wallet); int64 nFeeRequired = 0; - bool fCreated = wallet->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired); + std::string strFailReason; + bool fCreated = wallet->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired, strFailReason); if(!fCreated) { @@ -187,6 +190,8 @@ { return SendCoinsReturn(AmountWithFeeExceedsBalance, nFeeRequired); } + emit message(tr("Send Coins"), QString::fromStdString(strFailReason), + CClientUIInterface::MSG_ERROR); return TransactionCreationFailed; } if(!uiInterface.ThreadSafeAskFee(nFeeRequired)) diff -Nru bitcoin-0.8.1/src/qt/walletmodel.h bitcoin-0.8.5/src/qt/walletmodel.h --- bitcoin-0.8.1/src/qt/walletmodel.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletmodel.h 2013-09-12 03:35:18.000000000 +0000 @@ -26,6 +26,7 @@ class WalletModel : public QObject { Q_OBJECT + public: explicit WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *parent = 0); ~WalletModel(); @@ -161,5 +162,4 @@ void pollBalanceChanged(); }; - #endif // WALLETMODEL_H diff -Nru bitcoin-0.8.1/src/qt/walletstack.cpp bitcoin-0.8.5/src/qt/walletstack.cpp --- bitcoin-0.8.1/src/qt/walletstack.cpp 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletstack.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,156 @@ +/* + * Qt4 bitcoin GUI. + * + * W.J. van der Laan 2011-2012 + * The Bitcoin Developers 2011-2013 + */ +#include "walletstack.h" +#include "walletview.h" +#include "bitcoingui.h" + +#include +#include + +WalletStack::WalletStack(QWidget *parent) : + QStackedWidget(parent), + clientModel(0), + bOutOfSync(true) +{ + setContentsMargins(0,0,0,0); +} + +WalletStack::~WalletStack() +{ +} + +bool WalletStack::addWallet(const QString& name, WalletModel *walletModel) +{ + if (!gui || !clientModel || mapWalletViews.count(name) > 0) + return false; + + WalletView *walletView = new WalletView(this, gui); + walletView->setBitcoinGUI(gui); + walletView->setClientModel(clientModel); + walletView->setWalletModel(walletModel); + walletView->showOutOfSyncWarning(bOutOfSync); + addWidget(walletView); + mapWalletViews[name] = walletView; + return true; +} + +bool WalletStack::removeWallet(const QString& name) +{ + if (mapWalletViews.count(name) == 0) return false; + WalletView *walletView = mapWalletViews.take(name); + removeWidget(walletView); + return true; +} + +void WalletStack::removeAllWallets() +{ + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + removeWidget(i.value()); + mapWalletViews.clear(); +} + +bool WalletStack::handleURI(const QString &uri) +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (!walletView) return false; + + return walletView->handleURI(uri); +} + +void WalletStack::showOutOfSyncWarning(bool fShow) +{ + bOutOfSync = fShow; + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + i.value()->showOutOfSyncWarning(fShow); +} + +void WalletStack::gotoOverviewPage() +{ + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + i.value()->gotoOverviewPage(); +} + +void WalletStack::gotoHistoryPage() +{ + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + i.value()->gotoHistoryPage(); +} + +void WalletStack::gotoAddressBookPage() +{ + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + i.value()->gotoAddressBookPage(); +} + +void WalletStack::gotoReceiveCoinsPage() +{ + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + i.value()->gotoReceiveCoinsPage(); +} + +void WalletStack::gotoSendCoinsPage(QString addr) +{ + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + i.value()->gotoSendCoinsPage(addr); +} + +void WalletStack::gotoSignMessageTab(QString addr) +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (walletView) walletView->gotoSignMessageTab(addr); +} + +void WalletStack::gotoVerifyMessageTab(QString addr) +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (walletView) walletView->gotoVerifyMessageTab(addr); +} + +void WalletStack::encryptWallet(bool status) +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (walletView) walletView->encryptWallet(status); +} + +void WalletStack::backupWallet() +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (walletView) walletView->backupWallet(); +} + +void WalletStack::changePassphrase() +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (walletView) walletView->changePassphrase(); +} + +void WalletStack::unlockWallet() +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (walletView) walletView->unlockWallet(); +} + +void WalletStack::setEncryptionStatus() +{ + WalletView *walletView = (WalletView*)currentWidget(); + if (walletView) walletView->setEncryptionStatus(); +} + +void WalletStack::setCurrentWallet(const QString& name) +{ + if (mapWalletViews.count(name) == 0) return; + WalletView *walletView = mapWalletViews.value(name); + setCurrentWidget(walletView); + walletView->setEncryptionStatus(); +} diff -Nru bitcoin-0.8.1/src/qt/walletstack.h bitcoin-0.8.5/src/qt/walletstack.h --- bitcoin-0.8.1/src/qt/walletstack.h 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletstack.h 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,102 @@ +/* + * Qt4 bitcoin GUI. + * + * W.J. van der Laan 2011-2012 + * The Bitcoin Developers 2011-2013 + */ +#ifndef WALLETSTACK_H +#define WALLETSTACK_H + +#include +#include +#include + +class BitcoinGUI; +class TransactionTableModel; +class ClientModel; +class WalletModel; +class WalletView; +class TransactionView; +class OverviewPage; +class AddressBookPage; +class SendCoinsDialog; +class SignVerifyMessageDialog; +class Notificator; +class RPCConsole; + +class CWalletManager; + +QT_BEGIN_NAMESPACE +class QLabel; +class QModelIndex; +QT_END_NAMESPACE + +/* + WalletStack class. This class is a container for WalletView instances. It takes the place of centralWidget. + It was added to support multiple wallet functionality. It communicates with both the client and the + wallet models to give the user an up-to-date view of the current core state. It manages all the wallet views + it contains and updates them accordingly. + */ +class WalletStack : public QStackedWidget +{ + Q_OBJECT +public: + explicit WalletStack(QWidget *parent = 0); + ~WalletStack(); + + void setBitcoinGUI(BitcoinGUI *gui) { this->gui = gui; } + + void setClientModel(ClientModel *clientModel) { this->clientModel = clientModel; } + + bool addWallet(const QString& name, WalletModel *walletModel); + bool removeWallet(const QString& name); + + void removeAllWallets(); + + bool handleURI(const QString &uri); + + void showOutOfSyncWarning(bool fShow); + +private: + BitcoinGUI *gui; + ClientModel *clientModel; + QMap mapWalletViews; + + bool bOutOfSync; + +public slots: + void setCurrentWallet(const QString& name); + + /** Switch to overview (home) page */ + void gotoOverviewPage(); + /** Switch to history (transactions) page */ + void gotoHistoryPage(); + /** Switch to address book page */ + void gotoAddressBookPage(); + /** Switch to receive coins page */ + void gotoReceiveCoinsPage(); + /** Switch to send coins page */ + void gotoSendCoinsPage(QString addr = ""); + + /** Show Sign/Verify Message dialog and switch to sign message tab */ + void gotoSignMessageTab(QString addr = ""); + /** Show Sign/Verify Message dialog and switch to verify message tab */ + void gotoVerifyMessageTab(QString addr = ""); + + /** Encrypt the wallet */ + void encryptWallet(bool status); + /** Backup the wallet */ + void backupWallet(); + /** Change encrypted wallet passphrase */ + void changePassphrase(); + /** Ask for passphrase to unlock wallet temporarily */ + void unlockWallet(); + + /** Set the encryption status as shown in the UI. + @param[in] status current encryption status + @see WalletModel::EncryptionStatus + */ + void setEncryptionStatus(); +}; + +#endif // WALLETSTACK_H diff -Nru bitcoin-0.8.1/src/qt/walletview.cpp bitcoin-0.8.5/src/qt/walletview.cpp --- bitcoin-0.8.1/src/qt/walletview.cpp 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletview.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,266 @@ +/* + * Qt4 bitcoin GUI. + * + * W.J. van der Laan 2011-2012 + * The Bitcoin Developers 2011-2013 + */ +#include "walletview.h" +#include "bitcoingui.h" +#include "transactiontablemodel.h" +#include "addressbookpage.h" +#include "sendcoinsdialog.h" +#include "signverifymessagedialog.h" +#include "clientmodel.h" +#include "walletmodel.h" +#include "optionsmodel.h" +#include "transactionview.h" +#include "overviewpage.h" +#include "askpassphrasedialog.h" +#include "ui_interface.h" + +#include +#include +#include +#include +#include +#include + +WalletView::WalletView(QWidget *parent, BitcoinGUI *_gui): + QStackedWidget(parent), + gui(_gui), + clientModel(0), + walletModel(0) +{ + // Create tabs + overviewPage = new OverviewPage(); + + transactionsPage = new QWidget(this); + QVBoxLayout *vbox = new QVBoxLayout(); + QHBoxLayout *hbox_buttons = new QHBoxLayout(); + transactionView = new TransactionView(this); + vbox->addWidget(transactionView); + QPushButton *exportButton = new QPushButton(tr("&Export"), this); + exportButton->setToolTip(tr("Export the data in the current tab to a file")); +#ifndef Q_OS_MAC // Icons on push buttons are very uncommon on Mac + exportButton->setIcon(QIcon(":/icons/export")); +#endif + hbox_buttons->addStretch(); + hbox_buttons->addWidget(exportButton); + vbox->addLayout(hbox_buttons); + transactionsPage->setLayout(vbox); + + addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab); + + receiveCoinsPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::ReceivingTab); + + sendCoinsPage = new SendCoinsDialog(gui); + + signVerifyMessageDialog = new SignVerifyMessageDialog(gui); + + addWidget(overviewPage); + addWidget(transactionsPage); + addWidget(addressBookPage); + addWidget(receiveCoinsPage); + addWidget(sendCoinsPage); + + // Clicking on a transaction on the overview page simply sends you to transaction history page + connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), this, SLOT(gotoHistoryPage())); + connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex))); + + // Double-clicking on a transaction on the transaction history page shows details + connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails())); + + // Clicking on "Send Coins" in the address book sends you to the send coins tab + connect(addressBookPage, SIGNAL(sendCoins(QString)), this, SLOT(gotoSendCoinsPage(QString))); + // Clicking on "Verify Message" in the address book opens the verify message tab in the Sign/Verify Message dialog + connect(addressBookPage, SIGNAL(verifyMessage(QString)), this, SLOT(gotoVerifyMessageTab(QString))); + // Clicking on "Sign Message" in the receive coins page opens the sign message tab in the Sign/Verify Message dialog + connect(receiveCoinsPage, SIGNAL(signMessage(QString)), this, SLOT(gotoSignMessageTab(QString))); + // Clicking on "Export" allows to export the transaction list + connect(exportButton, SIGNAL(clicked()), transactionView, SLOT(exportClicked())); + + gotoOverviewPage(); +} + +WalletView::~WalletView() +{ +} + +void WalletView::setBitcoinGUI(BitcoinGUI *gui) +{ + this->gui = gui; +} + +void WalletView::setClientModel(ClientModel *clientModel) +{ + this->clientModel = clientModel; + if (clientModel) + { + overviewPage->setClientModel(clientModel); + addressBookPage->setOptionsModel(clientModel->getOptionsModel()); + receiveCoinsPage->setOptionsModel(clientModel->getOptionsModel()); + } +} + +void WalletView::setWalletModel(WalletModel *walletModel) +{ + this->walletModel = walletModel; + if (walletModel) + { + // Receive and report messages from wallet thread + connect(walletModel, SIGNAL(message(QString,QString,unsigned int)), gui, SLOT(message(QString,QString,unsigned int))); + + // Put transaction list in tabs + transactionView->setModel(walletModel); + overviewPage->setWalletModel(walletModel); + addressBookPage->setModel(walletModel->getAddressTableModel()); + receiveCoinsPage->setModel(walletModel->getAddressTableModel()); + sendCoinsPage->setModel(walletModel); + signVerifyMessageDialog->setModel(walletModel); + + setEncryptionStatus(); + connect(walletModel, SIGNAL(encryptionStatusChanged(int)), gui, SLOT(setEncryptionStatus(int))); + + // Balloon pop-up for new transaction + connect(walletModel->getTransactionTableModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), + this, SLOT(incomingTransaction(QModelIndex,int,int))); + + // Ask for passphrase if needed + connect(walletModel, SIGNAL(requireUnlock()), this, SLOT(unlockWallet())); + } +} + +void WalletView::incomingTransaction(const QModelIndex& parent, int start, int /*end*/) +{ + // Prevent balloon-spam when initial block download is in progress + if(!walletModel || !clientModel || clientModel->inInitialBlockDownload()) + return; + + TransactionTableModel *ttm = walletModel->getTransactionTableModel(); + + QString date = ttm->index(start, TransactionTableModel::Date, parent).data().toString(); + qint64 amount = ttm->index(start, TransactionTableModel::Amount, parent).data(Qt::EditRole).toULongLong(); + QString type = ttm->index(start, TransactionTableModel::Type, parent).data().toString(); + QString address = ttm->index(start, TransactionTableModel::ToAddress, parent).data().toString(); + + gui->incomingTransaction(date, walletModel->getOptionsModel()->getDisplayUnit(), amount, type, address); +} + +void WalletView::gotoOverviewPage() +{ + gui->getOverviewAction()->setChecked(true); + setCurrentWidget(overviewPage); +} + +void WalletView::gotoHistoryPage() +{ + gui->getHistoryAction()->setChecked(true); + setCurrentWidget(transactionsPage); +} + +void WalletView::gotoAddressBookPage() +{ + gui->getAddressBookAction()->setChecked(true); + setCurrentWidget(addressBookPage); +} + +void WalletView::gotoReceiveCoinsPage() +{ + gui->getReceiveCoinsAction()->setChecked(true); + setCurrentWidget(receiveCoinsPage); +} + +void WalletView::gotoSendCoinsPage(QString addr) +{ + gui->getSendCoinsAction()->setChecked(true); + setCurrentWidget(sendCoinsPage); + + if (!addr.isEmpty()) + sendCoinsPage->setAddress(addr); +} + +void WalletView::gotoSignMessageTab(QString addr) +{ + // call show() in showTab_SM() + signVerifyMessageDialog->showTab_SM(true); + + if (!addr.isEmpty()) + signVerifyMessageDialog->setAddress_SM(addr); +} + +void WalletView::gotoVerifyMessageTab(QString addr) +{ + // call show() in showTab_VM() + signVerifyMessageDialog->showTab_VM(true); + + if (!addr.isEmpty()) + signVerifyMessageDialog->setAddress_VM(addr); +} + +bool WalletView::handleURI(const QString& strURI) +{ + // URI has to be valid + if (sendCoinsPage->handleURI(strURI)) + { + gotoSendCoinsPage(); + return true; + } + else + return false; +} + +void WalletView::showOutOfSyncWarning(bool fShow) +{ + overviewPage->showOutOfSyncWarning(fShow); +} + +void WalletView::setEncryptionStatus() +{ + gui->setEncryptionStatus(walletModel->getEncryptionStatus()); +} + +void WalletView::encryptWallet(bool status) +{ + if(!walletModel) + return; + AskPassphraseDialog dlg(status ? AskPassphraseDialog::Encrypt : AskPassphraseDialog::Decrypt, this); + dlg.setModel(walletModel); + dlg.exec(); + + setEncryptionStatus(); +} + +void WalletView::backupWallet() +{ + QString saveDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); + QString filename = QFileDialog::getSaveFileName(this, tr("Backup Wallet"), saveDir, tr("Wallet Data (*.dat)")); + if (!filename.isEmpty()) { + if (!walletModel->backupWallet(filename)) { + gui->message(tr("Backup Failed"), tr("There was an error trying to save the wallet data to the new location."), + CClientUIInterface::MSG_ERROR); + } + else + gui->message(tr("Backup Successful"), tr("The wallet data was successfully saved to the new location."), + CClientUIInterface::MSG_INFORMATION); + } +} + +void WalletView::changePassphrase() +{ + AskPassphraseDialog dlg(AskPassphraseDialog::ChangePass, this); + dlg.setModel(walletModel); + dlg.exec(); +} + +void WalletView::unlockWallet() +{ + if(!walletModel) + return; + // Unlock wallet when requested by wallet model + if (walletModel->getEncryptionStatus() == WalletModel::Locked) + { + AskPassphraseDialog dlg(AskPassphraseDialog::Unlock, this); + dlg.setModel(walletModel); + dlg.exec(); + } +} diff -Nru bitcoin-0.8.1/src/qt/walletview.h bitcoin-0.8.5/src/qt/walletview.h --- bitcoin-0.8.1/src/qt/walletview.h 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/qt/walletview.h 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,104 @@ +/* + * Qt4 bitcoin GUI. + * + * W.J. van der Laan 2011-2012 + * The Bitcoin Developers 2011-2013 + */ +#ifndef WALLETVIEW_H +#define WALLETVIEW_H + +#include + +class BitcoinGUI; +class ClientModel; +class WalletModel; +class TransactionView; +class OverviewPage; +class AddressBookPage; +class SendCoinsDialog; +class SignVerifyMessageDialog; +class RPCConsole; + +QT_BEGIN_NAMESPACE +class QLabel; +class QModelIndex; +QT_END_NAMESPACE + +/* + WalletView class. This class represents the view to a single wallet. + It was added to support multiple wallet functionality. Each wallet gets its own WalletView instance. + It communicates with both the client and the wallet models to give the user an up-to-date view of the + current core state. +*/ +class WalletView : public QStackedWidget +{ + Q_OBJECT + +public: + explicit WalletView(QWidget *parent, BitcoinGUI *_gui); + ~WalletView(); + + void setBitcoinGUI(BitcoinGUI *gui); + /** Set the client model. + The client model represents the part of the core that communicates with the P2P network, and is wallet-agnostic. + */ + void setClientModel(ClientModel *clientModel); + /** Set the wallet model. + The wallet model represents a bitcoin wallet, and offers access to the list of transactions, address book and sending + functionality. + */ + void setWalletModel(WalletModel *walletModel); + + bool handleURI(const QString &uri); + + void showOutOfSyncWarning(bool fShow); + +private: + BitcoinGUI *gui; + ClientModel *clientModel; + WalletModel *walletModel; + + OverviewPage *overviewPage; + QWidget *transactionsPage; + AddressBookPage *addressBookPage; + AddressBookPage *receiveCoinsPage; + SendCoinsDialog *sendCoinsPage; + SignVerifyMessageDialog *signVerifyMessageDialog; + + TransactionView *transactionView; + +public slots: + /** Switch to overview (home) page */ + void gotoOverviewPage(); + /** Switch to history (transactions) page */ + void gotoHistoryPage(); + /** Switch to address book page */ + void gotoAddressBookPage(); + /** Switch to receive coins page */ + void gotoReceiveCoinsPage(); + /** Switch to send coins page */ + void gotoSendCoinsPage(QString addr = ""); + + /** Show Sign/Verify Message dialog and switch to sign message tab */ + void gotoSignMessageTab(QString addr = ""); + /** Show Sign/Verify Message dialog and switch to verify message tab */ + void gotoVerifyMessageTab(QString addr = ""); + + /** Show incoming transaction notification for new transactions. + + The new items are those between start and end inclusive, under the given parent item. + */ + void incomingTransaction(const QModelIndex& parent, int start, int /*end*/); + /** Encrypt the wallet */ + void encryptWallet(bool status); + /** Backup the wallet */ + void backupWallet(); + /** Change encrypted wallet passphrase */ + void changePassphrase(); + /** Ask for passphrase to unlock wallet temporarily */ + void unlockWallet(); + + void setEncryptionStatus(); +}; + +#endif // WALLETVIEW_H diff -Nru bitcoin-0.8.1/src/rpcblockchain.cpp bitcoin-0.8.5/src/rpcblockchain.cpp --- bitcoin-0.8.1/src/rpcblockchain.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/rpcblockchain.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -172,10 +172,13 @@ CCoinsStats stats; if (pcoinsTip->GetStats(stats)) { - ret.push_back(Pair("bestblock", pcoinsTip->GetBestBlock()->GetBlockHash().GetHex())); + ret.push_back(Pair("height", (boost::int64_t)stats.nHeight)); + ret.push_back(Pair("bestblock", stats.hashBlock.GetHex())); ret.push_back(Pair("transactions", (boost::int64_t)stats.nTransactions)); ret.push_back(Pair("txouts", (boost::int64_t)stats.nTransactionOutputs)); ret.push_back(Pair("bytes_serialized", (boost::int64_t)stats.nSerializedSize)); + ret.push_back(Pair("hash_serialized", stats.hashSerialized.GetHex())); + ret.push_back(Pair("total_amount", ValueFromAmount(stats.nTotalAmount))); } return ret; } diff -Nru bitcoin-0.8.1/src/rpcmining.cpp bitcoin-0.8.5/src/rpcmining.cpp --- bitcoin-0.8.1/src/rpcmining.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/rpcmining.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -104,7 +104,6 @@ typedef map > mapNewBlock_t; static mapNewBlock_t mapNewBlock; // FIXME: thread safety static vector vNewBlockTemplate; - static CReserveKey reservekey(pwalletMain); if (params.size() == 0) { @@ -134,7 +133,7 @@ nStart = GetTime(); // Create new block - pblocktemplate = CreateNewBlock(reservekey); + pblocktemplate = CreateNewBlock(*pMiningKey); if (!pblocktemplate) throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory"); vNewBlockTemplate.push_back(pblocktemplate); @@ -192,7 +191,7 @@ pblock->vtx[0].vin[0].scriptSig = mapNewBlock[pdata->hashMerkleRoot].second; pblock->hashMerkleRoot = pblock->BuildMerkleTree(); - return CheckWork(pblock, *pwalletMain, reservekey); + return CheckWork(pblock, *pwalletMain, *pMiningKey); } } @@ -243,8 +242,6 @@ if (IsInitialBlockDownload()) throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Bitcoin is downloading blocks..."); - static CReserveKey reservekey(pwalletMain); - // Update block static unsigned int nTransactionsUpdatedLast; static CBlockIndex* pindexPrev; @@ -267,7 +264,7 @@ delete pblocktemplate; pblocktemplate = NULL; } - pblocktemplate = CreateNewBlock(reservekey); + pblocktemplate = CreateNewBlock(*pMiningKey); if (!pblocktemplate) throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory"); diff -Nru bitcoin-0.8.1/src/rpcnet.cpp bitcoin-0.8.5/src/rpcnet.cpp --- bitcoin-0.8.1/src/rpcnet.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/rpcnet.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -51,13 +51,16 @@ obj.push_back(Pair("services", strprintf("%08"PRI64x, stats.nServices))); obj.push_back(Pair("lastsend", (boost::int64_t)stats.nLastSend)); obj.push_back(Pair("lastrecv", (boost::int64_t)stats.nLastRecv)); + obj.push_back(Pair("bytessent", (boost::int64_t)stats.nSendBytes)); + obj.push_back(Pair("bytesrecv", (boost::int64_t)stats.nRecvBytes)); obj.push_back(Pair("conntime", (boost::int64_t)stats.nTimeConnected)); obj.push_back(Pair("version", stats.nVersion)); obj.push_back(Pair("subver", stats.strSubVer)); obj.push_back(Pair("inbound", stats.fInbound)); - obj.push_back(Pair("releasetime", (boost::int64_t)stats.nReleaseTime)); obj.push_back(Pair("startingheight", stats.nStartingHeight)); obj.push_back(Pair("banscore", stats.nMisbehavior)); + if (stats.fSyncNode) + obj.push_back(Pair("syncnode", true)); ret.push_back(obj); } diff -Nru bitcoin-0.8.1/src/rpcrawtransaction.cpp bitcoin-0.8.5/src/rpcrawtransaction.cpp --- bitcoin-0.8.1/src/rpcrawtransaction.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/rpcrawtransaction.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -225,6 +225,13 @@ Object entry; entry.push_back(Pair("txid", out.tx->GetHash().GetHex())); entry.push_back(Pair("vout", out.i)); + CTxDestination address; + if (ExtractDestination(out.tx->vout[out.i].scriptPubKey, address)) + { + entry.push_back(Pair("address", CBitcoinAddress(address).ToString())); + if (pwalletMain->mapAddressBook.count(address)) + entry.push_back(Pair("account", pwalletMain->mapAddressBook[address])); + } entry.push_back(Pair("scriptPubKey", HexStr(pk.begin(), pk.end()))); if (pk.IsPayToScriptHash()) { diff -Nru bitcoin-0.8.1/src/rpcwallet.cpp bitcoin-0.8.5/src/rpcwallet.cpp --- bitcoin-0.8.1/src/rpcwallet.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/rpcwallet.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -75,6 +75,7 @@ obj.push_back(Pair("walletversion", pwalletMain->GetVersion())); obj.push_back(Pair("balance", ValueFromAmount(pwalletMain->GetBalance()))); obj.push_back(Pair("blocks", (int)nBestHeight)); + obj.push_back(Pair("timeoffset", (boost::int64_t)GetTimeOffset())); obj.push_back(Pair("connections", (int)vNodes.size())); obj.push_back(Pair("proxy", (proxy.first.IsValid() ? proxy.first.ToStringIPPort() : string()))); obj.push_back(Pair("difficulty", (double)GetDifficulty())); @@ -519,12 +520,12 @@ if (params[0].get_str() == "*") { // Calculate total balance a different way from GetBalance() // (GetBalance() sums up all unspent TxOuts) - // getbalance and getbalance '*' should always return the same number. + // getbalance and getbalance '*' 0 should return the same number int64 nBalance = 0; for (map::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it) { const CWalletTx& wtx = (*it).second; - if (!wtx.IsFinal()) + if (!wtx.IsConfirmed()) continue; int64 allFee; @@ -693,13 +694,10 @@ // Send CReserveKey keyChange(pwalletMain); int64 nFeeRequired = 0; - bool fCreated = pwalletMain->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired); + string strFailReason; + bool fCreated = pwalletMain->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired, strFailReason); if (!fCreated) - { - if (totalAmount + nFeeRequired > pwalletMain->GetBalance()) - throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds"); - throw JSONRPCError(RPC_WALLET_ERROR, "Transaction creation failed"); - } + throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, strFailReason); if (!pwalletMain->CommitTransaction(wtx, keyChange)) throw JSONRPCError(RPC_WALLET_ERROR, "Transaction commit failed"); @@ -1288,7 +1286,7 @@ break; LEAVE_CRITICAL_SECTION(cs_nWalletUnlockTime); - Sleep(nToSleep); + MilliSleep(nToSleep); ENTER_CRITICAL_SECTION(cs_nWalletUnlockTime); } while(1); diff -Nru bitcoin-0.8.1/src/script.cpp bitcoin-0.8.5/src/script.cpp --- bitcoin-0.8.1/src/script.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/script.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -54,32 +54,6 @@ return false; } -// -// WARNING: This does not work as expected for signed integers; the sign-bit -// is left in place as the integer is zero-extended. The correct behavior -// would be to move the most significant bit of the last byte during the -// resize process. MakeSameSize() is currently only used by the disabled -// opcodes OP_AND, OP_OR, and OP_XOR. -// -void MakeSameSize(valtype& vch1, valtype& vch2) -{ - // Lengthen the shorter one - if (vch1.size() < vch2.size()) - // PATCH: - // +unsigned char msb = vch1[vch1.size()-1]; - // +vch1[vch1.size()-1] &= 0x7f; - // vch1.resize(vch2.size(), 0); - // +vch1[vch1.size()-1] = msb; - vch1.resize(vch2.size(), 0); - if (vch2.size() < vch1.size()) - // PATCH: - // +unsigned char msb = vch2[vch2.size()-1]; - // +vch2[vch2.size()-1] &= 0x7f; - // vch2.resize(vch1.size(), 0); - // +vch2[vch2.size()-1] = msb; - vch2.resize(vch1.size(), 0); -} - // @@ -361,7 +335,7 @@ opcode == OP_MOD || opcode == OP_LSHIFT || opcode == OP_RSHIFT) - return false; + return false; // Disabled opcodes. if (fExec && 0 <= opcode && opcode <= OP_PUSHDATA4) stack.push_back(vchPushValue); @@ -659,64 +633,6 @@ break; - // - // Splice ops - // - case OP_CAT: - { - // (x1 x2 -- out) - if (stack.size() < 2) - return false; - valtype& vch1 = stacktop(-2); - valtype& vch2 = stacktop(-1); - vch1.insert(vch1.end(), vch2.begin(), vch2.end()); - popstack(stack); - if (stacktop(-1).size() > MAX_SCRIPT_ELEMENT_SIZE) - return false; - } - break; - - case OP_SUBSTR: - { - // (in begin size -- out) - if (stack.size() < 3) - return false; - valtype& vch = stacktop(-3); - int nBegin = CastToBigNum(stacktop(-2)).getint(); - int nEnd = nBegin + CastToBigNum(stacktop(-1)).getint(); - if (nBegin < 0 || nEnd < nBegin) - return false; - if (nBegin > (int)vch.size()) - nBegin = vch.size(); - if (nEnd > (int)vch.size()) - nEnd = vch.size(); - vch.erase(vch.begin() + nEnd, vch.end()); - vch.erase(vch.begin(), vch.begin() + nBegin); - popstack(stack); - popstack(stack); - } - break; - - case OP_LEFT: - case OP_RIGHT: - { - // (in size -- out) - if (stack.size() < 2) - return false; - valtype& vch = stacktop(-2); - int nSize = CastToBigNum(stacktop(-1)).getint(); - if (nSize < 0) - return false; - if (nSize > (int)vch.size()) - nSize = vch.size(); - if (opcode == OP_LEFT) - vch.erase(vch.begin() + nSize, vch.end()); - else - vch.erase(vch.begin(), vch.end() - nSize); - popstack(stack); - } - break; - case OP_SIZE: { // (in -- in size) @@ -731,51 +647,6 @@ // // Bitwise logic // - case OP_INVERT: - { - // (in - out) - if (stack.size() < 1) - return false; - valtype& vch = stacktop(-1); - for (unsigned int i = 0; i < vch.size(); i++) - vch[i] = ~vch[i]; - } - break; - - // - // WARNING: These disabled opcodes exhibit unexpected behavior - // when used on signed integers due to a bug in MakeSameSize() - // [see definition of MakeSameSize() above]. - // - case OP_AND: - case OP_OR: - case OP_XOR: - { - // (x1 x2 - out) - if (stack.size() < 2) - return false; - valtype& vch1 = stacktop(-2); - valtype& vch2 = stacktop(-1); - MakeSameSize(vch1, vch2); // <-- NOT SAFE FOR SIGNED VALUES - if (opcode == OP_AND) - { - for (unsigned int i = 0; i < vch1.size(); i++) - vch1[i] &= vch2[i]; - } - else if (opcode == OP_OR) - { - for (unsigned int i = 0; i < vch1.size(); i++) - vch1[i] |= vch2[i]; - } - else if (opcode == OP_XOR) - { - for (unsigned int i = 0; i < vch1.size(); i++) - vch1[i] ^= vch2[i]; - } - popstack(stack); - } - break; - case OP_EQUAL: case OP_EQUALVERIFY: //case OP_NOTEQUAL: // use OP_NUMNOTEQUAL @@ -810,8 +681,6 @@ // case OP_1ADD: case OP_1SUB: - case OP_2MUL: - case OP_2DIV: case OP_NEGATE: case OP_ABS: case OP_NOT: @@ -825,8 +694,6 @@ { case OP_1ADD: bn += bnOne; break; case OP_1SUB: bn -= bnOne; break; - case OP_2MUL: bn <<= 1; break; - case OP_2DIV: bn >>= 1; break; case OP_NEGATE: bn = -bn; break; case OP_ABS: if (bn < bnZero) bn = -bn; break; case OP_NOT: bn = (bn == bnZero); break; @@ -840,11 +707,6 @@ case OP_ADD: case OP_SUB: - case OP_MUL: - case OP_DIV: - case OP_MOD: - case OP_LSHIFT: - case OP_RSHIFT: case OP_BOOLAND: case OP_BOOLOR: case OP_NUMEQUAL: @@ -873,33 +735,6 @@ bn = bn1 - bn2; break; - case OP_MUL: - if (!BN_mul(&bn, &bn1, &bn2, pctx)) - return false; - break; - - case OP_DIV: - if (!BN_div(&bn, NULL, &bn1, &bn2, pctx)) - return false; - break; - - case OP_MOD: - if (!BN_mod(&bn, &bn1, &bn2, pctx)) - return false; - break; - - case OP_LSHIFT: - if (bn2 < bnZero || bn2 > CBigNum(2048)) - return false; - bn = bn1 << bn2.getulong(); - break; - - case OP_RSHIFT: - if (bn2 < bnZero || bn2 > CBigNum(2048)) - return false; - bn = bn1 >> bn2.getulong(); - break; - case OP_BOOLAND: bn = (bn1 != bnZero && bn2 != bnZero); break; case OP_BOOLOR: bn = (bn1 != bnZero || bn2 != bnZero); break; case OP_NUMEQUAL: bn = (bn1 == bn2); break; diff -Nru bitcoin-0.8.1/src/serialize.h bitcoin-0.8.5/src/serialize.h --- bitcoin-0.8.1/src/serialize.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/serialize.h 2013-09-12 03:35:18.000000000 +0000 @@ -789,6 +789,7 @@ +typedef std::vector > CSerializeData; /** Double ended buffer combining vector and stream-like interfaces. * @@ -798,7 +799,7 @@ class CDataStream { protected: - typedef std::vector > vector_type; + typedef CSerializeData vector_type; vector_type vch; unsigned int nReadPos; short state; @@ -1095,6 +1096,11 @@ ::Unserialize(*this, obj, nType, nVersion); return (*this); } + + void GetAndClear(CSerializeData &data) { + vch.swap(data); + CSerializeData().swap(vch); + } }; diff -Nru bitcoin-0.8.1/src/test/DoS_tests.cpp bitcoin-0.8.5/src/test/DoS_tests.cpp --- bitcoin-0.8.1/src/test/DoS_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/DoS_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -16,10 +16,10 @@ #include // Tests this internal-to-main.cpp method: -extern bool AddOrphanTx(const CDataStream& vMsg); +extern bool AddOrphanTx(const CTransaction& tx); extern unsigned int LimitOrphanTxSize(unsigned int nMaxOrphans); -extern std::map mapOrphanTransactions; -extern std::map > mapOrphanTransactionsByPrev; +extern std::map mapOrphanTransactions; +extern std::map > mapOrphanTransactionsByPrev; CService ip(uint32_t i) { @@ -133,14 +133,11 @@ CTransaction RandomOrphan() { - std::map::iterator it; + std::map::iterator it; it = mapOrphanTransactions.lower_bound(GetRandHash()); if (it == mapOrphanTransactions.end()) it = mapOrphanTransactions.begin(); - const CDataStream* pvMsg = it->second; - CTransaction tx; - CDataStream(*pvMsg) >> tx; - return tx; + return it->second; } BOOST_AUTO_TEST_CASE(DoS_mapOrphans) @@ -162,9 +159,7 @@ tx.vout[0].nValue = 1*CENT; tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID()); - CDataStream ds(SER_DISK, CLIENT_VERSION); - ds << tx; - AddOrphanTx(ds); + AddOrphanTx(tx); } // ... and 50 that depend on other orphans: @@ -181,9 +176,7 @@ tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID()); SignSignature(keystore, txPrev, tx, 0); - CDataStream ds(SER_DISK, CLIENT_VERSION); - ds << tx; - AddOrphanTx(ds); + AddOrphanTx(tx); } // This really-big orphan should be ignored: @@ -207,9 +200,7 @@ for (unsigned int j = 1; j < tx.vin.size(); j++) tx.vin[j].scriptSig = tx.vin[0].scriptSig; - CDataStream ds(SER_DISK, CLIENT_VERSION); - ds << tx; - BOOST_CHECK(!AddOrphanTx(ds)); + BOOST_CHECK(!AddOrphanTx(tx)); } // Test LimitOrphanTxSize() function: @@ -246,9 +237,7 @@ tx.vout[0].nValue = 1*CENT; tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID()); - CDataStream ds(SER_DISK, CLIENT_VERSION); - ds << tx; - AddOrphanTx(ds); + AddOrphanTx(tx); } // Create a transaction that depends on orphans: diff -Nru bitcoin-0.8.1/src/test/alert_tests.cpp bitcoin-0.8.5/src/test/alert_tests.cpp --- bitcoin-0.8.1/src/test/alert_tests.cpp 1970-01-01 00:00:00.000000000 +0000 +++ bitcoin-0.8.5/src/test/alert_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -0,0 +1,185 @@ +// +// Unit tests for alert system +// + +#include +#include +#include + +#include "alert.h" +#include "serialize.h" +#include "util.h" + +#if 0 +// +// alertTests contains 7 alerts, generated with this code: +// (SignAndSave code not shown, alert signing key is secret) +// +{ + CAlert alert; + alert.nRelayUntil = 60; + alert.nExpiration = 24 * 60 * 60; + alert.nID = 1; + alert.nCancel = 0; // cancels previous messages up to this ID number + alert.nMinVer = 0; // These versions are protocol versions + alert.nMaxVer = 70001; + alert.nPriority = 1; + alert.strComment = "Alert comment"; + alert.strStatusBar = "Alert 1"; + + SignAndSave(alert, "test/alertTests"); + + alert.setSubVer.insert(std::string("/Satoshi:0.1.0/")); + alert.strStatusBar = "Alert 1 for Satoshi 0.1.0"; + SignAndSave(alert, "test/alertTests"); + + alert.setSubVer.insert(std::string("/Satoshi:0.2.0/")); + alert.strStatusBar = "Alert 1 for Satoshi 0.1.0, 0.2.0"; + SignAndSave(alert, "test/alertTests"); + + alert.setSubVer.clear(); + ++alert.nID; + alert.nCancel = 1; + alert.nPriority = 100; + alert.strStatusBar = "Alert 2, cancels 1"; + SignAndSave(alert, "test/alertTests"); + + alert.nExpiration += 60; + ++alert.nID; + SignAndSave(alert, "test/alertTests"); + + ++alert.nID; + alert.nMinVer = 11; + alert.nMaxVer = 22; + SignAndSave(alert, "test/alertTests"); + + ++alert.nID; + alert.strStatusBar = "Alert 2 for Satoshi 0.1.0"; + alert.setSubVer.insert(std::string("/Satoshi:0.1.0/")); + SignAndSave(alert, "test/alertTests"); + + ++alert.nID; + alert.nMinVer = 0; + alert.nMaxVer = 999999; + alert.strStatusBar = "Evil Alert'; /bin/ls; echo '"; + alert.setSubVer.clear(); + SignAndSave(alert, "test/alertTests"); +} +#endif + +struct ReadAlerts +{ + ReadAlerts() + { + std::string filename("alertTests"); + namespace fs = boost::filesystem; + fs::path testFile = fs::current_path() / "test" / "data" / filename; +#ifdef TEST_DATA_DIR + if (!fs::exists(testFile)) + { + testFile = fs::path(BOOST_PP_STRINGIZE(TEST_DATA_DIR)) / filename; + } +#endif + FILE* fp = fopen(testFile.string().c_str(), "rb"); + if (!fp) return; + + + CAutoFile filein = CAutoFile(fp, SER_DISK, CLIENT_VERSION); + if (!filein) return; + + try { + while (!feof(filein)) + { + CAlert alert; + filein >> alert; + alerts.push_back(alert); + } + } + catch (std::exception) { } + } + ~ReadAlerts() { } + + static std::vector read_lines(boost::filesystem::path filepath) + { + std::vector result; + + std::ifstream f(filepath.string().c_str()); + std::string line; + while (std::getline(f,line)) + result.push_back(line); + + return result; + } + + std::vector alerts; +}; + +BOOST_FIXTURE_TEST_SUITE(Alert_tests, ReadAlerts) + + +BOOST_AUTO_TEST_CASE(AlertApplies) +{ + SetMockTime(11); + + BOOST_FOREACH(const CAlert& alert, alerts) + { + BOOST_CHECK(alert.CheckSignature()); + } + // Matches: + BOOST_CHECK(alerts[0].AppliesTo(1, "")); + BOOST_CHECK(alerts[0].AppliesTo(70001, "")); + BOOST_CHECK(alerts[0].AppliesTo(1, "/Satoshi:11.11.11/")); + + BOOST_CHECK(alerts[1].AppliesTo(1, "/Satoshi:0.1.0/")); + BOOST_CHECK(alerts[1].AppliesTo(70001, "/Satoshi:0.1.0/")); + + BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.1.0/")); + BOOST_CHECK(alerts[2].AppliesTo(1, "/Satoshi:0.2.0/")); + + // Don't match: + BOOST_CHECK(!alerts[0].AppliesTo(-1, "")); + BOOST_CHECK(!alerts[0].AppliesTo(70002, "")); + + BOOST_CHECK(!alerts[1].AppliesTo(1, "")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.1.0")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "Satoshi:0.1.0/")); + BOOST_CHECK(!alerts[1].AppliesTo(-1, "/Satoshi:0.1.0/")); + BOOST_CHECK(!alerts[1].AppliesTo(70002, "/Satoshi:0.1.0/")); + BOOST_CHECK(!alerts[1].AppliesTo(1, "/Satoshi:0.2.0/")); + + BOOST_CHECK(!alerts[2].AppliesTo(1, "/Satoshi:0.3.0/")); + + SetMockTime(0); +} + + +// This uses sh 'echo' to test the -alertnotify function, writing to a +// /tmp file. So skip it on Windows: +#ifndef WIN32 +BOOST_AUTO_TEST_CASE(AlertNotify) +{ + SetMockTime(11); + + boost::filesystem::path temp = GetTempPath() / "alertnotify.txt"; + boost::filesystem::remove(temp); + + mapArgs["-alertnotify"] = std::string("echo %s >> ") + temp.string(); + + BOOST_FOREACH(CAlert alert, alerts) + alert.ProcessAlert(false); + + std::vector r = read_lines(temp); + BOOST_CHECK_EQUAL(r.size(), 4u); + BOOST_CHECK_EQUAL(r[0], "Alert 1"); + BOOST_CHECK_EQUAL(r[1], "Alert 2, cancels 1"); + BOOST_CHECK_EQUAL(r[2], "Alert 2, cancels 1"); + BOOST_CHECK_EQUAL(r[3], "Evil Alert; /bin/ls; echo "); // single-quotes should be removed + + boost::filesystem::remove(temp); + + SetMockTime(0); +} +#endif + +BOOST_AUTO_TEST_SUITE_END() diff -Nru bitcoin-0.8.1/src/test/bignum_tests.cpp bitcoin-0.8.5/src/test/bignum_tests.cpp --- bitcoin-0.8.1/src/test/bignum_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/bignum_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -128,51 +128,51 @@ CBigNum num; num.SetCompact(0); BOOST_CHECK_EQUAL(num.GetHex(), "0"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0); + BOOST_CHECK_EQUAL(num.GetCompact(), 0U); num.SetCompact(0x00123456); BOOST_CHECK_EQUAL(num.GetHex(), "0"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0); + BOOST_CHECK_EQUAL(num.GetCompact(), 0U); num.SetCompact(0x01123456); BOOST_CHECK_EQUAL(num.GetHex(), "12"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x01120000); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x01120000U); // Make sure that we don't generate compacts with the 0x00800000 bit set num = 0x80; - BOOST_CHECK_EQUAL(num.GetCompact(), 0x02008000); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x02008000U); num.SetCompact(0x01fedcba); BOOST_CHECK_EQUAL(num.GetHex(), "-7e"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x01fe0000); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x01fe0000U); num.SetCompact(0x02123456); BOOST_CHECK_EQUAL(num.GetHex(), "1234"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x02123400); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x02123400U); num.SetCompact(0x03123456); BOOST_CHECK_EQUAL(num.GetHex(), "123456"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x03123456); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x03123456U); num.SetCompact(0x04123456); BOOST_CHECK_EQUAL(num.GetHex(), "12345600"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x04123456); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x04123456U); num.SetCompact(0x04923456); BOOST_CHECK_EQUAL(num.GetHex(), "-12345600"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x04923456); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x04923456U); num.SetCompact(0x05009234); BOOST_CHECK_EQUAL(num.GetHex(), "92340000"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x05009234); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x05009234U); num.SetCompact(0x20123456); BOOST_CHECK_EQUAL(num.GetHex(), "1234560000000000000000000000000000000000000000000000000000000000"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0x20123456); + BOOST_CHECK_EQUAL(num.GetCompact(), 0x20123456U); num.SetCompact(0xff123456); BOOST_CHECK_EQUAL(num.GetHex(), "123456000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"); - BOOST_CHECK_EQUAL(num.GetCompact(), 0xff123456); + BOOST_CHECK_EQUAL(num.GetCompact(), 0xff123456U); } BOOST_AUTO_TEST_SUITE_END() diff -Nru bitcoin-0.8.1/src/test/checkblock_tests.cpp bitcoin-0.8.5/src/test/checkblock_tests.cpp --- bitcoin-0.8.1/src/test/checkblock_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/checkblock_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -52,7 +52,7 @@ if (read_block("Mar12Fork.dat", forkingBlock)) { CValidationState state; - BOOST_CHECK(!forkingBlock.CheckBlock(state, true, true)); + forkingBlock.nTime = tMay15-1; // Invalidates PoW BOOST_CHECK(!forkingBlock.CheckBlock(state, false, false)); // After May 15'th, big blocks are OK: Binary files /tmp/vKcEl9hDSQ/bitcoin-0.8.1/src/test/data/alertTests and /tmp/0c9SYbmYKz/bitcoin-0.8.5/src/test/data/alertTests differ diff -Nru bitcoin-0.8.1/src/test/data/script_invalid.json bitcoin-0.8.5/src/test/data/script_invalid.json --- bitcoin-0.8.1/src/test/data/script_invalid.json 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/data/script_invalid.json 2013-09-12 03:35:18.000000000 +0000 @@ -39,6 +39,9 @@ ["1", "RETURN"], ["1", "DUP IF RETURN ENDIF"], +["1", "RETURN 'data'", "canonical prunable txout format"], +["0 IF", "RETURN ENDIF 1", "still prunable because IF/ENDIF can't span scriptSig/scriptPubKey"], + ["0", "VERIFY 1"], ["1", "VERIFY"], ["1", "VERIFY 0"], @@ -128,13 +131,79 @@ ["'NOP_1_to_10' NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10","'NOP_1_to_11' EQUAL"], ["0x50","1", "opcode 0x50 is reserved"], -["1", "IF 0xba ELSE 1 ENDIF", "opcodes above NOP10 invalid"], +["1", "IF 0xba ELSE 1 ENDIF", "opcodes above NOP10 invalid if executed"], +["1", "IF 0xbb ELSE 1 ENDIF"], +["1", "IF 0xbc ELSE 1 ENDIF"], +["1", "IF 0xbd ELSE 1 ENDIF"], +["1", "IF 0xbe ELSE 1 ENDIF"], +["1", "IF 0xbf ELSE 1 ENDIF"], ["1", "IF 0xc0 ELSE 1 ENDIF"], +["1", "IF 0xc1 ELSE 1 ENDIF"], +["1", "IF 0xc2 ELSE 1 ENDIF"], +["1", "IF 0xc3 ELSE 1 ENDIF"], +["1", "IF 0xc4 ELSE 1 ENDIF"], +["1", "IF 0xc5 ELSE 1 ENDIF"], +["1", "IF 0xc6 ELSE 1 ENDIF"], +["1", "IF 0xc7 ELSE 1 ENDIF"], +["1", "IF 0xc8 ELSE 1 ENDIF"], +["1", "IF 0xc9 ELSE 1 ENDIF"], +["1", "IF 0xca ELSE 1 ENDIF"], +["1", "IF 0xcb ELSE 1 ENDIF"], +["1", "IF 0xcc ELSE 1 ENDIF"], +["1", "IF 0xcd ELSE 1 ENDIF"], +["1", "IF 0xce ELSE 1 ENDIF"], +["1", "IF 0xcf ELSE 1 ENDIF"], +["1", "IF 0xd0 ELSE 1 ENDIF"], ["1", "IF 0xd1 ELSE 1 ENDIF"], +["1", "IF 0xd2 ELSE 1 ENDIF"], +["1", "IF 0xd3 ELSE 1 ENDIF"], +["1", "IF 0xd4 ELSE 1 ENDIF"], +["1", "IF 0xd5 ELSE 1 ENDIF"], +["1", "IF 0xd6 ELSE 1 ENDIF"], +["1", "IF 0xd7 ELSE 1 ENDIF"], +["1", "IF 0xd8 ELSE 1 ENDIF"], +["1", "IF 0xd9 ELSE 1 ENDIF"], +["1", "IF 0xda ELSE 1 ENDIF"], +["1", "IF 0xdb ELSE 1 ENDIF"], +["1", "IF 0xdc ELSE 1 ENDIF"], +["1", "IF 0xdd ELSE 1 ENDIF"], +["1", "IF 0xde ELSE 1 ENDIF"], +["1", "IF 0xdf ELSE 1 ENDIF"], +["1", "IF 0xe0 ELSE 1 ENDIF"], +["1", "IF 0xe1 ELSE 1 ENDIF"], +["1", "IF 0xe2 ELSE 1 ENDIF"], +["1", "IF 0xe3 ELSE 1 ENDIF"], +["1", "IF 0xe4 ELSE 1 ENDIF"], +["1", "IF 0xe5 ELSE 1 ENDIF"], +["1", "IF 0xe6 ELSE 1 ENDIF"], +["1", "IF 0xe7 ELSE 1 ENDIF"], +["1", "IF 0xe8 ELSE 1 ENDIF"], +["1", "IF 0xe9 ELSE 1 ENDIF"], +["1", "IF 0xea ELSE 1 ENDIF"], +["1", "IF 0xeb ELSE 1 ENDIF"], +["1", "IF 0xec ELSE 1 ENDIF"], +["1", "IF 0xed ELSE 1 ENDIF"], ["1", "IF 0xee ELSE 1 ENDIF"], +["1", "IF 0xef ELSE 1 ENDIF"], +["1", "IF 0xf0 ELSE 1 ENDIF"], +["1", "IF 0xf1 ELSE 1 ENDIF"], +["1", "IF 0xf2 ELSE 1 ENDIF"], +["1", "IF 0xf3 ELSE 1 ENDIF"], +["1", "IF 0xf4 ELSE 1 ENDIF"], +["1", "IF 0xf5 ELSE 1 ENDIF"], +["1", "IF 0xf6 ELSE 1 ENDIF"], +["1", "IF 0xf7 ELSE 1 ENDIF"], +["1", "IF 0xf8 ELSE 1 ENDIF"], +["1", "IF 0xf9 ELSE 1 ENDIF"], +["1", "IF 0xfa ELSE 1 ENDIF"], +["1", "IF 0xfb ELSE 1 ENDIF"], +["1", "IF 0xfc ELSE 1 ENDIF"], ["1", "IF 0xfd ELSE 1 ENDIF"], +["1", "IF 0xfe ELSE 1 ENDIF"], ["1", "IF 0xff ELSE 1 ENDIF"], +["1 IF 1 ELSE", "0xff ENDIF", "invalid because scriptSig and scriptPubKey are processed separately"], + ["NOP", "RIPEMD160"], ["NOP", "SHA1"], ["NOP", "SHA256"], diff -Nru bitcoin-0.8.1/src/test/data/script_valid.json bitcoin-0.8.5/src/test/data/script_valid.json --- bitcoin-0.8.1/src/test/data/script_valid.json 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/data/script_valid.json 2013-09-12 03:35:18.000000000 +0000 @@ -34,6 +34,8 @@ ["1 0", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"], ["0 1", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"], +["0", "IF RETURN ENDIF 1", "RETURN only works if executed"], + ["1 1", "VERIFY"], ["10 0 11 TOALTSTACK DROP FROMALTSTACK", "ADD 21 EQUAL"], @@ -188,10 +190,74 @@ ["'NOP_1_to_10' NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10","'NOP_1_to_10' EQUAL"], ["0", "IF 0xba ELSE 1 ENDIF", "opcodes above NOP10 invalid if executed"], +["0", "IF 0xbb ELSE 1 ENDIF"], +["0", "IF 0xbc ELSE 1 ENDIF"], +["0", "IF 0xbd ELSE 1 ENDIF"], +["0", "IF 0xbe ELSE 1 ENDIF"], +["0", "IF 0xbf ELSE 1 ENDIF"], ["0", "IF 0xc0 ELSE 1 ENDIF"], +["0", "IF 0xc1 ELSE 1 ENDIF"], +["0", "IF 0xc2 ELSE 1 ENDIF"], +["0", "IF 0xc3 ELSE 1 ENDIF"], +["0", "IF 0xc4 ELSE 1 ENDIF"], +["0", "IF 0xc5 ELSE 1 ENDIF"], +["0", "IF 0xc6 ELSE 1 ENDIF"], +["0", "IF 0xc7 ELSE 1 ENDIF"], +["0", "IF 0xc8 ELSE 1 ENDIF"], +["0", "IF 0xc9 ELSE 1 ENDIF"], +["0", "IF 0xca ELSE 1 ENDIF"], +["0", "IF 0xcb ELSE 1 ENDIF"], +["0", "IF 0xcc ELSE 1 ENDIF"], +["0", "IF 0xcd ELSE 1 ENDIF"], +["0", "IF 0xce ELSE 1 ENDIF"], +["0", "IF 0xcf ELSE 1 ENDIF"], +["0", "IF 0xd0 ELSE 1 ENDIF"], ["0", "IF 0xd1 ELSE 1 ENDIF"], +["0", "IF 0xd2 ELSE 1 ENDIF"], +["0", "IF 0xd3 ELSE 1 ENDIF"], +["0", "IF 0xd4 ELSE 1 ENDIF"], +["0", "IF 0xd5 ELSE 1 ENDIF"], +["0", "IF 0xd6 ELSE 1 ENDIF"], +["0", "IF 0xd7 ELSE 1 ENDIF"], +["0", "IF 0xd8 ELSE 1 ENDIF"], +["0", "IF 0xd9 ELSE 1 ENDIF"], +["0", "IF 0xda ELSE 1 ENDIF"], +["0", "IF 0xdb ELSE 1 ENDIF"], +["0", "IF 0xdc ELSE 1 ENDIF"], +["0", "IF 0xdd ELSE 1 ENDIF"], +["0", "IF 0xde ELSE 1 ENDIF"], +["0", "IF 0xdf ELSE 1 ENDIF"], +["0", "IF 0xe0 ELSE 1 ENDIF"], +["0", "IF 0xe1 ELSE 1 ENDIF"], +["0", "IF 0xe2 ELSE 1 ENDIF"], +["0", "IF 0xe3 ELSE 1 ENDIF"], +["0", "IF 0xe4 ELSE 1 ENDIF"], +["0", "IF 0xe5 ELSE 1 ENDIF"], +["0", "IF 0xe6 ELSE 1 ENDIF"], +["0", "IF 0xe7 ELSE 1 ENDIF"], +["0", "IF 0xe8 ELSE 1 ENDIF"], +["0", "IF 0xe9 ELSE 1 ENDIF"], +["0", "IF 0xea ELSE 1 ENDIF"], +["0", "IF 0xeb ELSE 1 ENDIF"], +["0", "IF 0xec ELSE 1 ENDIF"], +["0", "IF 0xed ELSE 1 ENDIF"], ["0", "IF 0xee ELSE 1 ENDIF"], +["0", "IF 0xef ELSE 1 ENDIF"], +["0", "IF 0xf0 ELSE 1 ENDIF"], +["0", "IF 0xf1 ELSE 1 ENDIF"], +["0", "IF 0xf2 ELSE 1 ENDIF"], +["0", "IF 0xf3 ELSE 1 ENDIF"], +["0", "IF 0xf4 ELSE 1 ENDIF"], +["0", "IF 0xf5 ELSE 1 ENDIF"], +["0", "IF 0xf6 ELSE 1 ENDIF"], +["0", "IF 0xf7 ELSE 1 ENDIF"], +["0", "IF 0xf8 ELSE 1 ENDIF"], +["0", "IF 0xf9 ELSE 1 ENDIF"], +["0", "IF 0xfa ELSE 1 ENDIF"], +["0", "IF 0xfb ELSE 1 ENDIF"], +["0", "IF 0xfc ELSE 1 ENDIF"], ["0", "IF 0xfd ELSE 1 ENDIF"], +["0", "IF 0xfe ELSE 1 ENDIF"], ["0", "IF 0xff ELSE 1 ENDIF"], ["NOP", diff -Nru bitcoin-0.8.1/src/test/data/tx_invalid.json bitcoin-0.8.5/src/test/data/tx_invalid.json --- bitcoin-0.8.1/src/test/data/tx_invalid.json 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/data/tx_invalid.json 2013-09-12 03:35:18.000000000 +0000 @@ -60,5 +60,10 @@ ["Null txin"], [[["0000000000000000000000000000000000000000000000000000000000000000", -1, "HASH160 0x14 0x02dae7dbbda56097959cba59b1989dd3e47937bf EQUAL"]], -"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6e49304602210086f39e028e46dafa8e1e3be63906465f4cf038fbe5ed6403dc3e74ae876e6431022100c4625c675cfc5c7e3a0e0d7eaec92ac24da20c73a88eb40d09253e51ac6def5201232103a183ddc41e84753aca47723c965d1b5c8b0e2b537963518355e6dd6cf8415e50acffffffff010000000000000000015100000000", true] +"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6e49304602210086f39e028e46dafa8e1e3be63906465f4cf038fbe5ed6403dc3e74ae876e6431022100c4625c675cfc5c7e3a0e0d7eaec92ac24da20c73a88eb40d09253e51ac6def5201232103a183ddc41e84753aca47723c965d1b5c8b0e2b537963518355e6dd6cf8415e50acffffffff010000000000000000015100000000", true], + +["Same as the transactions in valid with one input SIGHASH_ALL and one SIGHASH_ANYONECANPAY, but we set the _ANYONECANPAY sequence number, invalidating the SIGHASH_ALL signature"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"], + ["0000000000000000000000000000000000000000000000000000000000000200", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"]], + "01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df10101000000000200000000000000000000000000000000000000000000000000000000000000000000484730440220201dc2d030e380e8f9cfb41b442d930fa5a685bb2c8db5906671f865507d0670022018d9e7a8d4c8d86a73c2a724ee38ef983ec249827e0e464841735955c707ece98101000000010100000000000000015100000000", true] ] diff -Nru bitcoin-0.8.1/src/test/data/tx_valid.json bitcoin-0.8.5/src/test/data/tx_valid.json --- bitcoin-0.8.1/src/test/data/tx_valid.json 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/data/tx_valid.json 2013-09-12 03:35:18.000000000 +0000 @@ -67,5 +67,15 @@ ["Coinbase of size 100"], ["Note the input is just required to make the tester happy"], [[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]], -"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000", true] +"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000", true], + +["Simple transaction with first input is signed with SIGHASH_ALL, second with SIGHASH_ANYONECANPAY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"], + ["0000000000000000000000000000000000000000000000000000000000000200", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"]], + "010000000200010000000000000000000000000000000000000000000000000000000000000000000049483045022100d180fd2eb9140aeb4210c9204d3f358766eb53842b2a9473db687fa24b12a3cc022079781799cd4f038b85135bbe49ec2b57f306b2bb17101b17f71f000fcab2b6fb01ffffffff0002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000", true], + +["Same as above, but we change the sequence number of the first input to check that SIGHASH_ANYONECANPAY is being followed"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"], + ["0000000000000000000000000000000000000000000000000000000000000200", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"]], + "01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df101010000000002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000", true] ] diff -Nru bitcoin-0.8.1/src/test/multisig_tests.cpp bitcoin-0.8.5/src/test/multisig_tests.cpp --- bitcoin-0.8.1/src/test/multisig_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/multisig_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -216,7 +216,7 @@ CScript s; s << OP_2 << key[0].GetPubKey() << key[1].GetPubKey() << OP_2 << OP_CHECKMULTISIG; BOOST_CHECK(Solver(s, whichType, solutions)); - BOOST_CHECK_EQUAL(solutions.size(), 4); + BOOST_CHECK_EQUAL(solutions.size(), 4U); CTxDestination addr; BOOST_CHECK(!ExtractDestination(s, addr)); BOOST_CHECK(IsMine(keystore, s)); @@ -229,7 +229,7 @@ CScript s; s << OP_1 << key[0].GetPubKey() << key[1].GetPubKey() << OP_2 << OP_CHECKMULTISIG; BOOST_CHECK(Solver(s, whichType, solutions)); - BOOST_CHECK_EQUAL(solutions.size(), 4); + BOOST_CHECK_EQUAL(solutions.size(), 4U); vector addrs; int nRequired; BOOST_CHECK(ExtractDestinations(s, whichType, addrs, nRequired)); diff -Nru bitcoin-0.8.1/src/test/script_P2SH_tests.cpp bitcoin-0.8.5/src/test/script_P2SH_tests.cpp --- bitcoin-0.8.1/src/test/script_P2SH_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/script_P2SH_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -78,7 +78,9 @@ for (int i = 0; i < 4; i++) { txFrom.vout[i].scriptPubKey = evalScripts[i]; + txFrom.vout[i].nValue = COIN; txFrom.vout[i+4].scriptPubKey = standardScripts[i]; + txFrom.vout[i+4].nValue = COIN; } BOOST_CHECK(txFrom.IsStandard()); @@ -169,6 +171,7 @@ for (int i = 0; i < 4; i++) { txFrom.vout[i].scriptPubKey = outer[i]; + txFrom.vout[i].nValue = CENT; } BOOST_CHECK(txFrom.IsStandard()); @@ -179,7 +182,7 @@ txTo[i].vout.resize(1); txTo[i].vin[0].prevout.n = i; txTo[i].vin[0].prevout.hash = txFrom.GetHash(); - txTo[i].vout[0].nValue = 1; + txTo[i].vout[0].nValue = 1*CENT; txTo[i].vout[0].scriptPubKey = inner[i]; BOOST_CHECK_MESSAGE(IsMine(keystore, txFrom.vout[i].scriptPubKey), strprintf("IsMine %d", i)); } @@ -303,7 +306,7 @@ BOOST_CHECK(SignSignature(keystore, txFrom, txTo, 2)); BOOST_CHECK(txTo.AreInputsStandard(coins)); - BOOST_CHECK_EQUAL(txTo.GetP2SHSigOpCount(coins), 1); + BOOST_CHECK_EQUAL(txTo.GetP2SHSigOpCount(coins), 1U); // Make sure adding crap to the scriptSigs makes them non-standard: for (int i = 0; i < 3; i++) @@ -327,7 +330,7 @@ txToNonStd.vin[1].scriptSig << OP_0 << Serialize(oneOfEleven); BOOST_CHECK(!txToNonStd.AreInputsStandard(coins)); - BOOST_CHECK_EQUAL(txToNonStd.GetP2SHSigOpCount(coins), 11); + BOOST_CHECK_EQUAL(txToNonStd.GetP2SHSigOpCount(coins), 11U); txToNonStd.vin[0].scriptSig.clear(); BOOST_CHECK(!txToNonStd.AreInputsStandard(coins)); diff -Nru bitcoin-0.8.1/src/test/serialize_tests.cpp bitcoin-0.8.5/src/test/serialize_tests.cpp --- bitcoin-0.8.1/src/test/serialize_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/serialize_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -29,13 +29,13 @@ // decode for (int i = 0; i < 100000; i++) { - int j; + int j = -1; ss >> VARINT(j); BOOST_CHECK_MESSAGE(i == j, "decoded:" << j << " expected:" << i); } for (uint64 i = 0; i < 100000000000ULL; i += 999999937) { - uint64 j; + uint64 j = -1; ss >> VARINT(j); BOOST_CHECK_MESSAGE(i == j, "decoded:" << j << " expected:" << i); } diff -Nru bitcoin-0.8.1/src/test/sigopcount_tests.cpp bitcoin-0.8.5/src/test/sigopcount_tests.cpp --- bitcoin-0.8.1/src/test/sigopcount_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/sigopcount_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -21,21 +21,21 @@ { // Test CScript::GetSigOpCount() CScript s1; - BOOST_CHECK_EQUAL(s1.GetSigOpCount(false), 0); - BOOST_CHECK_EQUAL(s1.GetSigOpCount(true), 0); + BOOST_CHECK_EQUAL(s1.GetSigOpCount(false), 0U); + BOOST_CHECK_EQUAL(s1.GetSigOpCount(true), 0U); uint160 dummy; s1 << OP_1 << dummy << dummy << OP_2 << OP_CHECKMULTISIG; - BOOST_CHECK_EQUAL(s1.GetSigOpCount(true), 2); + BOOST_CHECK_EQUAL(s1.GetSigOpCount(true), 2U); s1 << OP_IF << OP_CHECKSIG << OP_ENDIF; - BOOST_CHECK_EQUAL(s1.GetSigOpCount(true), 3); - BOOST_CHECK_EQUAL(s1.GetSigOpCount(false), 21); + BOOST_CHECK_EQUAL(s1.GetSigOpCount(true), 3U); + BOOST_CHECK_EQUAL(s1.GetSigOpCount(false), 21U); CScript p2sh; p2sh.SetDestination(s1.GetID()); CScript scriptSig; scriptSig << OP_0 << Serialize(s1); - BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(scriptSig), 3); + BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(scriptSig), 3U); std::vector keys; for (int i = 0; i < 3; i++) @@ -46,15 +46,15 @@ } CScript s2; s2.SetMultisig(1, keys); - BOOST_CHECK_EQUAL(s2.GetSigOpCount(true), 3); - BOOST_CHECK_EQUAL(s2.GetSigOpCount(false), 20); + BOOST_CHECK_EQUAL(s2.GetSigOpCount(true), 3U); + BOOST_CHECK_EQUAL(s2.GetSigOpCount(false), 20U); p2sh.SetDestination(s2.GetID()); - BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(true), 0); - BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(false), 0); + BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(true), 0U); + BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(false), 0U); CScript scriptSig2; scriptSig2 << OP_1 << dummy << dummy << Serialize(s2); - BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(scriptSig2), 3); + BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(scriptSig2), 3U); } BOOST_AUTO_TEST_SUITE_END() diff -Nru bitcoin-0.8.1/src/test/test_bitcoin.cpp bitcoin-0.8.5/src/test/test_bitcoin.cpp --- bitcoin-0.8.1/src/test/test_bitcoin.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/test_bitcoin.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -17,6 +17,7 @@ struct TestingSetup { CCoinsViewDB *pcoinsdbview; boost::filesystem::path pathTemp; + boost::thread_group threadGroup; TestingSetup() { fPrintToDebugger = true; // don't want to write to debug.log file @@ -35,11 +36,12 @@ RegisterWallet(pwalletMain); nScriptCheckThreads = 3; for (int i=0; i < nScriptCheckThreads-1; i++) - NewThread(ThreadScriptCheck, NULL); + threadGroup.create_thread(&ThreadScriptCheck); } ~TestingSetup() { - ThreadScriptCheckQuit(); + threadGroup.interrupt_all(); + threadGroup.join_all(); delete pwalletMain; pwalletMain = NULL; delete pcoinsTip; diff -Nru bitcoin-0.8.1/src/test/transaction_tests.cpp bitcoin-0.8.5/src/test/transaction_tests.cpp --- bitcoin-0.8.1/src/test/transaction_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/transaction_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -242,24 +242,34 @@ BOOST_CHECK(!t1.AreInputsStandard(coins)); } -BOOST_AUTO_TEST_CASE(test_GetThrow) +BOOST_AUTO_TEST_CASE(test_IsStandard) { CBasicKeyStore keystore; CCoinsView coinsDummy; CCoinsViewCache coins(coinsDummy); std::vector dummyTransactions = SetupDummyInputs(keystore, coins); - CTransaction t1; - t1.vin.resize(3); - t1.vin[0].prevout.hash = dummyTransactions[0].GetHash(); - t1.vin[0].prevout.n = 0; - t1.vin[1].prevout.hash = dummyTransactions[1].GetHash();; - t1.vin[1].prevout.n = 0; - t1.vin[2].prevout.hash = dummyTransactions[1].GetHash();; - t1.vin[2].prevout.n = 1; - t1.vout.resize(2); - t1.vout[0].nValue = 90*CENT; - t1.vout[0].scriptPubKey << OP_1; + CTransaction t; + t.vin.resize(1); + t.vin[0].prevout.hash = dummyTransactions[0].GetHash(); + t.vin[0].prevout.n = 1; + t.vin[0].scriptSig << std::vector(65, 0); + t.vout.resize(1); + t.vout[0].nValue = 90*CENT; + CKey key; + key.MakeNewKey(true); + t.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID()); + + BOOST_CHECK(t.IsStandard()); + + t.vout[0].nValue = 5011; // dust + BOOST_CHECK(!t.IsStandard()); + + t.vout[0].nValue = 6011; // not dust + BOOST_CHECK(t.IsStandard()); + + t.vout[0].scriptPubKey = CScript() << OP_1; + BOOST_CHECK(!t.IsStandard()); } BOOST_AUTO_TEST_SUITE_END() diff -Nru bitcoin-0.8.1/src/test/util_tests.cpp bitcoin-0.8.5/src/test/util_tests.cpp --- bitcoin-0.8.1/src/test/util_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/util_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -261,4 +261,77 @@ BOOST_CHECK(!IsHex("0x0000")); } +BOOST_AUTO_TEST_CASE(util_seed_insecure_rand) +{ + // Expected results for the determinstic seed. + const uint32_t exp_vals[11] = { 91632771U,1889679809U,3842137544U,3256031132U, + 1761911779U, 489223532U,2692793790U,2737472863U, + 2796262275U,1309899767U,840571781U}; + // Expected 0s in rand()%(idx+2) for the determinstic seed. + const int exp_count[9] = {5013,3346,2415,1972,1644,1386,1176,1096,1009}; + int i; + int count=0; + + seed_insecure_rand(); + + //Does the non-determistic rand give us results that look too like the determinstic one? + for (i=0;i<10;i++) + { + int match = 0; + uint32_t rval = insecure_rand(); + for (int j=0;j<11;j++)match |= rval==exp_vals[j]; + count += match; + } + // sum(binomial(10,i)*(11/(2^32))^i*(1-(11/(2^32)))^(10-i),i,0,4) ~= 1-1/2^134.73 + // So _very_ unlikely to throw a false failure here. + BOOST_CHECK(count<=4); + + for (int mod=2;mod<11;mod++) + { + int mask = 1; + // Really rough binomal confidence approximation. + int err = 30*10000./mod*sqrt((1./mod*(1-1./mod))/10000.); + //mask is 2^ceil(log2(mod))-1 + while(mask=(uint32_t)mod); + count += rval==0; + } + BOOST_CHECK(count<=10000/mod+err); + BOOST_CHECK(count>=10000/mod-err); + } + + seed_insecure_rand(true); + + for (i=0;i<11;i++) + { + BOOST_CHECK_EQUAL(insecure_rand(),exp_vals[i]); + } + + for (int mod=2;mod<11;mod++) + { + count = 0; + for (i=0;i<10000;i++) count += insecure_rand()%mod==0; + BOOST_CHECK_EQUAL(count,exp_count[mod-2]); + } +} + +BOOST_AUTO_TEST_CASE(util_TimingResistantEqual) +{ + BOOST_CHECK(TimingResistantEqual(std::string(""), std::string(""))); + BOOST_CHECK(!TimingResistantEqual(std::string("abc"), std::string(""))); + BOOST_CHECK(!TimingResistantEqual(std::string(""), std::string("abc"))); + BOOST_CHECK(!TimingResistantEqual(std::string("a"), std::string("aa"))); + BOOST_CHECK(!TimingResistantEqual(std::string("aa"), std::string("a"))); + BOOST_CHECK(TimingResistantEqual(std::string("abc"), std::string("abc"))); + BOOST_CHECK(!TimingResistantEqual(std::string("abc"), std::string("aba"))); +} + BOOST_AUTO_TEST_SUITE_END() diff -Nru bitcoin-0.8.1/src/test/wallet_tests.cpp bitcoin-0.8.5/src/test/wallet_tests.cpp --- bitcoin-0.8.1/src/test/wallet_tests.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/test/wallet_tests.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -21,13 +21,12 @@ static void add_coin(int64 nValue, int nAge = 6*24, bool fIsFromMe = false, int nInput=0) { - static int i; - CTransaction* tx = new CTransaction; - tx->nLockTime = i++; // so all transactions get different hashes - tx->vout.resize(nInput+1); - tx->vout[nInput].nValue = nValue; - CWalletTx* wtx = new CWalletTx(&wallet, *tx); - delete tx; + static int nextLockTime = 0; + CTransaction tx; + tx.nLockTime = nextLockTime++; // so all transactions get different hashes + tx.vout.resize(nInput+1); + tx.vout[nInput].nValue = nValue; + CWalletTx* wtx = new CWalletTx(&wallet, tx); if (fIsFromMe) { // IsFromMe() returns (GetDebit() > 0), and GetDebit() is 0 if vin.empty(), @@ -55,8 +54,8 @@ BOOST_AUTO_TEST_CASE(coin_selection_tests) { - static CoinSet setCoinsRet, setCoinsRet2; - static int64 nValueRet; + CoinSet setCoinsRet, setCoinsRet2; + int64 nValueRet; // test multiple times to allow for differences in the shuffle order for (int i = 0; i < RUN_TESTS; i++) @@ -104,22 +103,22 @@ // try making 34 cents from 1,2,5,10,20 - we can't do it exactly BOOST_CHECK( wallet.SelectCoinsMinConf(34 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_GT(nValueRet, 34 * CENT); // but should get more than 34 cents - BOOST_CHECK_EQUAL(setCoinsRet.size(), 3); // the best should be 20+10+5. it's incredibly unlikely the 1 or 2 got included (but possible) + BOOST_CHECK_EQUAL(setCoinsRet.size(), 3U); // the best should be 20+10+5. it's incredibly unlikely the 1 or 2 got included (but possible) // when we try making 7 cents, the smaller coins (1,2,5) are enough. We should see just 2+5 BOOST_CHECK( wallet.SelectCoinsMinConf( 7 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 7 * CENT); - BOOST_CHECK_EQUAL(setCoinsRet.size(), 2); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 2U); // when we try making 8 cents, the smaller coins (1,2,5) are exactly enough. BOOST_CHECK( wallet.SelectCoinsMinConf( 8 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK(nValueRet == 8 * CENT); - BOOST_CHECK_EQUAL(setCoinsRet.size(), 3); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 3U); // when we try making 9 cents, no subset of smaller coins is enough, and we get the next bigger coin (10) BOOST_CHECK( wallet.SelectCoinsMinConf( 9 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 10 * CENT); - BOOST_CHECK_EQUAL(setCoinsRet.size(), 1); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); // now clear out the wallet and start again to test choosing between subsets of smaller coins and the next biggest coin empty_wallet(); @@ -137,26 +136,26 @@ // now try making 16 cents. the best smaller coins can do is 6+7+8 = 21; not as good at the next biggest coin, 20 BOOST_CHECK( wallet.SelectCoinsMinConf(16 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 20 * CENT); // we should get 20 in one coin - BOOST_CHECK_EQUAL(setCoinsRet.size(), 1); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); add_coin( 5*CENT); // now we have 5+6+7+8+20+30 = 75 cents total // now if we try making 16 cents again, the smaller coins can make 5+6+7 = 18 cents, better than the next biggest coin, 20 BOOST_CHECK( wallet.SelectCoinsMinConf(16 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 18 * CENT); // we should get 18 in 3 coins - BOOST_CHECK_EQUAL(setCoinsRet.size(), 3); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 3U); add_coin( 18*CENT); // now we have 5+6+7+8+18+20+30 // and now if we try making 16 cents again, the smaller coins can make 5+6+7 = 18 cents, the same as the next biggest coin, 18 BOOST_CHECK( wallet.SelectCoinsMinConf(16 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 18 * CENT); // we should get 18 in 1 coin - BOOST_CHECK_EQUAL(setCoinsRet.size(), 1); // because in the event of a tie, the biggest coin wins + BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); // because in the event of a tie, the biggest coin wins // now try making 11 cents. we should get 5+6 BOOST_CHECK( wallet.SelectCoinsMinConf(11 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 11 * CENT); - BOOST_CHECK_EQUAL(setCoinsRet.size(), 2); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 2U); // check that the smallest bigger coin is used add_coin( 1*COIN); @@ -165,11 +164,11 @@ add_coin( 4*COIN); // now we have 5+6+7+8+18+20+30+100+200+300+400 = 1094 cents BOOST_CHECK( wallet.SelectCoinsMinConf(95 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 1 * COIN); // we should get 1 BTC in 1 coin - BOOST_CHECK_EQUAL(setCoinsRet.size(), 1); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); BOOST_CHECK( wallet.SelectCoinsMinConf(195 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 2 * COIN); // we should get 2 BTC in 1 coin - BOOST_CHECK_EQUAL(setCoinsRet.size(), 1); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); // empty the wallet and start again, now with fractions of a cent, to test sub-cent change avoidance empty_wallet(); @@ -207,7 +206,7 @@ BOOST_CHECK( wallet.SelectCoinsMinConf(500000 * COIN, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 500000 * COIN); // we should get the exact amount - BOOST_CHECK_EQUAL(setCoinsRet.size(), 10); // in ten coins + BOOST_CHECK_EQUAL(setCoinsRet.size(), 10U); // in ten coins // if there's not enough in the smaller coins to make at least 1 cent change (0.5+0.6+0.7 < 1.0+1.0), // we need to try finding an exact subset anyway @@ -220,7 +219,7 @@ add_coin(1111 * CENT); BOOST_CHECK( wallet.SelectCoinsMinConf(1 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 1111 * CENT); // we get the bigger coin - BOOST_CHECK_EQUAL(setCoinsRet.size(), 1); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); // but sometimes it's possible, and we use an exact subset (0.4 + 0.6 = 1.0) empty_wallet(); @@ -230,7 +229,7 @@ add_coin(1111 * CENT); BOOST_CHECK( wallet.SelectCoinsMinConf(1 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 1 * CENT); // we should get the exact amount - BOOST_CHECK_EQUAL(setCoinsRet.size(), 2); // in two coins 0.4+0.6 + BOOST_CHECK_EQUAL(setCoinsRet.size(), 2U); // in two coins 0.4+0.6 // test avoiding sub-cent change empty_wallet(); @@ -241,12 +240,12 @@ // trying to make 1.0001 from these three coins BOOST_CHECK( wallet.SelectCoinsMinConf(1.0001 * COIN, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 1.0105 * COIN); // we should get all coins - BOOST_CHECK_EQUAL(setCoinsRet.size(), 3); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 3U); // but if we try to make 0.999, we should take the bigger of the two small coins to avoid sub-cent change BOOST_CHECK( wallet.SelectCoinsMinConf(0.999 * COIN, 1, 1, vCoins, setCoinsRet, nValueRet)); BOOST_CHECK_EQUAL(nValueRet, 1.01 * COIN); // we should get 1 + 0.01 - BOOST_CHECK_EQUAL(setCoinsRet.size(), 2); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 2U); // test randomness { diff -Nru bitcoin-0.8.1/src/txdb.cpp bitcoin-0.8.5/src/txdb.cpp --- bitcoin-0.8.1/src/txdb.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/txdb.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -5,6 +5,7 @@ #include "txdb.h" #include "main.h" +#include "hash.h" using namespace std; @@ -22,17 +23,17 @@ CCoinsViewDB::CCoinsViewDB(size_t nCacheSize, bool fMemory, bool fWipe) : db(GetDataDir() / "chainstate", nCacheSize, fMemory, fWipe) { } -bool CCoinsViewDB::GetCoins(uint256 txid, CCoins &coins) { +bool CCoinsViewDB::GetCoins(const uint256 &txid, CCoins &coins) { return db.Read(make_pair('c', txid), coins); } -bool CCoinsViewDB::SetCoins(uint256 txid, const CCoins &coins) { +bool CCoinsViewDB::SetCoins(const uint256 &txid, const CCoins &coins) { CLevelDBBatch batch; BatchWriteCoins(batch, txid, coins); return db.WriteBatch(batch); } -bool CCoinsViewDB::HaveCoins(uint256 txid) { +bool CCoinsViewDB::HaveCoins(const uint256 &txid) { return db.Exists(make_pair('c', txid)); } @@ -114,26 +115,40 @@ leveldb::Iterator *pcursor = db.NewIterator(); pcursor->SeekToFirst(); + CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION); + stats.hashBlock = GetBestBlock()->GetBlockHash(); + ss << stats.hashBlock; + int64 nTotalAmount = 0; while (pcursor->Valid()) { + boost::this_thread::interruption_point(); try { leveldb::Slice slKey = pcursor->key(); CDataStream ssKey(slKey.data(), slKey.data()+slKey.size(), SER_DISK, CLIENT_VERSION); char chType; ssKey >> chType; - if (chType == 'c' && !fRequestShutdown) { + if (chType == 'c') { leveldb::Slice slValue = pcursor->value(); CDataStream ssValue(slValue.data(), slValue.data()+slValue.size(), SER_DISK, CLIENT_VERSION); CCoins coins; ssValue >> coins; uint256 txhash; ssKey >> txhash; - + ss << txhash; + ss << VARINT(coins.nVersion); + ss << (coins.fCoinBase ? 'c' : 'n'); + ss << VARINT(coins.nHeight); stats.nTransactions++; - BOOST_FOREACH(const CTxOut &out, coins.vout) { - if (!out.IsNull()) + for (unsigned int i=0; iNext(); } catch (std::exception &e) { @@ -142,6 +157,8 @@ } delete pcursor; stats.nHeight = GetBestBlock()->nHeight; + stats.hashSerialized = ss.GetHash(); + stats.nTotalAmount = nTotalAmount; return true; } @@ -178,12 +195,13 @@ // Load mapBlockIndex while (pcursor->Valid()) { + boost::this_thread::interruption_point(); try { leveldb::Slice slKey = pcursor->key(); CDataStream ssKey(slKey.data(), slKey.data()+slKey.size(), SER_DISK, CLIENT_VERSION); char chType; ssKey >> chType; - if (chType == 'b' && !fRequestShutdown) { + if (chType == 'b') { leveldb::Slice slValue = pcursor->value(); CDataStream ssValue(slValue.data(), slValue.data()+slValue.size(), SER_DISK, CLIENT_VERSION); CDiskBlockIndex diskindex; diff -Nru bitcoin-0.8.1/src/txdb.h bitcoin-0.8.5/src/txdb.h --- bitcoin-0.8.1/src/txdb.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/txdb.h 2013-09-12 03:35:18.000000000 +0000 @@ -16,9 +16,9 @@ public: CCoinsViewDB(size_t nCacheSize, bool fMemory = false, bool fWipe = false); - bool GetCoins(uint256 txid, CCoins &coins); - bool SetCoins(uint256 txid, const CCoins &coins); - bool HaveCoins(uint256 txid); + bool GetCoins(const uint256 &txid, CCoins &coins); + bool SetCoins(const uint256 &txid, const CCoins &coins); + bool HaveCoins(const uint256 &txid); CBlockIndex *GetBestBlock(); bool SetBestBlock(CBlockIndex *pindex); bool BatchWrite(const std::map &mapCoins, CBlockIndex *pindex); diff -Nru bitcoin-0.8.1/src/ui_interface.h bitcoin-0.8.5/src/ui_interface.h --- bitcoin-0.8.1/src/ui_interface.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/ui_interface.h 2013-09-12 03:35:18.000000000 +0000 @@ -79,9 +79,6 @@ /** Progress message during initialization. */ boost::signals2::signal InitMessage; - /** Initiate client shutdown. */ - boost::signals2::signal QueueShutdown; - /** Translate a message to the native language of the user. */ boost::signals2::signal Translate; diff -Nru bitcoin-0.8.1/src/uint256.h bitcoin-0.8.5/src/uint256.h --- bitcoin-0.8.1/src/uint256.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/uint256.h 2013-09-12 03:35:18.000000000 +0000 @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -20,14 +21,14 @@ /** Base class without constructors for uint256 and uint160. - * This makes the compiler let u use it in a union. + * This makes the compiler let you use it in a union. */ template class base_uint { protected: enum { WIDTH=BITS/32 }; - unsigned int pn[WIDTH]; + uint32_t pn[WIDTH]; public: bool operator!() const @@ -55,6 +56,16 @@ return ret; } + double getdouble() const + { + double ret = 0.0; + double fact = 1.0; + for (int i = 0; i < WIDTH; i++) { + ret += fact * pn[i]; + fact *= 4294967296.0; + } + return ret; + } base_uint& operator=(uint64 b) { diff -Nru bitcoin-0.8.1/src/util.cpp bitcoin-0.8.5/src/util.cpp --- bitcoin-0.8.1/src/util.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/util.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -3,6 +3,16 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#ifndef WIN32 +// for posix_fallocate +#ifdef __linux__ +#define _POSIX_C_SOURCE 200112L +#endif +#include +#include +#include +#endif + #include "util.h" #include "sync.h" #include "version.h" @@ -64,8 +74,6 @@ bool fDebugNet = false; bool fPrintToConsole = false; bool fPrintToDebugger = false; -volatile bool fRequestShutdown = false; -bool fShutdown = false; bool fDaemon = false; bool fServer = false; bool fCommandLine = false; @@ -75,6 +83,7 @@ bool fLogTimestamps = false; CMedianFilter vTimeOffsets(200,0); volatile bool fReopenDebugLog = false; +bool fCachedPath[2] = {false, false}; // Init OpenSSL library multithreading support static CCriticalSection** ppmutexOpenSSL; @@ -1040,13 +1049,12 @@ static fs::path pathCached[2]; static CCriticalSection csPathCached; - static bool cachedPath[2] = {false, false}; fs::path &path = pathCached[fNetSpecific]; // This can be called during exceptions by printf, so we cache the // value so we don't have to do memory allocations after that. - if (cachedPath[fNetSpecific]) + if (fCachedPath[fNetSpecific]) return path; LOCK(csPathCached); @@ -1065,7 +1073,7 @@ fs::create_directory(path); - cachedPath[fNetSpecific]=true; + fCachedPath[fNetSpecific] = true; return path; } @@ -1083,6 +1091,9 @@ if (!streamConfig.good()) return; // No bitcoin.conf file is OK + // clear path cache after loading config file + fCachedPath[0] = fCachedPath[1] = false; + set setOptions; setOptions.insert("*"); @@ -1152,9 +1163,68 @@ return nFilesize; } +bool TruncateFile(FILE *file, unsigned int length) { +#if defined(WIN32) + return _chsize(_fileno(file), length) == 0; +#else + return ftruncate(fileno(file), length) == 0; +#endif +} + + +// this function tries to raise the file descriptor limit to the requested number. +// It returns the actual file descriptor limit (which may be more or less than nMinFD) +int RaiseFileDescriptorLimit(int nMinFD) { +#if defined(WIN32) + return 2048; +#else + struct rlimit limitFD; + if (getrlimit(RLIMIT_NOFILE, &limitFD) != -1) { + if (limitFD.rlim_cur < (rlim_t)nMinFD) { + limitFD.rlim_cur = nMinFD; + if (limitFD.rlim_cur > limitFD.rlim_max) + limitFD.rlim_cur = limitFD.rlim_max; + setrlimit(RLIMIT_NOFILE, &limitFD); + getrlimit(RLIMIT_NOFILE, &limitFD); + } + return limitFD.rlim_cur; + } + return nMinFD; // getrlimit failed, assume it's fine +#endif +} + // this function tries to make a particular range of a file allocated (corresponding to disk space) // it is advisory, and the range specified in the arguments will never contain live data void AllocateFileRange(FILE *file, unsigned int offset, unsigned int length) { +#if defined(WIN32) + // Windows-specific version + HANDLE hFile = (HANDLE)_get_osfhandle(_fileno(file)); + LARGE_INTEGER nFileSize; + int64 nEndPos = (int64)offset + length; + nFileSize.u.LowPart = nEndPos & 0xFFFFFFFF; + nFileSize.u.HighPart = nEndPos >> 32; + SetFilePointerEx(hFile, nFileSize, 0, FILE_BEGIN); + SetEndOfFile(hFile); +#elif defined(MAC_OSX) + // OSX specific version + fstore_t fst; + fst.fst_flags = F_ALLOCATECONTIG; + fst.fst_posmode = F_PEOFPOSMODE; + fst.fst_offset = 0; + fst.fst_length = (off_t)offset + length; + fst.fst_bytesalloc = 0; + if (fcntl(fileno(file), F_PREALLOCATE, &fst) == -1) { + fst.fst_flags = F_ALLOCATEALL; + fcntl(fileno(file), F_PREALLOCATE, &fst); + } + ftruncate(fileno(file), fst.fst_length); +#elif defined(__linux__) + // Version using posix_fallocate + off_t nEndPos = (off_t)offset + length; + posix_fallocate(fileno(file), 0, nEndPos); +#else + // Fallback version + // TODO: just write one byte per block static const char buf[65536] = {}; fseek(file, offset, SEEK_SET); while (length > 0) { @@ -1164,6 +1234,7 @@ fwrite(buf, 1, now, file); // allowed to fail; this function is advisory anyway length -= now; } +#endif } void ShrinkDebugFile() @@ -1186,6 +1257,8 @@ fclose(file); } } + else if(file != NULL) + fclose(file); } @@ -1218,9 +1291,14 @@ static int64 nTimeOffset = 0; +int64 GetTimeOffset() +{ + return nTimeOffset; +} + int64 GetAdjustedTime() { - return GetTime() + nTimeOffset; + return GetTime() + GetTimeOffset(); } void AddTimeData(const CNetAddr& ip, int64 nTime) @@ -1276,12 +1354,26 @@ } } - - - - - - +uint32_t insecure_rand_Rz = 11; +uint32_t insecure_rand_Rw = 11; +void seed_insecure_rand(bool fDeterministic) +{ + //The seed values have some unlikely fixed points which we avoid. + if(fDeterministic) + { + insecure_rand_Rz = insecure_rand_Rw = 11; + } else { + uint32_t tmp; + do { + RAND_bytes((unsigned char*)&tmp, 4); + } while(tmp == 0 || tmp == 0x9068ffffU); + insecure_rand_Rz = tmp; + do { + RAND_bytes((unsigned char*)&tmp, 4); + } while(tmp == 0 || tmp == 0x464fffffU); + insecure_rand_Rw = tmp; + } +} string FormatVersion(int nVersion) { @@ -1365,9 +1457,12 @@ // removed. pthread_set_name_np(pthread_self(), name); -// This is XCode 10.6-and-later; bring back if we drop 10.5 support: -// #elif defined(MAC_OSX) -// pthread_setname_np(name); +#elif defined(MAC_OSX) && defined(__MAC_OS_X_VERSION_MAX_ALLOWED) + +// pthread_setname_np is XCode 10.6-and-later +#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 + pthread_setname_np(name); +#endif #else // Prevent warnings for unused parameters... diff -Nru bitcoin-0.8.1/src/util.h bitcoin-0.8.5/src/util.h --- bitcoin-0.8.1/src/util.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/util.h 2013-09-12 03:35:18.000000000 +0000 @@ -7,6 +7,8 @@ #include "uint256.h" +#include + #ifndef WIN32 #include #include @@ -15,9 +17,12 @@ typedef int pid_t; /* define for Windows compatibility */ #endif #include +#include +#include #include #include +#include #include #include #include @@ -98,13 +103,20 @@ #endif #else #define MAX_PATH 1024 -inline void Sleep(int64 n) +#endif + +inline void MilliSleep(int64 n) { - /*Boost has a year 2038 problem— if the request sleep time is past epoch+2^31 seconds the sleep returns instantly. - So we clamp our sleeps here to 10 years and hope that boost is fixed by 2028.*/ - boost::thread::sleep(boost::get_system_time() + boost::posix_time::milliseconds(n>315576000000LL?315576000000LL:n)); -} +// Boost's sleep_for was uninterruptable when backed by nanosleep from 1.50 +// until fixed in 1.52. Use the deprecated sleep method for the broken case. +// See: https://svn.boost.org/trac/boost/ticket/7238 + +#if BOOST_VERSION >= 105000 && (!defined(BOOST_HAS_NANOSLEEP) || BOOST_VERSION >= 105200) + boost::this_thread::sleep_for(boost::chrono::milliseconds(n)); +#else + boost::this_thread::sleep(boost::posix_time::milliseconds(n)); #endif +} /* This GNU C extension enables the compiler to check the format string against the parameters provided. * X is the number of the "format string" parameter, and Y is the number of the first variadic parameter. @@ -129,8 +141,6 @@ extern bool fDebugNet; extern bool fPrintToConsole; extern bool fPrintToDebugger; -extern volatile bool fRequestShutdown; -extern bool fShutdown; extern bool fDaemon; extern bool fServer; extern bool fCommandLine; @@ -193,6 +203,8 @@ bool WildcardMatch(const std::string& str, const std::string& mask); void FileCommit(FILE *fileout); int GetFilesize(FILE* file); +bool TruncateFile(FILE *file, unsigned int length); +int RaiseFileDescriptorLimit(int nMinFD); void AllocateFileRange(FILE *file, unsigned int offset, unsigned int length); bool RenameOver(boost::filesystem::path src, boost::filesystem::path dest); boost::filesystem::path GetDefaultDataDir(); @@ -212,6 +224,7 @@ int64 GetTime(); void SetMockTime(int64 nMockTimeIn); int64 GetAdjustedTime(); +int64 GetTimeOffset(); std::string FormatFullVersion(); std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector& comments); void AddTimeData(const CNetAddr& ip, int64 nTime); @@ -403,13 +416,42 @@ */ bool SoftSetBoolArg(const std::string& strArg, bool fValue); +/** + * MWC RNG of George Marsaglia + * This is intended to be fast. It has a period of 2^59.3, though the + * least significant 16 bits only have a period of about 2^30.1. + * + * @return random value + */ +extern uint32_t insecure_rand_Rz; +extern uint32_t insecure_rand_Rw; +static inline uint32_t insecure_rand(void) +{ + insecure_rand_Rz = 36969 * (insecure_rand_Rz & 65535) + (insecure_rand_Rz >> 16); + insecure_rand_Rw = 18000 * (insecure_rand_Rw & 65535) + (insecure_rand_Rw >> 16); + return (insecure_rand_Rw << 16) + insecure_rand_Rz; +} +/** + * Seed insecure_rand using the random pool. + * @param Deterministic Use a determinstic seed + */ +void seed_insecure_rand(bool fDeterministic=false); - - - - - +/** + * Timing-attack-resistant comparison. + * Takes time proportional to length + * of first argument. + */ +template +bool TimingResistantEqual(const T& a, const T& b) +{ + if (b.size() == 0) return a.size() == 0; + size_t accumulator = a.size() ^ b.size(); + for (size_t i = 0; i < a.size(); i++) + accumulator |= a[i] ^ b[i%b.size()]; + return accumulator == 0; +} /** Median filter over a stream of values. * Returns the median of the last N numbers @@ -506,5 +548,60 @@ return (value<<16) | (value>>16); } -#endif +// Standard wrapper for do-something-forever thread functions. +// "Forever" really means until the thread is interrupted. +// Use it like: +// new boost::thread(boost::bind(&LoopForever, "dumpaddr", &DumpAddresses, 900000)); +// or maybe: +// boost::function f = boost::bind(&FunctionWithArg, argument); +// threadGroup.create_thread(boost::bind(&LoopForever >, "nothing", f, milliseconds)); +template void LoopForever(const char* name, Callable func, int64 msecs) +{ + std::string s = strprintf("bitcoin-%s", name); + RenameThread(s.c_str()); + printf("%s thread start\n", name); + try + { + while (1) + { + MilliSleep(msecs); + func(); + } + } + catch (boost::thread_interrupted) + { + printf("%s thread stop\n", name); + throw; + } + catch (std::exception& e) { + PrintException(&e, name); + } + catch (...) { + PrintException(NULL, name); + } +} +// .. and a wrapper that just calls func once +template void TraceThread(const char* name, Callable func) +{ + std::string s = strprintf("bitcoin-%s", name); + RenameThread(s.c_str()); + try + { + printf("%s thread start\n", name); + func(); + printf("%s thread exit\n", name); + } + catch (boost::thread_interrupted) + { + printf("%s thread interrupt\n", name); + throw; + } + catch (std::exception& e) { + PrintException(&e, name); + } + catch (...) { + PrintException(NULL, name); + } +} +#endif diff -Nru bitcoin-0.8.1/src/version.cpp bitcoin-0.8.5/src/version.cpp --- bitcoin-0.8.1/src/version.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/version.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -36,7 +36,7 @@ // git will put "#define GIT_ARCHIVE 1" on the next line inside archives. #define GIT_ARCHIVE 1 #ifdef GIT_ARCHIVE -# define GIT_COMMIT_ID "34d62a8" +# define GIT_COMMIT_ID "ef14a26" # define GIT_COMMIT_DATE "$Format:%cD" #endif diff -Nru bitcoin-0.8.1/src/wallet.cpp bitcoin-0.8.5/src/wallet.cpp --- bitcoin-0.8.1/src/wallet.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/wallet.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -8,6 +8,7 @@ #include "crypter.h" #include "ui_interface.h" #include "base58.h" +#include using namespace std; @@ -70,6 +71,11 @@ return false; } +bool CWallet::LoadCryptedKey(const CPubKey &vchPubKey, const std::vector &vchCryptedSecret) +{ + return CCryptoKeyStore::AddCryptedKey(vchPubKey, vchCryptedSecret); +} + bool CWallet::AddCScript(const CScript& redeemScript) { if (!CCryptoKeyStore::AddCScript(redeemScript)) @@ -419,7 +425,7 @@ } else printf("AddToWallet() : found %s in block %s not in index\n", - wtxIn.GetHash().ToString().substr(0,10).c_str(), + wtxIn.GetHash().ToString().c_str(), wtxIn.hashBlock.ToString().c_str()); } } @@ -448,7 +454,7 @@ } //// debug print - printf("AddToWallet %s %s%s\n", wtxIn.GetHash().ToString().substr(0,10).c_str(), (fInsertedNew ? "new" : ""), (fUpdated ? "update" : "")); + printf("AddToWallet %s %s%s\n", wtxIn.GetHash().ToString().c_str(), (fInsertedNew ? "new" : ""), (fUpdated ? "update" : "")); // Write to disk if (fInsertedNew || fUpdated) @@ -456,17 +462,19 @@ return false; #ifndef QT_GUI // If default receiving address gets used, replace it with a new one - CScript scriptDefaultKey; - scriptDefaultKey.SetDestination(vchDefaultKey.GetID()); - BOOST_FOREACH(const CTxOut& txout, wtx.vout) - { - if (txout.scriptPubKey == scriptDefaultKey) + if (vchDefaultKey.IsValid()) { + CScript scriptDefaultKey; + scriptDefaultKey.SetDestination(vchDefaultKey.GetID()); + BOOST_FOREACH(const CTxOut& txout, wtx.vout) { - CPubKey newDefaultKey; - if (GetKeyFromPool(newDefaultKey, false)) + if (txout.scriptPubKey == scriptDefaultKey) { - SetDefaultKey(newDefaultKey); - SetAddressBookName(vchDefaultKey.GetID(), ""); + CPubKey newDefaultKey; + if (GetKeyFromPool(newDefaultKey, false)) + { + SetDefaultKey(newDefaultKey); + SetAddressBookName(vchDefaultKey.GetID(), ""); + } } } } @@ -476,6 +484,16 @@ // Notify UI of new or updated transaction NotifyTransactionChanged(this, hash, fInsertedNew ? CT_NEW : CT_UPDATED); + + // notify an external script when a wallet transaction comes in or is updated + std::string strCmd = GetArg("-walletnotify", ""); + + if ( !strCmd.empty()) + { + boost::replace_all(strCmd, "%s", wtxIn.GetHash().GetHex()); + boost::thread t(runCommand, strCmd); // thread runs free + } + } return true; } @@ -834,7 +852,7 @@ { if (GetDepthInMainChain() == 0) { uint256 hash = GetHash(); - printf("Relaying wtx %s\n", hash.ToString().substr(0,10).c_str()); + printf("Relaying wtx %s\n", hash.ToString().c_str()); RelayTransaction((CTransaction)*this, hash); } } @@ -899,7 +917,7 @@ for (map::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) { const CWalletTx* pcoin = &(*it).second; - if (pcoin->IsFinal() && pcoin->IsConfirmed()) + if (pcoin->IsConfirmed()) nTotal += pcoin->GetAvailableCredit(); } } @@ -973,6 +991,8 @@ vfBest.assign(vValue.size(), true); nBest = nTotalLower; + seed_insecure_rand(); + for (int nRep = 0; nRep < iterations && nBest != nTargetValue; nRep++) { vfIncluded.assign(vValue.size(), false); @@ -982,7 +1002,13 @@ { for (unsigned int i = 0; i < vValue.size(); i++) { - if (nPass == 0 ? rand() % 2 : !vfIncluded[i]) + //The solver here uses a randomized algorithm, + //the randomness serves no real security purpose but is just + //needed to prevent degenerate behavior and it is important + //that the rng fast. We do not use a constant random sequence, + //because there may be some privacy improvement by making + //the selection random. + if (nPass == 0 ? insecure_rand()&1 : !vfIncluded[i]) { nTotal += vValue[i].first; vfIncluded[i] = true; @@ -1115,17 +1141,24 @@ -bool CWallet::CreateTransaction(const vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet) +bool CWallet::CreateTransaction(const vector >& vecSend, + CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, std::string& strFailReason) { int64 nValue = 0; BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) { if (nValue < 0) + { + strFailReason = _("Transaction amounts must be positive"); return false; + } nValue += s.second; } if (vecSend.empty() || nValue < 0) + { + strFailReason = _("Transaction amounts must be positive"); return false; + } wtxNew.BindWallet(this); @@ -1143,13 +1176,24 @@ double dPriority = 0; // vouts to the payees BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) - wtxNew.vout.push_back(CTxOut(s.second, s.first)); + { + CTxOut txout(s.second, s.first); + if (txout.IsDust()) + { + strFailReason = _("Transaction amount too small"); + return false; + } + wtxNew.vout.push_back(txout); + } // Choose coins to use set > setCoins; int64 nValueIn = 0; if (!SelectCoins(nTotalValue, setCoins, nValueIn)) + { + strFailReason = _("Insufficient funds"); return false; + } BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { int64 nCredit = pcoin.first->vout[pcoin.second].nValue; @@ -1160,12 +1204,12 @@ } int64 nChange = nValueIn - nValue - nFeeRet; - // if sub-cent change is required, the fee must be raised to at least MIN_TX_FEE + // if sub-cent change is required, the fee must be raised to at least nMinTxFee // or until nChange becomes zero // NOTE: this depends on the exact behaviour of GetMinFee - if (nFeeRet < MIN_TX_FEE && nChange > 0 && nChange < CENT) + if (nFeeRet < CTransaction::nMinTxFee && nChange > 0 && nChange < CENT) { - int64 nMoveToFee = min(nChange, MIN_TX_FEE - nFeeRet); + int64 nMoveToFee = min(nChange, CTransaction::nMinTxFee - nFeeRet); nChange -= nMoveToFee; nFeeRet += nMoveToFee; } @@ -1180,8 +1224,8 @@ // post-backup change. // Reserve a new key pair from key pool - CPubKey vchPubKey = reservekey.GetReservedKey(); - // assert(mapKeys.count(vchPubKey)); + CPubKey vchPubKey; + assert(reservekey.GetReservedKey(vchPubKey)); // should never fail, as we just unlocked // Fill a vout to ourself // TODO: pass in scriptChange instead of reservekey so @@ -1189,9 +1233,21 @@ CScript scriptChange; scriptChange.SetDestination(vchPubKey.GetID()); - // Insert change txn at random position: - vector::iterator position = wtxNew.vout.begin()+GetRandInt(wtxNew.vout.size()+1); - wtxNew.vout.insert(position, CTxOut(nChange, scriptChange)); + CTxOut newTxOut(nChange, scriptChange); + + // Never create dust outputs; if we would, just + // add the dust to the fee. + if (newTxOut.IsDust()) + { + nFeeRet += nChange; + reservekey.ReturnKey(); + } + else + { + // Insert change txn at random position: + vector::iterator position = wtxNew.vout.begin()+GetRandInt(wtxNew.vout.size()+1); + wtxNew.vout.insert(position, newTxOut); + } } else reservekey.ReturnKey(); @@ -1204,12 +1260,18 @@ int nIn = 0; BOOST_FOREACH(const PAIRTYPE(const CWalletTx*,unsigned int)& coin, setCoins) if (!SignSignature(*this, *coin.first, wtxNew, nIn++)) + { + strFailReason = _("Signing transaction failed"); return false; + } // Limit size unsigned int nBytes = ::GetSerializeSize(*(CTransaction*)&wtxNew, SER_NETWORK, PROTOCOL_VERSION); if (nBytes >= MAX_STANDARD_TX_SIZE) + { + strFailReason = _("Transaction too large"); return false; + } dPriority /= nBytes; // Check that enough fee is included @@ -1233,11 +1295,12 @@ return true; } -bool CWallet::CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet) +bool CWallet::CreateTransaction(CScript scriptPubKey, int64 nValue, + CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, std::string& strFailReason) { vector< pair > vecSend; vecSend.push_back(make_pair(scriptPubKey, nValue)); - return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet); + return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet, strFailReason); } // Call after CreateTransaction unless you want to abort @@ -1303,14 +1366,12 @@ printf("SendMoney() : %s", strError.c_str()); return strError; } - if (!CreateTransaction(scriptPubKey, nValue, wtxNew, reservekey, nFeeRequired)) + string strError; + if (!CreateTransaction(scriptPubKey, nValue, wtxNew, reservekey, nFeeRequired, strError)) { - string strError; if (nValue + nFeeRequired > GetBalance()) strError = strprintf(_("Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!"), FormatMoney(nFeeRequired).c_str()); - else - strError = _("Error: Transaction creation failed!"); - printf("SendMoney() : %s", strError.c_str()); + printf("SendMoney() : %s\n", strError.c_str()); return strError; } @@ -1364,7 +1425,6 @@ return nLoadWalletRet; fFirstRunRet = !vchDefaultKey.IsValid(); - NewThread(ThreadFlushWalletDB, &strWalletFile); return DB_LOAD_OK; } @@ -1719,7 +1779,7 @@ return ret; } -CPubKey CReserveKey::GetReservedKey() +bool CReserveKey::GetReservedKey(CPubKey& pubkey) { if (nIndex == -1) { @@ -1727,14 +1787,17 @@ pwallet->ReserveKeyFromKeyPool(nIndex, keypool); if (nIndex != -1) vchPubKey = keypool.vchPubKey; - else - { - printf("CReserveKey::GetReservedKey(): Warning: Using default key instead of a new key, top up your keypool!"); - vchPubKey = pwallet->vchDefaultKey; + else { + if (pwallet->vchDefaultKey.IsValid()) { + printf("CReserveKey::GetReservedKey(): Warning: Using default key instead of a new key, top up your keypool!"); + vchPubKey = pwallet->vchDefaultKey; + } else + return false; } } assert(vchPubKey.IsValid()); - return vchPubKey; + pubkey = vchPubKey; + return true; } void CReserveKey::KeepKey() diff -Nru bitcoin-0.8.1/src/wallet.h bitcoin-0.8.5/src/wallet.h --- bitcoin-0.8.1/src/wallet.h 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/wallet.h 2013-09-12 03:35:18.000000000 +0000 @@ -145,7 +145,7 @@ // Adds an encrypted key to the store, and saves it to disk. bool AddCryptedKey(const CPubKey &vchPubKey, const std::vector &vchCryptedSecret); // Adds an encrypted key to the store, without saving it to disk (used by LoadWallet) - bool LoadCryptedKey(const CPubKey &vchPubKey, const std::vector &vchCryptedSecret) { SetMinVersion(FEATURE_WALLETCRYPT); return CCryptoKeyStore::AddCryptedKey(vchPubKey, vchCryptedSecret); } + bool LoadCryptedKey(const CPubKey &vchPubKey, const std::vector &vchCryptedSecret); bool AddCScript(const CScript& redeemScript); bool LoadCScript(const CScript& redeemScript) { return CCryptoKeyStore::AddCScript(redeemScript); } @@ -178,8 +178,10 @@ int64 GetBalance() const; int64 GetUnconfirmedBalance() const; int64 GetImmatureBalance() const; - bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet); - bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet); + bool CreateTransaction(const std::vector >& vecSend, + CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, std::string& strFailReason); + bool CreateTransaction(CScript scriptPubKey, int64 nValue, + CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, std::string& strFailReason); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false); std::string SendMoneyToDestination(const CTxDestination &address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false); @@ -327,12 +329,11 @@ ~CReserveKey() { - if (!fShutdown) - ReturnKey(); + ReturnKey(); } void ReturnKey(); - CPubKey GetReservedKey(); + bool GetReservedKey(CPubKey &pubkey); void KeepKey(); }; @@ -705,7 +706,7 @@ std::string ToString() const { - return strprintf("COutput(%s, %d, %d) [%s]", tx->GetHash().ToString().substr(0,10).c_str(), i, nDepth, FormatMoney(tx->vout[i].nValue).c_str()); + return strprintf("COutput(%s, %d, %d) [%s]", tx->GetHash().ToString().c_str(), i, nDepth, FormatMoney(tx->vout[i].nValue).c_str()); } void print() const diff -Nru bitcoin-0.8.1/src/walletdb.cpp bitcoin-0.8.5/src/walletdb.cpp --- bitcoin-0.8.1/src/walletdb.cpp 2013-03-17 19:35:36.000000000 +0000 +++ bitcoin-0.8.5/src/walletdb.cpp 2013-09-12 03:35:18.000000000 +0000 @@ -240,7 +240,7 @@ //printf(" %12"PRI64d" %s %s %s\n", // wtx.vout[0].nValue, // DateTimeStrFormat("%Y-%m-%d %H:%M:%S", wtx.GetBlockTime()).c_str(), - // wtx.hashBlock.ToString().substr(0,20).c_str(), + // wtx.hashBlock.ToString().c_str(), // wtx.mapValue["message"].c_str()); } else if (strType == "acentry") @@ -451,8 +451,10 @@ } pcursor->close(); } - catch (...) - { + catch (boost::thread_interrupted) { + throw; + } + catch (...) { result = DB_CORRUPT; } @@ -482,12 +484,11 @@ return result; } -void ThreadFlushWalletDB(void* parg) +void ThreadFlushWalletDB(const string& strFile) { // Make this thread recognisable as the wallet flushing thread RenameThread("bitcoin-wallet"); - const string& strFile = ((const string*)parg)[0]; static bool fOneThread; if (fOneThread) return; @@ -498,9 +499,9 @@ unsigned int nLastSeen = nWalletDBUpdated; unsigned int nLastFlushed = nWalletDBUpdated; int64 nLastWalletUpdate = GetTime(); - while (!fShutdown) + while (true) { - Sleep(500); + MilliSleep(500); if (nLastSeen != nWalletDBUpdated) { @@ -522,8 +523,9 @@ mi++; } - if (nRefCount == 0 && !fShutdown) + if (nRefCount == 0) { + boost::this_thread::interruption_point(); map::iterator mi = bitdb.mapFileUseCount.find(strFile); if (mi != bitdb.mapFileUseCount.end()) { @@ -548,7 +550,7 @@ { if (!wallet.fFileBacked) return false; - while (!fShutdown) + while (true) { { LOCK(bitdb.cs_db); @@ -579,7 +581,7 @@ } } } - Sleep(100); + MilliSleep(100); } return false; } @@ -620,11 +622,11 @@ bool fSuccess = allOK; Db* pdbCopy = new Db(&dbenv.dbenv, 0); - int ret = pdbCopy->open(NULL, // Txn pointer + int ret = pdbCopy->open(NULL, // Txn pointer filename.c_str(), // Filename - "main", // Logical db name - DB_BTREE, // Database type - DB_CREATE, // Flags + "main", // Logical db name + DB_BTREE, // Database type + DB_CREATE, // Flags 0); if (ret > 0) {